Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
RANGING SYSTEM AND METHOD
Document Type and Number:
WIPO Patent Application WO/2007/101211
Kind Code:
A3
Abstract:
A system and method for estimating the range between two devices performs two or more ranging estimates with subsequent estimates performed using a clock that is offset in phase with respect to a prior estimate. The subsequent estimate allows estimate uncertainties due to a finite clock resolution to be reduced and can yield a range estimate with a higher degree of confidence. In one embodiment, these additional ranging estimates are performed at n/N (for n = 1,... N- 1, with N>1 and a positive integer) clock-period offset introduced in the device. The clock-period offset can be implemented using a number of approaches, and the effect of clock drift in the devices due to relative clock- frequency offset can also be determined. To eliminate the bias due to clock-frequency offset, a system and method to estimate the clock-frequency offset is also presented.

Inventors:
HEIDARI-BATENI GHOBAD (US)
AHMED KHAWZA IFTEKHAR-UDDIN (US)
Application Number:
PCT/US2007/062901
Publication Date:
November 01, 2007
Filing Date:
February 27, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
OLYMPUS COMM TECHNOLOGY OF AME (US)
HEIDARI-BATENI GHOBAD (US)
AHMED KHAWZA IFTEKHAR-UDDIN (US)
International Classes:
G01S13/76
Foreign References:
US20040178947A12004-09-16
US5959568A1999-09-28
US20030232620A12003-12-18
US6087973A2000-07-11
Attorney, Agent or Firm:
YANNUZZI, Daniel, N. (333 S. Hope Street 48th Floo, Los Angeles CA, US)
Download PDF:
Claims:
What is claimed is:

1. A method of determining a distance between first and second wireless communication devices, comprising the steps of: conducting a first estimate of a time of flight of a signal between the first and second wireless communication devices; conducting subsequent estimates of time of flight of signals between the first and second wireless communication devices, wherein the subsequent estimates are each performed with a clock phase in one of the devices that is offset relative its phase in a prior estimate; computing differences between the first time of flight estimate and the subsequent estimates; and computing a refined estimate of the time of flight of a signal between the first and second wireless communication devices based on the differences between the subsequent and prior time-of- flight estimates; computing a distance based on the refined time of flight estimate.

2. The method of claim 1, further comprising a step of determining a range of inaccuracies associated with the time-of-flight estimates, based on the differences between the time-of-flight estimates, and using this range in computing the refined estimate.

3. The method of claim 1, wherein the step of computing the refined estimate comprises the steps of: determining the difference D n / N between the zero-th (n=0) and the nth of the JV time-

of-flight estimates as D n . N = 2 u OF - (t Of )^ J / 0 , n = 0, 1, • • • , N - 1 , where OF is the zero-th

(n=0) time of flight estimate, { OF ) n / N is the wth estimate,^ is the clock frequency; and computing a refined estimate of the time of flight of the signal based on the determined differences, wherein the refined estimate is determined as

where α , β and c are constants.

4. The method of claim 1, wherein the clock phase offset for a subsequent estimate is 1/N clock cycles.

5. The method of claim 1 , wherein the clock phase offset is introduced by at least one of hardware switching, control logic, clock edge selection, clock drift and other clock anomalies that produce a clock offset.

6. The method of claim 1 , wherein the differences D n/N measured are expressed in terms of a predetermined set of discrete values, and the refined estimate is determined based on the sequence of determined differences.

7. The method of claim 1, wherein each calculated difference is determined as a discrete value, and further comprising the step of determining a sequence of discrete values given by a sequence of difference estimates D n/M for the range of n=l to N-I.

8. The method of claim 7, wherein a discrete value for a difference estimate is determined by calculating the difference as a function of the clock offset between the first and second devices, and a fractional portion of the time-of-flight.

9. The method of claim 1 , wherein the discrete value for a difference estimate is chosen from the set of 1, 0 and -1, and the refined estimate is determined based on the sequence of O n m as given in the following table:

10. The method of claim 1, further comprising the step of determining an amount of clock drift between the first and second devices over a plurality of ranging estimates.

11. The method of claim 10, wherein the amount of clock drift between the first and second devices is computed as

2T(K -K 1 ) ^ (k -ϊ)

12. The method of claim 1 , further comprising the step of averaging estimate results over multiple estimates to reduce the effects of timing uncertainties due to the presence of finite clock resolution.

13. The method of claim 1 , wherein if multiple signals are received for an estimate step, the first signal received for that estimate step is used to measure a time of arrival for that step.

14. The method of claim 1, wherein if multiple signals are received for an estimate step, a subset of one or more of the multiple signals received for that estimate step is used to measure a time of arrival for that step.

15. The method of claim 1, wherein if multiple signals are received for an estimate step, all of the signals received for that estimate step are used to measure a time of arrival for that step.

16. The method of claim 1, wherein if multiple signals are received for an estimate step, the signal having the greatest signal strength for that estimate step is used to measure a time of arrival for that step.

17. The method of claim 1 , wherein a transmit time used in conducting a time-of- flight estimate is calibrated to compensate for a time delay between the generation of the signal in a transmitting device and the transmission time from the antenna of that device.

18. The method of claim 1 , wherein a receive time used in conducting a time-of- flight estimate is calibrated to compensate for a time

delay between the reception time of a signal at the antenna of a device and the time the signal is detected by the receiver.

19. The method of claim 1, further comprising the step of compensating for sampling frequency offset between the first and second devices by determining a bias based on differences between estimates obtained using clock offset and the first estimate.

20. The method of claim 1 , further comprising the step of compensating for sampling frequency offset between the first and second devices by determining a bias based on the estimate of the clock frequency offset as

f f -~ f . f _ T P rocess , Af l O¥ J O ~~ 1 OFc J fS j f ^y

where f 0Fc is an estimate of time of flight without clock frequency offset compensation, Af is an estimate of clock frequency offset and r prO cess is a processing time between the packet reception and transmission.

21. A method of determining a time of flight between first and second wireless communication devices, comprising the steps of: conducting a first estimate of a time of flight of a signal between the first and second wireless communication devices; conducting at least one subsequent estimate of a time of flight of a signal between the first and second wireless communication devices, wherein the subsequent estimates are performed with a clock phase in the first device that is offset relative to a prior estimate; and computing a refined estimate of the time of flight of a signal between the first and second wireless communication devices based on the relationship between the subsequent and prior time-of-flight estimates.

22. The method of claim 21 , wherein the step of computing the refined estimate comprises the steps of:

determining the difference between the first time-of- flight estimate and a subsequent time-of-flight estimate; computing a refined estimate of the time of flight of the signal based on the difference between the first and subsequent time-of-flight estimates.

23. The method of claim 21 , wherein the step of computing the refined estimate comprises the steps of: determining a difference between a subsequent time-of-flight estimate and a prior time-of-flight estimate; determining a mean value of an uncertainty due to a finite clock resolution for the difference between time-of-flight estimates; and adjusting the first estimate by an amount based on the determined mean value of uncertainty.

24. The method of claim 23, wherein a difference between time- of-flight estimates determined for each subsequent estimate as a difference between that subsequent estimate and the first estimate.

25. The method of claim 21, further comprising a step of determining a range of inaccuracies associated with the estimate, based on a difference between the first and second time-of-flight estimates and using this range in determining the refined estimate.

26. The method of claim 21 , wherein the step of computing the refined estimate comprises the steps of: determining the difference Dl/2 between the first time-of-flight estimate and a

second time-of- flight estimate in cycles, a he is the first time-of-

flight estimate, ( 0F )\n is the second time-of-flight estimate andfo is the clock frequency; and

computing a refined estimate, OF , of the time of flight of the signal based on the difference between the first and second time of flight estimates as

where c, , c, and c, are constants.

27. The method of claim 26, wherein c = - 3/4, c 2 = - 1/2 and

C 3 = - 1/4.

28. The method of claim 21, wherein the step of computing the refined estimate comprises the steps of: determining the difference between the zero-th and the «th of iV time-of- flight

estimates in cycles a is the first time of flight estimate, ( Of ) n/N is the nth estimate, fo is the clock frequency; and computing a refined estimate of the time of flight of the signal based on the determined differences, wherein the refined estimate is determined as

where α , β and c are constants.

29. The method of claim 21 , wherein the clock phase offset for a subsequent estimate is 1/N clock cycles.

30. The method of claim 21 , wherein the clock phase offset is introduced by at least one of hardware switching, control logic, clock edge selection, and clock drift.

31. A method of determining a distance between first and second wireless communication devices, comprising the steps of: the first device sending a first signal to the second device over a wireless communication channel; the first device receiving a second signal from the second device in response to the second signal; determining a first number of clock cycles elapsed between sending the first signal and receiving the second signal; the first device sending a third signal to the second device over a wireless communication channel; the first device receiving a fourth signal from the second device in response to the third signal; determining a second number clock cycles elapsed between sending the third signal and receiving the fourth signal; and determining a refined time-of- flight estimate between the first and second devices as a function of the first and second numbers of clock cycles.

32. The method of claim 31 , wherein the step of determining a refined time-of- flight estimate comprises determining a refined time-of-fiight estimate between the first and second devices based on the difference between the first and second numbers of clock cycles.

33. The method of claim 32, wherein the refined time of flight estimate is computed as: the original time-of-flight estimate C 1 where the difference between the first and second numbers of clock cycles is one clock cycle; the original time-of-flight estimate c 2 where the difference between the first and second numbers of clock cycles is zero clock cycles; and the original time-of-flight estimate C 3 where the difference between the first and second numbers of clock cycles is negative one clock cycle, where C 1 , C 2 , and C 3 , are constants.

34. The method of claim 32, wherein the refined time of flight estimate is computed as: the original time-of-flight estimate -3/4 where the difference between the first and second numbers of clock cycles is one clock

cycle; the original time-of-flight estimate -1/2 where the difference between the first and second numbers of clock cycles is zero clock cycles; and the original time-of-flight estimate -1/4 where the difference between the first and second numbers of clock cycles is negative one clock cycle.

35. A system for determining a distance between first and second wireless communication devices, comprising: means for conducting a first estimate of a time of flight of a signal between the first and second wireless communication devices; means for conducting at least one subsequent estimate of a time of flight of a signal between the first and second wireless communication devices, wherein the subsequent estimates are performed with a clock phase in the first device that is offset relative to a prior estimate; and means for computing a refined estimate of the time of flight of a signal between the first and second wireless communication devices based on a function of the time-of-flight estimates.

36. The system of claim 35, wherein the means for computing the refined estimate comprises: means for determining the difference between the first time-of-flight estimate and a second time-of-flight estimate; means for computing a refined estimate of the time of flight of the signal based on the difference between the first and second time-of-flight estimates.

37. The system of claim 35, wherein the means for computing the refined estimate comprises: means for determining a difference between a subsequent time-of-flight estimate and a prior time-of-flight estimate; means for determining a mean value of an uncertainty due to a finite clock resolution for the difference between time-of-flight estimates; and means for adjusting the first estimate by an amount based on the determined mean value of uncertainty.

38. The system of claim 37, wherein the amount of clock phase offset for a subsequent estimate is 1/N clock cycles.

39. The system of claim 35, wherein the means for computing the refined estimate comprises: means for determining the difference between the first time-of-flight estimate and a

second time-of-flight estimate in cycles, a . ; where 0F is the first time-of-

flight estimate, ( OF )^ 2 is the second time-of-flight estimate and/ø is the clock frequency; and means for computing a refined estimate of the time of flight of the signal the difference between the first and second time-of-flight estimates as

where c, , c 2 and c 3 are constants.

40. The method of claim 39, wherein = - 1/2 and = - 1/4.

41. The system of claim 35, wherein the means for computing the refined estimate comprises: means for determining the difference between the time-of-flight estimates in cycles,

wher s the first time-of-flight estimate,^ is the clock frequency, and D n /N is difference between the nth of N estimates and the zero-th estimate; and means for computing a refined estimate of the time of flight of the signal based on the determined differences, wherein the refined estimate is determined as

where α , β and c are constants.

42. The system of claim 35, wherein the clock phase offset for a subsequent estimate is 1/N clock cycles.

43. The system of claim 35, wherein the clock phase offset is introduced by at least one of hardware switching, control logic, clock edge selection, and drift.

Description:

RANGING SYSTEM AND METHOD

FIELD OF THE INVENTION

10001] The present invention relates generally to communication channels, and more particularly to a system and method for performing range calculations among two or more electronic devices.

BACKGROUND OF THE INVENTION

[0002J With the many continued advancements in communications technology, more and more devices are being introduced in both the consumer and commercial sectors with advanced communications capabilities. Additionally, advances in processing power and low-power consumption technologies, as well as advances in data coding techniques have led to the proliferation of wired and wireless communications capabilities on a more widespread basis.

[0003] For example, wired and wireless communication networks are now commonplace in many home and office environments. Such networks allow various heretofore independent devices to share data and other information to enhance productivity or simply to improve their convenience to the user. One such communication network that is gaining widespread popularity is an exemplary implementation of a wireless network such as that specified by the WiMedia-MBOA (Multiband OFDM Alliance). Other exemplary networks include the Bluetooth® communications network and various IEEE standards-based networks such as 802.11 and 802.16 communications networks.

[0004] Computing the distance of a target wireless device from a reference wireless device is called ranging. Ranging can be performed by measuring the received signal strength (RSS) or the time of arrival (time-of-arrival) of the signal propagated between the target and reference node. The ranging accuracy using the received signal strength depends on the accurate modeling of path-loss and the propagation channel environment. On the other hand, the ranging accuracy using time-of-arrival typically depends on the estimation accuracy of time of arrival, because electromagnetic waves propagate at approximately the speed of light and thus a small error (in the nanosecond scale) in time translates to larger

error in distance. The estimation accuracy of time of arrival depends on the available signal bandwidth, and the accuracy and resolution of the sampling clock frequency. Therefore, ultra wideband (UWB) technology that occupies greater than 500 MHz bandwidth is suitable for ranging and provides centimeter-level accuracy. The proposed effort for IEEE 802.15.3a and WiMedia standardizes UWB technology to provide high-rate (>53.3 MB/s) wireless connectivity in wireless personal network (WPAN) and WiMedia has proposed two-way ranging (TWR) as an additional feature for UWB systems. Also, the specifications of IEEE 802.15.4a for low-rate (<250 KB/s) WPAN makes ranging mandatory.

[0005J Ranging using multiple reference devices can enable positioning. Computing the 2D/3D position of a target wireless device relative to a coordinate system commonly known to a set of reference devices is called positioning. One common positioning system is the Global Positioning System, or GPS. Geodesic positioning obtained by a GPS receiver requires synchronous signal form at least four satellites. Although, the coverage of GPS positioning is broad, it requires line-of-sight connectivity from the satellites that may not exist in geographic certain locations. Indoor coverage may suffer as well, such as in office building, shopping mall, warehouse, auditorium, indoor stadium, parking structure. Furthermore, GPS receivers are costly and provide only meter-level accuracy.

(0006J Another ranging technique is the local positioning systems (LPS). Local positioning systems can provide indoor positioning using an ad-hoc wireless sensor network. To provide different emerging applications of location awareness, the location of such sensors has to be accurate and automatically configurable. A host of applications can be envisioned using the LPS. For example: (i) LPS for public safety - placing a localizer along a trail to mark the route, locating fire fighters in a burning building, locating children lost in the mall or park, etc.; (ii) LPS for smart home applications - automatic door opening when the resident is in the vicinity, activating certain appliances or devices depending on resident location, timing adjustment of light, temperature and sound level per individual profile, finding personal item such as pets, keys, purse, luggage; (iii) LPS in inventory control - localizers for real-time inventory, differentiating the contents of one container from the others; locating book in the library, a document file in a law office; (iv) LPS for health care - hospital staff, patients and assets tracking, simplified record keeping and workflow, raising an alert if a staff had not check a particular patient, visitors tracking for security, automatic pop-up of patient record in tablet PC on doctor's visit; and (iv) LPS for

intelligent vehicle highway system - placing localizers along the side of a road to use as guide posts, placing localizers in vehicles to provide local intelligence for safety and provides centimeter level accuracy as opposed to meter level using GPS. Thus, ubiquitous use of position awareness implies local positioning systems which are expected to be low- cost, low-power, small-size and have scaleable accuracy.

[0007] Two-way ranging between a pair of devices has been used in various applications, including wireless networks. In general, ranging accuracy of the time-of- flight-based method depends on the signal bandwidth used in the transactions. However, assuming an operating bandwidth of the receiver to be higher than the signal bandwidth, the rate of the sampling clock affects the timing accuracy of ranging transactions - the higher the rate of the sampling clock, the higher the ranging accuracy. This is due to the fact that sampling with a higher clock frequency results in a more accurate timing resolution. However, due to the difficulty of accurately synchronizing all devices in certain applications, two-way ranging accuracies can be somewhat diminished. For example, if the respective clocks of the devices participating in the measurement have relative offset between them, a certain amount of error will be introduced in the measurement.

[0008] One way to improve the accuracy is to increase the frequency of the clock. At higher frequencies, the clock periods are shorter and thus the maximum offset is smaller. The higher clock frequency also makes time resolutions finer, reducing uncertainties related to time quantization noise. For example, using 528 MHz sampling clock rate gives the finite ranging resolution of 56.8 cm. Typically, the overall offset is statistically smaller as well. However, it is not always possible, practical or desirable to increase the rate of the sampling clock. Higher clock frequency requires higher complexity and higher power consumption in the device.

BRIEF SUMMARY OF THE INVENTION

[0009] The present invention is directed toward a system and method for determining or estimating the distance between two devices based on the elapsed time required for a signal to travel between those devices. More particularly, in one embodiment, the present invention provides an measurement or other estimate of distance between two wireless devices based on the time of flight of a signal from one device to the next. The time of flight can be measured on a round trip basis, and divided in half to determine the one-way

time of flight. In one embodiment, subsequent measurements are made to enhance the accuracy of the estimate. The subsequent measurements can be made with a phase offset introduced in a sampling clock so as to better account for uncertainties in the measurement process due to clock granularity.

[0010] In one embodiment the invention provides a system and method of determining a distance between first and second wireless communication devices, by conducting a first estimate of a time of flight of a signal between the first and second wireless communication devices, conducting at least one subsequent estimate of a time of flight of a signal between the first and second wireless communication devices, wherein the subsequent estimates are performed with a clock phase in the first device that is offset relative to a prior estimate, and computing a refined estimate of the time of flight of a signal between the first and second wireless communication devices as a function of the time-of- flight estimates. In one embodiment, the refined estimate can be computed by determining the difference between the first time-of-flight estimate and a second time-of-flight estimate and computing a refined estimate of the time of flight of the signal based on the difference between the first and second time-of-flight measurements.

[0011] In accordance with one embodiment of the invention, the refined estimate can be computed by determining a difference between a subsequent time-of-flight estimate and a prior time-of-flight estimate, determining a mean value of the uncertainty due to finite clock resolution in time-of-flight estimates, and adjusting the first time of flight estimate by an amount of clock cycles, wherein the amount of clock cycles is determined based on the differences between subsequent and prior time-of-flight estimates. The difference between time-of-flight estimates determined for each subsequent estimate can be determined as a difference between that subsequent estimate and the first estimate.

[0012] In one embodiment computing the refined estimate can be accomplished by determining the difference between the first time-of-flight estimate and a second time-of-

flight estimate in cycles, as ^ 0F ^ ov hn ) ° where 0F is the first time-of-flight

measurement, ( OF ) 1/2 is the second time-of-flight measurement and /^ is the clock frequency; and computing a refined estimate of the time of flight of the signal based on the difference between the first and second time-of-flight measurements as

[0013] In another embodiment computing the refined estimate can be accomplished by determining the difference between the first time-of-flight estimate and a second time-of-

flight estimate in cycles, the first time-of-flight measurement, ( 0F )ιa is the second time-of-flight measurement and/ 0 is the clock frequency; and computing a refined estimate of the time of flight of the signal based on the difference between the first and second time-of- flight measurements as

where c, , c 2 and c 3 are constants.

(0014] In accordance with one embodiment of the invention, computing the refined estimate can be accomplished by determining the difference between the time-of-flight

estimates in cycles, where 0F is the first time-of-flight measurement, fo is the clock frequency, and D n ^ , n = 0,1, • • • , TV " - 1 is the difference between the zero-th (n=0) estimate with no additional offset and an rø-th estimate with n IN offset; and computing a refined estimate of the time of flight of the signal based on the difference, wherein the refined estimate is detertnmed as

[0015] In another embodiment, the refined estimate is determined as

where α , β and c are constants.

[0016] Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The present invention, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or example embodiments of the invention. These drawings are provided to facilitate the reader's understanding of the invention and shall not be considered limiting of the breadth, scope, or applicability of the invention. It should be noted that for clarity and ease of illustration these drawings are not necessarily made to scale.

[0018] Figure 1 is a block diagram illustrating one possible configuration of a wireless network that can serve as an example environment in which the present invention can be implemented.

[0019] Figure 2 is a diagram illustrating an example of time-of-flight measurement using two-way packet transmission in accordance with one embodiment of the invention.

[0020] Figure 3 is a diagram illustrating an example timeline for two-way ranging in accordance with one embodiment of the invention.

[0021] Figure 4 is a flow diagram illustrating a process for two-way ranging in accordance with one embodiment of the invention.

(0022] Figure 5 is a flow diagram illustrating a process for improving accuracy with subsequent measurements in accordance with another embodiment of the invention.

[0023] Figure 6 is a diagram illustrating an example of inaccuracies, δ] and δa, due to finite clock resolution.

[0024] Figure 7(a) is a diagram illustrating an example of the ranging inaccuracy due to δi and 6 2 and insertion of 1/2 clock period time-offset in device 102 clock in accordance with one embodiment of the invention.

[0025] Figure 7(b) is a diagram illustrating an example of the relation between time- offset η and (η)i/ 2 - (with 1/2 clock-period offset) when Vi < η <\.

[0026] Figure 7(c) is a diagram illustrating an example of the relation between time- offset η and with 1/2 clock-period offset) wher

[0027] Figure 8 is an operational flow diagram illustrating a process according to one embodiment for improving ranging accuracy in accordance with the example embodiment illustrated in Figure 7.

[0028] Figure 9 is a diagram illustrating mapped in the (ε, η) plane for values of

[0029] Figure 10(a) is a diagram illustrating a case where the (ε, η) plane is separated with respect

[0030] Figure 10(b) is a diagram illustrating a case where the (ε, η) plane is separated with respect t

[0031] Figure 10(c), is a diagram illustrating a case where the (ε, η) plane is separated as a j ■oi ■nt , f,unct ,i.on o f i O St i and , s o? on , tuhe u basi-s of nd

[0032] Figure 11 is a diagram illustrating a summary of multiple ranging measurements with a one-half-clock-period offset in accordance with one embodiment of the invention.

[0033] Figure 12 is a diagram illustrating a probability density function o for a given

[0034] Figure 13 is a diagram illustrating a high level view of multiple ranging measurements with n/N clock-period offset measurements in accordance with one embodiment of the invention.

[0035] Figure 14 is a diagram illustrating an example case of instantaneous frequency f t (i) and clock timing t s (t) .

[0036] Figure 15 is a diagram illustrating three sets of ranging measurements that can be used to estimate the clock-frequency offset in accordance with one embodiment of the invention.

[0037] Figure 16 illustrates a performance comparison of time of flight (in clock cycles) estimators using one embodiment of the present invention.

[0038] Figure 17 is a diagram illustrating simulation results for a performance comparison of ranging from N = 1 to 10, where N = t is a conventional technique, and using N / 0 sampling clock frequency.

[0039] Figure 18 is a plot illustrating the improvement of the accuracy of clock- frequency offset over the number of ranging measurement sets K in accordance with one embodiment of the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0040] Before describing the invention in detail, it is useful to describe an example environment in which the invention can be implemented. Two-way ranging can be implemented in a number of environments and is particularly useful in wireless networks due to the difficulty of accurately synchronizing the network devices. Two-way time-of- arrival measurements can be used with asynchronous devices such as those in a wireless network. This can be accomplished by calculating the round-trip propagation delay at a single device and then dividing the result by two to yield an estimate of the one-way time of flight. The one way time of flight can be used with the propagation rate across the communication channel to determine the distance between the two devices. In this document, the terms "measurement" and "estimate" are used somewhat interchangeably. It shall be understood that the term "measurement" may, but does not necessarily, imply a certain degree precision. In fact a measurement generally has a certain degree of imprecision based on system constraints such as, for example, clock resolution, uncertainties in propagation delay, system latencies, and the like. The same can be said for the term "estimate," which may itself be a measurement or may be based on a measurement. As such, estimates may also have a certain degree of precision or imprecision, depending on the system, application or other circumstances.

[0041] One example environment in which the invention can be implemented is a wireless communication network in which multiple electronic devices (for example, computers and computing devices, cellular telephones, personal digital assistants, motion

and still cameras, among others) can communicate and share data, content and other information with one another. One example of such a network is that specified by the MB- UWB standard (within WiMedia and Multi-Band OFDM Alliance). From time-to-time, the present invention is described herein in terms of a wireless network or in terms of the MB- UWB standard. Description in terms of these environments is provided to allow the various features and embodiments of the invention to be portrayed in the context of an exemplary application. After reading this description, it will become apparent to one of ordinary skill in the art how the invention can be implemented in different and alternative environments. Indeed, applicability of the invention is not limited to a wireless network, nor is it limited to the MB-UWB standard described as one implementation of the example environment.

[0042] Figure 1 is a block diagram illustrating one possible configuration of a wireless network that can serve as an example environment in which the present invention can be implemented. Referring now to Figure 1, a wireless network 1020 is provided to allow a plurality of electronic devices to communicate with one another without the need for wires or cables between the devices. A wireless network 1020 can vary in coverage area depending on a number of factors or parameters including, for example, the transmit power levels and receive sensitivities of the various electronic devices associated with the network. Examples of wireless networks can include the various IEEE and other standards as described above, as well as other wireless network implementations.

[0043] With many applications, the wireless network 1020 operates in a relatively confined area, such as, for example, a home or an office. The example illustrated in Figure 1 is an example of an implementation such as that which may be found in a home or small office environment. Of course wireless communication networks and communication networks in general are found in many environments outside the home and office as well. In the example illustrated in Figure 1, wireless network 1020 includes a communication device to allow it to communicate with external networks. More particularly, in the illustrated example, wireless network 1020 includes a modem 1040 to provide connectivity to an external network such as the Internet 1046, and a wireless access point 1042 that can provide external connectivity to another network 1044.

[0044] Also illustrated in the example wireless network 1020 are portable electronic devices such as a cellular telephone 1010 and a personal digital assistant (PDA) 1012. Like the other electronic devices illustrated in Figure 1, cellular telephone 1010 and PDA 1012

can communicate with wireless network 1020 via the appropriate wireless interface. Additionally, these devices may be configured to further communicate with an external network. For example, cellular telephone 1010 is typically configured to communicate with a wide area wireless network by way of a base station.

[0045] Additionally, the example environment illustrated in Figure 1 also includes examples of home entertainment devices connected to wireless network 1020. In the illustrated example, electronic devices such as a gaming console 1052, a video player 1054, a digital camera/camcorder 1056, and a high-definition television 1058 are illustrated as being interconnected via wireless network 1020. For example, a digital camera or camcorder 1056 can be utilized by a user to capture one or more still picture or motion video images. The captured images can be stored in a local memory or storage device associated with digital camera or camcorder 1056 and ultimately communicated to another electronic device via wireless network 1020. For example, the user may wish to provide a digital video stream to a high definition television set 1058 associated with wireless network 1020. As another example, the user may wish to upload one or more images from digital camera 1056 to his or her personal computer 1060 or to the Internet 1046. This can be accomplished by wireless network 1020. Of course, wireless network 1020 can be utilized to provide data, content, and other information sharing on a peer-to-peer or other basis, as the provided examples serve to illustrate.

[0046] Also illustrated is a personal computer 1060 or other computing device connected to wireless network 1020 via a wireless air interface. As depicted in the illustrated example, personal computer 1060 can also provide connectivity to an external network such as the Internet 1046.

[0047] In the illustrated example, wireless network 1020 is implemented so as to provide wireless connectivity to the various electronic devices associated therewith. Wireless network 1020 allows these devices to share data, content, and other information with one another across wireless network 1020. Typically, in such an environment, the electronic devices would have the appropriate transmitter, receiver, or transceiver to allow communication via the air interface with other devices associated with wireless network 1020. These electronic devices may conform to one or more appropriate wireless standards and, in fact, multiple standards may be in play within a given neighborhood. Electronic devices associated with the network typically also have control logic configured to manage

communications across the network and to manage the operational functionality of the electronic device. Such control logic can be implemented using hardware, software, or a combination thereof. For example, one or more processors, ASICs, PLAs, and other logic devices or components can be included with the device to implement the desired features and functionality. Additionally, memory or other data and information storage capacity can be included to facilitate operation of the device and communication across the network.

[0048] Electronic devices operating as a part of wireless network 1020 are sometimes referred to herein as network devices, members or member devices of the network or devices associated with the network. In one embodiment devices that communicate with a given network may be members or they may merely be in communication with the network.

(0049] Having thus described an example environment in which the invention can be implemented, various features and embodiments of the invention are now described in further detail. Description may be provided in terms of this example environment for ease of discussion and understanding only. After reading the description herein, it will become apparent to one of ordinary skill in the art that the present invention can be implemented in any of a number of different communication environments (including wired or wireless communication environments, and distributed or non-distributed networks) operating with any of a number of different electronic devices.

[0050J Ranging between network devices can take place as one-way or two-way ranging. One-way ranging measures the time of flight of a signal or information, such as for example a packet or other transmission, from a first network device to a second network device. Two-way ranging estimates the distance d between two network devices by measuring the round-trip time between the two devices and estimating the distance between the devices based on the measurements obtained from the start and arrival time of the packets. Figure 2 is a diagram illustrating an example configuration for two-way ranging. Figure 3 is a diagram illustrating an example timeline for two-way ranging. Figure 4 is an operational flow diagram illustrating steps conducted in this example two-way ranging process. Referring now to Figures 2, 3 and 4, in a step 404, network device 102 transmits a packet 112 to a second network device 104 at a time tμ In a step 406, Packet 112 is received at device 104 at a time t 2 . In a step 408, device 104 processes the packet and, after a brief delay, transmits a response packet, packet 1 14, to device 102 at a time % $ . Packets 112 and 114 can be the same packet with the same information, or additional or different

information can be provided. In a step 410, at time tt, device 102 receives packet 114, In a step 412, the distance is computed. In one embodiment, device 102 can now compute the distance to device 104 based on the simple formula: distance = rate * time. More particularly, given an estimate of time of flight to F of packet 112, and if c is the speed of propagation of an electromagnetic wave, then the distance d = top * c.

[0051] According to the convention adopted in Figure 3, the absolute time when the reference (which is used to demark the start or arrival time) of packet 112 leaves device 102 is denoted t \ , and the recorded counter value in device 102 at time t\ is T \ . In one embodiment, the counter of the device counts the pulses of the device clock, which can be synchronized with sampling rate. At time tz packet 112 reaches device 104 and the recorded counter value in device 104 at time h is λ 2 . The processing time in device 104 is ϊ DEV and the return packet 114 leaves device 104 at time / 3 when the counter value in device 104 is Ti. Thus, £ DEV = h- h. Return packet 114 reaches device 102 at U and the recorded counter value at time U is R \ .

[0052] Therefore, given the above described conventions adopted in Figure 3, the round trip delay is £ RTD = U- h and the time of flight ^ F can be written as set forth in equation (1).

[0053] If all the timing instants are precisely recorded by the clock-counter value, the time of flight can be expressed in terms of the clock counter values as

whereto is the sampling frequency of the device clock of device 102 and device 104. Note that equation (2) represents the estimate of the time of flight in terms of counter values or the measurements made by the devices upon transmission and reception of packets. Therefore, the time of flight is ascertainable and does not need the time synchronization of the device clocks of device 102 and device 104 for this estimate.

[0054] Because the distance between two devices is given by d = top * c, and c for an electromagnetic wave in free space is very large (on the order of 3 * 10 10 cm/sec), a small error in the estimate of time of flight typically can create a large error in estimated distance. There are various sources of such small errors that could impact the difference between the

actual time of flight and the estimated time of flight using equation (2). For example, the sampling instant of the device clock is discrete and therefore, there will be an error between the actual time of event and the time when a measurement is taken, or, recorded as counter value. For example, due to a discrete sampling interval, t2 and R2 may not exactly coincide in time, resulting in an inaccuracy. Thus, some conventional solutions have increased the sampling rate to reduce sampling interval (i.e., increase the time resolution) and hence improve the ranging accuracy.

[0055] In one embodiment of the present invention, additional ranging measurements are employed in time-of- arrival-based two-way ranging applications to provide improved accuracy without necessitating a higher sampling clock frequency. Particularly, in one embodiment, clock-offset measurements are utilized in a two-way ranging application that improves the ranging accuracy without increasing the sampling clock-rate. In some cases, it may be possible to reduce the confidence interval (while maintaining the same level of confidence) of the estimate of the time of flight (in clock-cycles) by a factor of N when clock-period offsets n/N, for n-1,—, N-I, are used in the ranging measurements.

[0056] In accordance with one embodiment of the invention, the presence of relative clock drift (induced or otherwise) or offset measurement intervals between devices can be used in the measurement process to further refine the estimate. An analysis on the estimation of the clock-frequency offset in the presence of finite clock resolution can also be used in one embodiment to enable reduction or elimination of the bias due to clock- frequency offset.

[0057] Figure 5 is an operational flow diagram illustrating a process for improving the accuracy of two-way ranging measurements in accordance with one embodiment of the invention. Referring now to Figure 5, in step 502, a first ranging estimate between two devices (for example, devices 102, 104 in a wireless network) is performed. In step 504 a time of flight estimate is made. In one embodiment, this measurement and estimate are made in accordance with the techniques described above with reference to Figures 2, 3 and 4.

[0058} In steps 506 and 508 a subsequent measurement and estimate are made, this time with a clock phase offset introduced. In one embodiment, the offset is an offset of the clock of device 102 relative to the phase of the clock of device 102 in the prior measurement.

[0059] In step 512, the relationship between the first and second estimates of time of flight is computed and is used to determine the refined estimate of time of flight in step 514. In one embodiment, the relationship used is the difference between the first and second estimates. As illustrated by step 510, additional measurements and estimates can be made, and the relationships between those measurements (for example, differences) used to further refine the time-of-flight estimate. In a preferred embodiment, when more than one subsequent measurement is used, each subsequent estimate is compared to the first estimate in determining differences. In another embodiment, each subsequent estimate is compared to its immediately preceding estimate to determine the difference between the two. As these examples illustrate, other techniques can be implemented to determine relationships among the various measurements.

[0060] The difference provides more precise knowledge of the uncertainty due to finite clock resolution and the refined estimator works by compensating the right amount of bias based on the difference. In one embodiment, this difference is computed in terms of cycles. This is described in more detail below in accordance with the various embodiments of the invention.

[0061] More particularly, in one embodiment, in step 514 the appropriate amount of compensated bias is obtained by mapping the differences between the measured times of flight into a plane representing the offset and the fractional portion of the measurement, translating the regions of the plane into functions of uncertainties and bounding the uncertainties. Additionally, the confidence interval for a given measurement can be computed and compared to previous measurements. Examples of this are described in more detail below.

[0062] To better describe the invention and its features, a simplified case is first described in accordance with a few basic assumptions. These assumptions do not necessarily conform to real-world environments, but they allow the effects of a finite clock resolution to be described and viewed, with minimal or no impact from other sources of error or inaccuracy. The assumptions are as follows: (1) the clock frequencies in the two devices 102, 104 are the same; (2) there is no frequency drift in the clocks; (3) there is no time gap between the generation and transmission of the reference signal at the transmitter, and similarly there is no time gap between the detection and arrival of the reference signal at the receiver; and (4) the detection of the arrived signal is perfect and detected in the next

immediate tick of the sampling clock from its arrival instant. Because the clocks are assumed to operate at the same frequency, the analysis can be performed with the measurements of the same clock period (number of clock cycles). The remaining assumptions allow description in a simplified case without additional sources of inaccuracy except the finite time resolution of the clock. Examples are also discussed later in this document that relax these assumptions, and consider the effect of clock drift in ranging operations.

[0063] Figure 6 is a diagram illustrating a two-way-ranging operation between devices 102, 104, each operating at a finite clock resolution, with an offset between the two clocks. Referring now to Figure 6, the upper line indicates the clock cycles of device 102, while the lower line indicates the clock cycles of device 104. As the diagram serves to illustrate, the inaccuracies δi and δ 2 in the ranging measurements are due to finite clock resolution. More particularly, the inaccuracies δi and δ 2 in the ranging measurements are due to the fact that in the example illustrated the actual time of receipt falls in between clock cycles of the receiving device. Therefore, receipt is not logged until the next clock interval.

[0064 J Referring still to Figure 6, the set of measurements involved in this embodiment of two-way-ranging includes Tl, T2, Rl and R2 as described above with reference to Figure 3. Tl and Rl represent the counter values (in clock cycles) of device 102 at the time of transmission and reception, respectively, of a packet at device 102. R2 and T2 represent the counter values (in clock cycles) of device 104 at the time of reception and transmission, respectively, of a packet at device 104.

[0065] In the example illustrated, the clocks between the two devices are asynchronous and therefore, there is a constant time offset η between the two clocks of devices 102, 104. The offset in this case is less than one clock cycle, or 0< η <1. More particularly, in Figure 6, η is the time-offset between two clocks of device 102 and device 104 that exists during the first transaction, Tl is the clock measurement (counter value) occurring at the device 102 when the ranging measurement packet 112 is transmitted (remembering assumption 3), R2 is the clock measurement at device 104 when packet 112 is received by device 104 (also remembering assumption 3), and to F is the exact time of flight between the transmitter and the receiver. Note that due to finite clock resolution, δ 2 is the inaccuracy introduced in the measurement R2. That is, the packet is received at a time 602, but is not measured until a time R2. Therefore, R2 - S 2 is actual time 602 when packet

112 is received (or arrives at the receive antenna per assumption 3). In other words, δ 2 is the amount of time elapsed between the actual time of receipt of the packet at device 104 and the time at which that device's clock triggers detection of the packet.

[0066] While 6 2 , η. Tl and R2 are expressed here in the unit of clock cycles, the time of flight, top is an actual elapsed time, for example, time expressed in seconds. Therefore, with/o as the clock frequency of the two devices, δ 2 can be expressed in terms of η as the difference between the time the signal is measured as being received less the offset η and the actual time it is received less the offset η. This is shown in equation (3) where the receive event 602 is subtracted from the measured event at R2, where R2 is expressed as a ceiling function of the receive time 602 (i.e., the actual receive time 602 is rounded up to the next clock interval at R2).

[0067] As stated above with reference to Figure 3, T 2 is the clock measurement in device 104 when the acknowledge packet, for example, return packet 114, leaves the transmit antenna of device 104. Note that toEvfo = T2 - R2 represents an integer number of clock cycles. Ri is the measurement at device 102 when return packet 114 arrives at the receive antenna with an inaccuracy O 1 expressed as:

[0068] Because the time of flight may not coincide with an exact integer number of clock cycles, the actual number of cycles in the time of flight has an integer portion and a fractional portion, ε. As such, the time of flight in cycles, top ' fo, can be expressed as top " fo = (top 'fo )ϊnt + ε, where (tor 'fo )int is the integer number of the clock period and ε is the fractional portion of the time-of-fiight clock period, where ε is less than one clock cycle.

[0069] With this expression of the time of flight as a whole and fractional portion, equations (4) and (3) can be further simplified. More particularly, inaccuracy δj can be expressed as the ceiling function of the sum of the fractional portion of the time-of-flight clock period plus the offset, less the actual sum of these components as follows

[0070] Likewise, δ? can be expressed as the ceiling function of the fractional portion of the time-of- flight clock period minus the clock offset, less the actual difference of these components as follows

J0071] Thus, δi and 82 can be expressed independently of (IQ F ' fo W [0072] Because the actual value of the fractional part of the time of flight, ε, is unknown and the clocks of the devices are not synchronized, ε and η are uniformly distributed over a range of 0 to 1. Because ε and η are independent variables of uniform distribution, it can be proven using probability theory and it is understood by one of ordinary skill in the art that the two variables derived from them using equations (5) and (6), δj and 87, are also uniformly distributed.

[0073] With the measurements Ti, R] in device 102 and T 2 , R 2 in device 104, the

estimate of number of clock cycles elapsed during time of flight 0F is determined by measuring the total round trip travel time in cycles, less the processing time at device 104 in cycles and dividing this by two to get the number of cycles for a one-way trip as shown in equation (7). Another way to express the estimated number of clock cycles during time of

flight, OF , is to express it in terms of the actual time of flight plus the inaccuracies (i.e. , the actual one-way time-of-flight cycles plus 1 A of the number of cycles due to round trip inaccuracies), as also illustrated in equation (7):

[0074] Because δi and δ 2 are each less than one clock cycle in duration, (i.e.,

the uncertainty in the estimate OF is less than 1 clock period. In

other words, urther, from equation (7), it is evident that with the

increase of the sampling clock- frequency / 0 , the uncertainty of the estimate, 0F , is reduced in an inversely proportional manner.

[0075] Having thus described how an increase in sampling clock frequency can improve the accuracy of ranging measurements, techniques for achieving improvements in

ranging accuracy without necessarily increasing the clock rate are now described. More particularly, in one embodiment, a reduction similar to that obtained by increasing clock sampling-frequency can be obtained by implementing ranging techniques that incorporate additional ranging measurements with clock-period time-offsets introduced in one or more measurements. In one embodiment, one of the device clocks is offset relative to a prior measurement for subsequent ranging operations. The offset may be purposely induced into the system, or may be achieved by drift or other anomalies or factors that cause clocks to change over time. In one embodiment, the clock offset is introduced in one device clock relative to the other device clock. Additionally, in one embodiment, the relative offset introduced between the two clocks may be considered to be less than one clock cycle, although greater offsets (greater than one or more clock cycle(s)) may be encountered and addressed as well.

[0076] First, consider an example communication system where data transmission is assumed to occur at approximately the speed of light, c. With c = 3* 10 cm/sec, the estimate of the distance between two devices is given by

[0077] Consider, for example, a system having a default minimum clock frequency fo — 528 MHz. In this example, the uncertainty in the estimated distance between two devices can be as much as approximately 56.8 cm. To find the distribution of uncertainty v due to finite clock resolution, i.e., v: = (βι + δ 2 )/2, consider that δi and δ 2 are independent and thus the distribution of δi + δ 2 is the convolution of two probability density functions, and the probability density function v: = (δi + δ 2 )/2 is therefore triangular and given by:

[0078] Because the estimated number of cycles equals the actual number of cycles plus the uncertainty, or 0F -^ o " OF /o ? m unbiased estimator 'OF /o = OF ' /o - E ( v ) = 1 Ov /o - °- 5 can b e determined where E( Ό ) ,the mean of the random

variable υ, is subtracted from the biased estimator. The distribution of v can be exploited in finding a suitable confidence interval δ such that there is a probability γ that the actual number of cycles, top fo, lies within ±δ of the estimator time of flight. That is, the probability that to F 'fo, lies between . Therefore, for a given ±δ, this probability γ can be calculated as shown in equation (9), where the actual number of clock cycles for the time of flight is bounded by an estimator time of flight plus the confidence interval ±δ. Substituting E(v) and solving for δ shows the confidence interval.

J0079J Thus, the ranging estimate for the distance is given by and the

confidence interval of the ranging estimato s denoted as δ λ which is related to δ as

here δ and δrf are calculated for different values of γ and shown in Table 1. As this illustrates, there is a 99% level of confidence that the inaccuracy of the estimate is less than or equal to 0.45 clock-cycle. At an example clock- frequency fo = 528 MHz, this inaccuracy translates to 25.56 cm in distance.

[0080] As stated above, in one embodiment, one or more subsequent measurements with a relative clock-offset are used in two-way ranging to increase the accuracy of the ranging. In particular, in accordance with one embodiment, the confidence interval of the estimate of the time of flight (in clock-cycles) can be reduced by a factor of N without decreasing the level of confidence when additional ranging measurements for a clock period offset of n/N, where n = 1, ..., N-I are used. To facilitate description of this technique, it is described in terms of an example embodiment where the clock offset introduced is roughly one-half of a clock period. After the invention is described in terms of a 1 A period offset, the more general case of an n/N offset is described below.

[0081] As stated above, in one embodiment ranging measurements are made with 1/2 clock period offset with respect to the previous ranging measurements in device 102 to reduce the uncertainty of the estimation of time of flight, to F - Figure 7 is a diagram illustrating two ranging measurements with 1 A clock period offset according to one embodiment of the invention. More particularly, Figure 7(a) illustrates the ranging inaccuracy due to δi and δ 2 and insertion of 1/2 clock period time-offset in device 102 clock, Figure 7(b) illustrates the relation between time-offset η and (η)m (with 1/2 clock- period offset) when 1 A < η <1, and Figure 7(c) illustration the relation where l < .

[0082] Figure 8 is an operational flow diagram illustrating a process for improving ranging accuracy in accordance with the example embodiment illustrated in Figure 7. Referring now to Figures 7 and 8, two measurements are illustrated as a first measurement 702 and a second measurement 704. In a step 802, a first measurement of top is made with clock of device 102 and clock of device 104, wherein the clocks are asynchronous and have some offset η associated therewith. In one embodiment, this measurement can be made as described above with reference to Figure 4.

[0083] In a step 804, a second measurement is conducted. For the second measurement 704, the clock in device 102 is offset by 1 A a clock period relative to the phase of its clock in the prior measurement 702. In a scenario where the clock in device 104 is assumed fixed with no drift, this offset is also relative to the clock in device 104. For this measurement, then, the time-offset between two clocks, denoted as (η)i/ 2 , after introducing 1/2 clock period time-offset in the clock of device 102 is now:

[0084] The new time of flight, top, for this second measurement is computed as

described above, but using timing measurements 1 Hn s and as shown in Figure 7.

[0085] Thus, the time of flight for the second measurement is estimated based on the transmission and reception times of the packet as described above. This provides:

where

and

with (η )i/ 2 as defined in equation (10).

[0086] In a step 806, the difference between the time of flight estimates is determined. In one embodiment, this is accomplished by subtracting equation (11) from equation (7), to obtain

[0087] Substituting the values obtained from equations (5), (6), (12) and (13) into equation (14) yields.

[0088] Substituting the value of as defined in equation (10) into equation (15), yields:

[0089] The expression of η < /4 in (16) can be written as

[0090] Thus, an be expressed entirely in terms of the offset η and the fractional portion of the time of flight ε as:

w ch can be evaluated in terms o . In one embodiment, this expression can be evaluated in the (ε, η) plane.

[0091] In a step 808, a range of the inaccuracie determined. Figure 9 is a diagram illustrating mapped in the (ε, η) plane for values of ε + η - Vz, and ε - η - 1 A. Because δ] and 6 2 are determined based on ceiling functions o η operations, the analysis can be somewhat simplified. Particularly, respective determinations of the ceiling functions of the operatio - 1 A will be either 0, 1 or 2. As such, the difference in measurements in cycles, in be either _ 1/2^ 0 or +1 /2 as iliustrated in Figure 9 _

[0092] The different regions of i ■n the (ε, η) plane can be translated to the functions of δi and δ 2 with the help of Figure 10. Figures 10(a) and 10(b) illustrate the case where the (ε, η) plane is separated with respect t 2 < respectively. Figure 10(c), illustrates the case where the (ε, η) plane is separated as

mparing Figure ( 9 ) with Figure 10 ^ three cases can be determined. In a first case, when = - 1/2 it can be determined that

0 < δi <l/2, 0 < δ 2 < 1/2 and 0 < (δj + δ 2 )/2 < 1/2 with a probability of one quarter. In a

second case, when o it can be determined that 0 < δj <l/2, 1/2 < δ 2 < 1, or 1/2 < δi <1, 0 < δ 2 < 1/2, and 1/4 3/4, with probability of one half. In a

third case, when = m it can be determined that δ, > 1/2 and δ 2 > 1/2, and 1/2 < (δi + δ 2 )/2 < 1 with a probability of occurrence of one quarter.

[0093] Therefore, by employing a one-half clock-period time-offset to one clock relative to the other and knowing the difference between the two time-of-flight

measurements, can be determined whether (δj + δ 2 )/2 is less than 0.5, or in between 0.25 and 0.75, or is greater than 0.5. Therefore, the maximum inaccuracy in the round-trip estimate is reduced to no more than one-half of a clock cycle. As such, the uncertainty of the measurement can be reduced by one-half of a clock period.

[0094] Knowing the difference between the two time-of-flight measurements (as

determined in step 806) , in step 810, the refined estimate can be calculated and compared with the measurement case where there was no time offset.

[0095] The three cases o o, and

aτQ now djscusse^ with the first case, where the difference between the first measurement and the measurement with a one-half clock period offset is minus

one-half of a clock cycle, the values for the inaccuracies, δj and δ 2 , are as follows

[0096] Because δi and δ 2 are independent, the probability density function of δj + δa can be determined as the convolution of two uniform probability density functions

α J - •>) resulting in a triangular function. Thus, the probability density function of v = (δj + δ 2 )/2 is given by:

[0097] Thus an unbiased estimate can be formed as and the confidence interval, ± δ, for confidence γ as

[0098] Values of the confidence intervals δ for different γ are tabulated below.

Table 2

Confidence interval δ of 0F for different levels of confidence with a half- period clock offset (Case I, II and III), where the confidence interval

is in cm, and c = 3 * 10 10 cm/sec an 528 * 10 6 cycles/sec.

[0099] Similarly, when we know tha nd

. Thus, due to independence of S 1 and δ 2 the

PDF of δi + δ 2 is the convolution of ulting to the probability density function o as

100100] Consequently, an unbiased estimate can be made a and the confidence interval δ calculated for a given confidence γ as discussed above with the first case scenario. The obtained values of δ are same as Case I and tabulated in Table 2,

[00101] Wit , the viable ranges of δi and δ 2 are d The probability density function of δ; + $ 2 is the convolution of ^( U -5,1) an( j and accordingly the probability density function of v = (δj + δ 2 )/2 is given by

[00102] The unbiased estimate i and confidence intervals of δ for different confidence γ are same as the Case I and II and are tabulated in Table 2. As Table 2 illustrates, employing subsequent measurements with a one-half of a clock-cycle time offset reduces the confidence interval by one half for a given confidence. That is, the uncertainty in the estimate that arises due to a finite clock resolution is reduced by one half. The ranging algorithm with one-half-clock-period offset measurements is summarized in Figure 11. Referring now to Figure 11, a first measurement set is taken 1102 to estimate

OF . A second measurement set 1104 is taken at 1 A clock cycle offset to estimate These measurements are used to compute the refined estimate 1106 as follows:

[00103] These refined estimates can be generalized as

where c, , C 1 and c 3 are constants.

[00104] Having thus considered a specific instance where the clock offset between device clocks is one half of a clock period (in other words, N = 2 and 1/N = Vi), the more general case of n/N is now described. More particularly, the case where ranging measurements with n/N,n = 0,- - -,N — l , clock-offsets are considered for any integer value of JV > 1 with H = 0, 1, 2,- ■ ■ , JV - 1 , where « = 0 corresponds to the case with no additional clock-offset. Thus, with n/N clock-period time-offset between devices 102, 104, the relationship of time-offset between two devices in equation (10) becomes

where is the clock-offset between two devices with n/N clock-offset introduced between the devices and with representing the initial clock- offset that is present between the devices prior to any additional clock-offset measurements.

[00105] From a convention perspective, l e the estimated time of flight using an n/N clock-offset Thus, with the measurement se and cycles can be written as

where (δ,)^ = | ~ ε + (η ) wjv ] - (ε +(η) πλV ) and (δ 2 ),, /ιV = fε -(n) B/JV ] -(E - (η)^) .

[00106] Subtracting equation (19) from equation (7) yields the difference between the two measurements in terms of clock cycles as shown in equation 20.

[001071 Substituting 5,,5- . ,(6,X 1 ^ and (δ,) π/λ , into equation (20), yields:

with w = 0, D π /jγ = 0 . To evaluate the expression of equation (21), it is noted, as described above that the ceiling functions of mathematical operations of the offset, η, and the fractional portion of the time of flight, ε, will take on discrete values as shown in equations 22, 23, 24 and 25.

[00108] Thus, using (22), (24) and (4), yields

[00109] Similarly, using (23), (25) and (6), yields

[00110] Therefore, using (26) and (27 an be calculated in equation (21) as outlined in Table 3, below. Note that for different values of £W at each η, the sequence btained from the ranging measurements with offsets , respectively, does not include all the combination of the values (1, 0, 0, - 1) tabulated in Table 3. Rather, it includes only those sequences that yields a valid overall domain of δi and bj satisfying all the individual domains at each value of η.

[00111] Table 4 illustrates all such sequences with their valid domain o d Because δj and δ 2 are independent, for a given valid sequence, the probability density function of j s triangular as shown in Figure 12. Therefore, using n!N,n = 0,- - - , N -1 clock-offset measurements, the refined estimate of the time of flight (in cycles) is given by

where is the coarse estimate of time of flight (in cycles) as obtained in (7) without any clock-offset measurements. This can be written in the more general case as

where α , β and c are constants, noting that in equation (28)α = I 3 β = 1 and c = 0.

[00112) Accordingly, the confidence interval in (7) around for confidence level γ is given by

=> 4N ι A z - 4NA + γ = 0

[00113] Therefore, it is apparent from equation (29) that as N increases, n/N, « = 0,- --,JV-I clock period clock-offset measurements are able to decrease the confidence interval δ by N times for the same level of confidence. That is, the uncertainty of the estimate is reduced by N times, which is roughly equivalent to increasing the sampling clock frequency by a factor of N .

Table 4

Different valid realization of the observed sequence of with corresponding domain o 0 . Note that table 4 is divided into two sections to fit on the page: Section one comprising columns 1 - 6 and section two comprising columns 7 and 8. Table 4 should be read as if section two (columns 7 and 8) were reproduced along side section one.

[00114] The confidence interval with n/N offset measurements is shown in Table 5, which illustrates the reduction of the confidence interval by factor of N for given level of confidence. In the embodiments illustrated in table 5, JV= 1 represents the case where no additional time-offset measurements are made. The block diagram for the half-clock-period

offset shown in Figure U is modified as shown in Figure 13 for n/N -clock-period offset measurements.

[00115] The fundamental results can be summarized in the following theorem, [00116] Theorem-1: When the error due to finite clock resolution in two-way ranging is modeled as S 1 e (/(0,1) and δ 2 ε U (0,1) as in (5) and (6), respectively, the coarse estimate of time of flight (in clock cycles with /o as sampling clock frequency) is given by

mά tlie estimate of time of flight with « / N, n = 0,- • ■ , N - 1 clock-period offset introduced in the device that initiates the ranging measurement is given by The case oftt-0 refers to the initial measurement without additional clock phase offset as given in equation (7). The fine

estimate of time of flight is given by where ith nd confidence interval

[001171 Figure 13 is a diagram illustrating a high level view of multiple ranging measurements with n/N clock-period offset measurements in accordance with one embodiment of the invention. The operation illustrated in Figure 13 is similar to that shown

in Figure 11, with a distinction being that Figure 13 illustrates the general case of n/N including the no-offset case with n ~ 0 and N=I, where Figure 11 illustrates the specific case where N = 2. As shown in Figure 13, measurement set 1 1302 consists of only the first measurement of time of flight without any additional offset, whereas, measurement set 2 1304 contains all the measurements with offsets n/N, with 0, 1 , - - - , N - 1 , where n = 0 corresponds to no additional offset.

[00118] The above discussion described measurements under the assumption that there was no clock drift between the devices 102, 104. Now described are scenarios where clock drift is introduced into the ranging process.

[00119] Before presenting the analysis that captures the effect of clock drift on ranging in the presence of finite clock resolution, the potential sources of clock drift are briefly reviewed. Time scale in the clocks is defined by the period of basic oscillation of the frequency-determining element, for example, the crystal in the case of a quartz clock, and the oscillation of atoms in the case of an atomic clock. Thus, a clock can be viewed as a numerical integrator of a periodic signal produced by an oscillator, and in one embodiment the timekeeping function is implemented by simply counting cycles.

[00120] The Frequency of such an oscillator is subject to variation due to a number of factors such as, for example, temperature variations and aging. The instantaneous frequency of the oscillator at actual time t, f t (t) , is given by f,(t) = f o +δf + D f -(t -t 0 ) + s (t) t (30) where / 0 is the nominal oscillator frequency, δ/ is the frequency bias, D f is the frequency drift in Hz/sec, t 0 is the reference epoch, and ε (t) stands for nonsystematic, unmodeled random frequency errors. For ease of discussion, the frequency drift is assumed to be constant with time. Therefore, total number of clock cycles at time i is given by

and accordingly, observed clock timing t t (t) at time t is

where t Ol is the clock timing at the reference epoch t 0 .

[00121 J Figure 14 is a diagram illustrating an example case of instantaneous frequency Z 1 (I) and clock timing I 1 (I) . Referring now to Figure 14, the dotted lines represent the parts of frequency fit) as determined in equation (30) and the solid lines represent clock timing t t (t) as determined in equation (31).

[00122] For the remainder of this analysis, assume that the D f = 0 and ε(t) = Q , and thus using equation (31), the clock-inaccuracy in time can be expressed as:

[00123} Therefore, the clock inaccuracy in time is due to clock offset (equivalent to δi and δ 2 inaccuracy in ranging) at the starting epoch and clock drift, which is quantified by p(t - t 0 ) . Further, the clock drift is caused due to the presence of clock- frequency offset δ/ .

[00124] In the previous section, the effect on ranging of a finite clock resolution that causes time-offset S 1 and δ 2 was described. The following discussion provides an analysis that considers both the effects of finite clock resolution and clock-frequency offset upon ranging. Let n be the total number of cycles counted in device 102 during the measurements between R i and Similarl epresents the number of clock cycles elapsed in device 104. Further, let represent the frequency of the clocks in device 102 and device 104 respectively, where / 0 is nominal frequency of the clocks and nd are the frequency offset of the clocks in device 102 and device 104, respectively. Therefore, f~p in seconds can be expressed as

[00125] In equation (32), sinc he Taylor's series is truncated, ignoring the higher order terms.

[00126] In one embodiment, consider, δt>i« n, and δ<5 2 « m, and «//0 ~ m If 0 .

Also consider one embodiment for the use of an ultrawide-band device in a Wireless Personal Area Network (WPAN) where the distance is within 10m resulting in ? OF - 33.33 nsec . Therefore, since where n is greater than w by 2t O ψ and t Of is very small, equation (33) can be further simplified as:

[00127] Therefore, to get rid of the inaccuracy due to clock drift, in one embodiment, both Af 1 and Af 2 , in other words, the clock drift of both of the clocks in device 102 and device 104, is used. However, to estimate Af 1 and Af separately is not always possible due to unavailability of exact time elapsed during the measurements. Therefore, a method of estimating the quantity Af 1 ~ Af 2 is now described. This technique allows removal or at least diminishing of the inaccuracy due to clock- frequency offset,

[00128] Figure 15 is a diagram illustrating three sets of ranging measurements that can be used to estimate the clock- frequency offset in accordance with one embodiment of the invention. Referring now to Figure 15, in one embodiment, the clock drift between two clocks is determined from multiple clock measurements. Preferably, where there is the presence of noise and finite clock resolution, it is favorable to consider a higher number of ranging measurements. Three ranging measurements are illustrated in Figure 15, although other quantities of measurements can be used.

[00129] Note that in the illustrated embodiment, all of the K ≥ 2 sets of measurements, namely, are in

values of clock-cycles and can be maintained in counter registers associated with devices 102, 104 or elsewhere. Also in the described embodiment, the time of flight, ^OF , the clock offset between two devices v, and measurement inaccuracy due to finite clock resolution <Pi and 92 are in seconds. Let n'(K) be the number of cycles elapsed in device 102 between the measurements of T 1 (K) and T 1 (Y) and m'(K) is the number of cycles elapsed in device 104 between the measurements of R 1 (K) and R 2 (V) .

[00130] Assuming the detection of the reference signal is perfect in both the devices, n(K) and m(K) can be related as:

where the estimate of the clock- frequency offset is given by and ) are inaccuracies in the measurements of the arrival time at device 104 given by respectively, due to finite clock resolution. are given by

and

where η (K) =η + mod(δ/ - 2(K - I)J) 1 is the clock-offset that occurs between two devices 102, 104 during the start of K sets of ranging measurements, namely, between with T RMpa cket denoting the duration of the RM (Ranging Measurement) packet, and SIFS denoting the short interframe spacing.

[00131] ^ RMpacket > tne duration of the RM (Ranging Measurement) packet is given in Table 6, and the short interframe spacing (SIFS) is 10 μ sec according to the WiMedia standard. Note that C) 2 (I) ~ £/(0,1) and J 2 (A) ~ (7(0,1), and thus assuming independence of 6 2 (1) and S 2 (K) over the realization of ε , η and AT, the distribution o is triangular from -1 to 1 with a mean of zero. Therefore, usin in

(37) and the sample mean of Af (k) for k = K v -- -,K yields the following estimate

The fact that a system may have a finite clock resolution can have an effect on the estimate of the clock drift. Particularly, the sample-mean of the estimates of clock frequency offset reduce the bias in the estimate, and thus a higher value of AT, the total number of packet transactions, may be desirable. Additionally, waiting a longer period of time before obtaining the estimate the clock frequency-offset can make the estimator less susceptible to the error due to finite clock resolution.

Table 6

RM frame-related parameter: standard frame, each OFDM symbol is 312.5 ns duration

where N IBP6S is the number of info bits per 6 OFDM symbol.

[00132] Note that as k goes bigger the error term in the estimate gets smaller and we should consider higher value for K 1 and K for better estimate. The estimate of δ/ can be used appropriately to get rid of the effect of clock-frequency offset from the ranging estimate.

[00133] To apply the time-offset measurements with nl N, n = 0, 1, ■ • • , iV - 1 offset for ranging in the presence of clock drift or clock frequency offset, the bias due to clock frequency offset may first be removed (or compensated) from the measurements and the applied time-offset in the first device 102 can be such that when it is added to the time- offset, created due to the presence of clock-frequency offset during the start of the previous measurement to the start of the present measurement, the total relative time-offset becomes .

|00134] In the previous analysis the presence of clock-frequency offset between two devices 102, 104 was considered, its effect on the estimation of time of flight described. Now described are other related implementation and practical issues that can impact the estimation accuracy of the time of flight in various embodiments or applications of the invention.

[00135] In ranging algorithms according to the present invention, there are multiple techniques that can be used to implement time-offset in the additional measurements, as would be apparent to one of ordinary skill in the art after reading this disclosure. In one embodiment, control logic can be implemented to provide a different measurement interval for detecting transmission and reception of the signals. This can be done, for example, by shifting the clock phase over time, determining a new sampling time based on the existing clock signal, and other like techniques. Such control logic can be implemented using hardware, software, or a combination thereof. For example, one or more processors, ASICs, PLAs, and other logic devices or components can be included with the device to implement the desired features and functionality. As another example, in one embodiment, a hardware switch or like componentry can be implemented to enable shifting the sampling clock pulse by a predetermined amount and thus create a relative time offset between consecutive sampling instances of devices 102, 104. In yet another embodiment of the invention, the use of a different clock edge for sampling can provide the desired offset. For example, sampling the data on the rising edge instead of the falling edge, or vice versa, can create a time offset between the sampling instants of multiple measurements between two devices 102, 104. In still a further embodiment, the normally occurring clock drift can provide a source of offset over a given period of time.

[00136] For example, with P = ^fI fo (in ppm) clock-frequency offset, and nominal frequency, /o , x number of clock cycles required to obtain an nl N, n = % • ■ • , N -\ clock- period time-offset is given by

mod (p - x), = -^ (40)

where mod ( J 1 denotes modulo 1 operation. Furthermore, if we constrain the number of clock cycles to be elapsed as multiple of clock cycles in one set of two-way ranging measurement, then, (40) can rewritten as

with ^ = ^RMpaeket +SIFS+/ O p where x is required set of ranging. [00137] Equations (40) and (41) can be solved numerically for integer value of x. For example, for a P = 40 ppm t f 0 = 528 MHz ; T « 25 μsec and a 1/2 clock-period offset (n

= l, N= 2), x = 12500 cycles according to (40) and x 9 sets of ranging measurements according to (41 ) . Likewise, for 1 / 3 and 2/3 (N = 3, n = 1, 2) offset x ~ 6 and 12 sets of ranging measurements, respectively. Therefore, in one embodiment, device 102 completes x sets of ranging transactions to reach n/N clock-period offset. In one embodiment, multiple ranging measurements with the compensation of clock drift that makes the time-offset between different measurements the same can be used to refine the time of flight estimate by averaging.

[00138] In applications where noise is a factor, a packet 112, 114, or other signal used for ranging, may be lost. In one embodiment, if a packet 112, 114 or signal is lost within a particular set of measurements, that loss can be detected and the measurement set removed from the computations so that ranging can be performed more accurately.

[00139] Likewise, in some applications the timing of the detection of the packet 112, 114 or signal may be affected, creating a jitter or other uncertainty in the time of arrival. In one embodiment the impact of jitter or timing uncertainties due to noise or other factors can be reduced by averaging the results over multiple measurements.

[00140] In some applications, especially in the wireless arenas, the presence of multipath may affect the accuracy of ranging measurements. In the presence of a line of sight (LOS) transmission path, the first packet 112, 114 to be received would give the right measure of the time of arrival. Thus, in one embodiment, where multiple receive measurements are made, the first in time to occur is the measurement used for ranging purposes. In another embodiment, the highest signal strength measurement is used. In other embodiments, any one or more (including all) of the multiple signals received can be used. For example, consider an application of ultra- wideband systems employed in WP AN. In this application, due to high number of resolvable multipath and less user mobility there is typically less fading than some other applications. Thus, in this environment, it is very likely that the first path in the presence of LOS would have higher strength than the other

paths. As such, the time of arrival estimation based on the maximum value of correlation yields the correct range estimate. However, in the absence of a LOS, the range estimate in one embodiment simply becomes an upper bound estimation of the true distance.

[00141] The arrival of a packet at a receiver can detected by using correlation between the received sequence and a pilot sequence stored in the receiver. Due to the asynchronous nature of the ranging transaction, there is typically a fractional clock-period offset between the sampling instants of the transmitter and the receiver, as described above. In addition, the length of the time of flight can approach a fractional (non-integer) multiple of the clock period, making the correlation result imperfect. Therefore, the peak of the correlation may occur at the next or previous immediate sampling instant of the actual arrival time of the packet. In one embodiment, it can be assumed that the packet is detected at the next immediate sampling instant that results in the mean value of the clock-uncertainty in the estimate as a half clock period. However, use of correlation in the practical case makes the mean value of the error in the estimate to be zero. Thus, considering the effect of correlation in finding the arrival time, the refined estimate of time of flight given by equation (28) can be modified as

[00142] Because there is a time gap between the generation and the actual transmission of the reference signal on the transmit side (and a similar latency between the actual arrival and the detection of a packet on the receive side), in one embodiment the ranging measurements are calibrated accordingly. For example, in one embodiment the measurements in device 102 can be calibrated as

[00143] where (TTD) mvι is the transmit-time-delay between the generation of the reference signal and the transmission time from the antenna of device 102, (RTD) DEV ^ is the receive-time-delay between the arrival of the reference signal at the antenna of device 102 and the time it is detected at by the receiver, and7^ c and R ]c are calibrated

transmission time and receive time of the packet, respectively, those are used as the ranging measurements. Similarly, device 104 will yield

[00144] Using the calibrated measurements in (42) and (44), the estimate of time of flight is now given by

[00145] In another embodiment, devices 102, 104 may have different sampling frequencies. In this case, the distribution of the uncertainty due to finite resolution of the clock will no longer be triangular. Suppose devices 102, 104 operate on f x + Af 1 and f 2 + Af 2 respectively, where f and f 2 are the nominal frequencies with / = f x I f 2 . It can be shown that

[00146] Note that with f l = f 2 = f 0 and I = I , equation (46) becomes (34). Assuming that the effect of frequency offset is compensated, equation (46) can be written as

[00147] Thus, comparing equation (47) with equation (7) it is evident that the uncertainty is now changed from Accordingly the distribution of uncertainty is changed and now its domain is from zero to (/ + 1)/ 2. Therefore, for / > 1 , the estimate will have higher uncertainty than before. Considering the new distribution of the uncertainty, appropriate bias can be determined based on the differences of estimates (obtained using clock-offset) from the prior estimate (without any additional clock-offset).

[00148] The inventors conducted simulations with one or more embodiments of the invention to illustrate the effectiveness of the results and the increased accuracy in ranging via time-offset measurements. Results of these simulations are now described. Without loss of generality, consider that (V OF ) jn d time-offset η are

generated from uniform random distribution from 0 to I . ft,, the sampling clock frequency of the clock, is considered to be 528 MHz. This is the minimum clock frequency of ranging implementation of UWB systems proposed by the WiMedia-MBOA.

[00149] For a given realization of ε and η, δ; and δ? can be calculated using equations (5) and (6), respectively. The coarse estimate of time-of- flight (in cycles) t OF /o is calculated using δi and ξ> 2 in equation (7). D n/N is calculated according to equation (21) and a fine unbiased estimate of time of flight (in cycles) ('OF ) N '/o is calculated according to

equation (28) using calculated OF and Ai / /v ■ The MSE (Mean Squared Error) of the

unbiased estimator was obtained from the average of over

10,000 simulation runs and is shown in Figure 16, where N=I corresponds to the conventional case with no additional time-offset measurement. Figure 16 illustrates a performance comparison of time of flight (in clock cycles) estimators using one embodiment of the present invention. From this simulation as illustrated in Figure 16, it is evident that as N increases the performance of the ranging algorithm that uses additional N-I time-offset measurements improves. Table 7 shows the confidence level γ of the time of flight (in cycles) estimator obtained from analysis and simulation.

[0015OJ Ranging estimator d (in cm) is obtained as nd the MSE of

the ranging estimator s obtained from the average over 10000 simulation runs. The results of these are plotted in Figure 17 as a function of N. Figure 17 is a diagram illustrating simulation results for a performance comparison of ranging from ν = 1 to 10, where N = I is a conventional technique, and using N-fo sampling clock frequency. As illustrated in Figure 17, the time-offset ranging measurements yield superior performance to conventional measurement techniques. Further, with higher TV and nlN, (n = 1,...,N -I) the MSE is reduced, and thus performance improves. Figure 17 also illustrates that performance of the ranging estimator is the same with ν *fo clock-frequency and with nlN, « = 1,...,N-1 time-offset measurements. Thus, use of nlN, n = \,.,.,N -\ time-offset measurements is equivalent to the use of N- f 0 sampling clock-frequency. Therefore, when it is not viable to use higher sampling clock frequency in the device, we

can achieve superior ranging performance using ck-offset measurement which is equivalent to using N-/o sampling clock-frequency.

Table 7

Analytical vs. Simulation Results on Confidence Interval

[00151] To show the effectiveness of the present invention, consider a case where / 0 = 528 MHz, with clock accuracy of device 102, p, = 20 ppm and device 104, p, = 15 ppm, and thus the actual frequency offset is . Again, without loss of generality, consider the case o and η are generated from uniform distribution over 0 to 1. m'(k) i s calculated from here T = 25 μsec + ^QF (Table 6) and «(&) is calculated from equation (36) for a given realization of δ 2 (l) (from equation (38), and S 2 (AT) (from equation (39)). The estimate of the clock frequency-offset was obtained as and averaged over 10,000 simulations as shown in Figure 18.

(00152] Figure 18 is a plot illustrating the improvement of the accuracy of clock- frequency offset over the number of ranging measurement sets K in accordance with one embodiment of the invention. From Figure 18, it can be seen that δ/ converges to the actual value of 2640 as the number of ranging measurement gets higher. Note that the detrimental effect of the finite clock resolution is very prominent at the lower values of K.

This phenomenon can be explained from equation (37). 6 2 (I)-B 2 (A:) is a pseudo-periodic function within -1 to 1 that causes oscillation in the estimator. However, m(K) increases linearly with K and thus, at lower values of K, the error term ($20) ~ &2( K )) /m ( K ) is higher and decays as K grows.

[00153] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not of limitation. Thus the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments. Additionally, the invention is described above in terms of various exemplary embodiments and implementations. It should be understood that the various features and functionality described in one or more of the individual embodiments are not limited in their applicability to the particular embodiment with which they are described, but instead can be applied, alone or in some combination, to one or more of the other embodiments of the invention, whether or not such embodiments are described and whether or not such features are presented as being a part of a described embodiment.

[00154] Terms and phrases used in this document, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. As examples of the foregoing: the term "including * ' should be read as mean "including, without limitation" or the like; the term "example" is used to provide exemplary instances of the item in discussion, not an exhaustive or limiting list thereof; and adjectives such as "conventional," "traditional," "normal," "standard," and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available now or at any time in the future. Likewise, a group of items linked with the conjunction "and" should not be read as requiring that each and every one of those items be present in the grouping, but rather should be read as "and/or" unless expressly stated otherwise. Similarly, a group of items linked with the conjunction "or" should not be read as requiring mutual exclusivity among that group, but rather should also be read as "and/or" unless expressly stated otherwise.