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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0; where {circumflex over (t)}OF is the first time-of-flight measurement, ({circumflex over (t)}OF)1/2 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
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, as ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0; where {circumflex over (t)}OF is the first time-of-flight measurement, ({circumflex over (t)}OF)1/2 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
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 {circumflex over (t)}OF is the first time-of-flight measurement, ƒ0 is the clock frequency, and Dn/N, n=0, 1, . . . , N−1 is the difference between the zero-th (n=0) estimate with no additional offset and an n-th estimate with n/N offset; and computing a refined estimate of the time of flight of the signal based on the difference, wherein the refined estimate is determined as
In another embodiment, the refined estimate is determined as
where α, β and c are constants.
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.
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.
a) is a diagram illustrating an example of the ranging inaccuracy due to δ1 and δ2 and insertion of ½ clock period time-offset in device 102 clock in accordance with one embodiment of the invention.
b) is a diagram illustrating an example of the relation between time-offset η and (η)1/2− (with ½ clock-period offset) when ½<η<1.
c) is a diagram illustrating an example of the relation between time-offset η and (η)1/2 (with ½ clock-period offset) where 0<η<½.
a) is a diagram illustrating a case where the (ε, η) plane is separated with respect to δ1≧½, δ1<½.
b) is a diagram illustrating a case where the (ε, η) plane is separated with respect to δ2≧½, δ2<½.
c), is a diagram illustrating a case where the (ε, η) plane is separated as a joint function of δ1 and δ2 on the basis of δ1<½, δ2<½, δ1<½, δ2≧½, δ1≧½,δ2<½, and δ1≧½,δ2≧½.
for a given {Dn/N}n=0N−1.
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.
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.
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
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
Additionally, the example environment illustrated in
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.
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.
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.
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.
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.
According to the convention adopted in
Therefore, given the above described conventions adopted in
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
where ƒ0 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.
Because the distance between two devices is given by d=tOF*c, and c for an electromagnetic wave in free space is very large (on the order of 3*1010 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.
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−1, are used in the ranging measurements.
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.
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.
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.
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.
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.
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.
Referring still to
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
While δ2, η, T1 and R2 are expressed here in the unit of clock cycles, the time of flight, tOF is an actual elapsed time, for example, time expressed in seconds. Therefore, with ƒ0 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).
δ2=┌tOF·ƒ0−η┐−(tOF·ƒ0−η). (3)
As stated above with reference to
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, tOF·ƒ0, can be expressed as tOF·ƒ0=(tOF·ƒ0)int+ε, where (tOF·ƒ0)int is the integer number of the clock period and ε is the fractional portion of the time-of-flight clock period, where ε is less than one clock cycle.
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 δ1 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
δ1=┌ε+η┐−(ε+η). (5)
Likewise, δ2 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
δ2=┌ε−η┐−(ε−η). (6)
Thus, δ1 and δ2 can be expressed independently of (tOF·ƒ0)int.
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), δ1 and δ2, are also uniformly distributed.
With the measurements T1, R1 in device 102 and T2, R2 in device 104, the estimate of number of clock cycles elapsed during time of flight {circumflex over (t)}OF 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, {circumflex over (t)}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 ½ of the number of cycles due to round trip inaccuracies), as also illustrated in equation (7):
Because δ1 and δ2 are each less than one clock cycle in duration, (i.e., 0≦δ1<1 and 0≦δ2<1), the uncertainty in the estimate {circumflex over (t)}OF is less than 1 clock period. In other words, ({circumflex over (t)}OF−tOF)·ƒ0<1. Further, from equation (7), it is evident that with the increase of the sampling clock-frequency ƒ0, the uncertainty of the estimate, {circumflex over (t)}OF, is reduced in an inversely proportional manner.
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.
First, consider an example communication system where data transmission is assumed to occur at approximately the speed of light, c. With c=3×1010 cm/sec, the estimate of the distance between two devices is given by
Consider, for example, a system having a default minimum clock frequency ƒ0=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:=(δ1+δ2)/2, consider that δ1 and δ2 are independent and thus the distribution of δ1+δ2 is the convolution of two probability density functions, and the probability density function v:=(δ1+δ2)/2 is therefore triangular and given by:
Because the estimated number of cycles equals the actual number of cycles plus the uncertainty, or {circumflex over (t)}OF·ƒ0=tOF·ƒ0+v, an unbiased estimator {hacek over (t)}OF·ƒ0={circumflex over (t)}OF·ƒ0−E(v)={circumflex over (t)}OF·ƒ0−0.5 can be 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, tOF ƒ0, lies within ±Δ of the estimator time of flight. That is, the probability that tOF·ƒ0, lies between {hacek over (t)}OF·ƒ0−Δ and {hacek over (t)}OF·ƒ0+Δ is γ. 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.
Thus, the ranging estimate for the distance is given by {hacek over (d)}={hacek over (t)}OF·c and the confidence interval of the ranging estimator {hacek over (d)} is denoted as Δd, which is related to Δ as Δd=(±Δ·c)/ƒ0, where Δ and Δd 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 ƒ0=528 MHz, this inaccuracy translates to 25.56 cm in distance.
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−1 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 ½ period offset, the more general case of an n/N offset is described below.
As stated above, in one embodiment ranging measurements are made with ½ clock period offset with respect to the previous ranging measurements in device 102 to reduce the uncertainty of the estimation of time of flight, tOF.
In a step 804, a second measurement is conducted. For the second measurement 704, the clock in device 102 is offset by ½ 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 (η)1/2, after introducing ½ clock period time-offset in the clock of device 102 is now:
The new time of flight, tOF, for this second measurement is computed as described above, but using timing measurements (T1)1/2, (T2)1/22, (R1)1/2, and (R2)1/2 as shown in
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:
with (η)1/2 as defined in equation (10).
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
Substituting the values obtained from equations (5), (6), (12) and (13) into equation (14) yields.
Substituting the value of (η)1/2 as defined in equation (10) into equation (15), yields:
The expression of η<½ in (16) can be written as
Thus, ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0 can be expressed entirely in terms of the offset η and the fractional portion of the time of flight ε as:
which can be evaluated in terms of ε and η. In one embodiment, this expression can be evaluated in the (ε, η) plane.
In a step 808, a range of the inaccuracies, δ1 and δ2, is determined.
The different regions of ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0 in the (ε, η) plane can be translated to the functions of δ1 and δ2 with the help of
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, ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0, it can be determined whether (δ1+δ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.
Knowing the difference between the two time-of-flight measurements (as determined in step 806), ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0, in step 810, the refined estimate can be calculated and compared with the measurement case where there was no time offset.
The three cases of ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0=−½, ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0, and ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0=½ are now discussed. 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, ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0=−½ the values for the inaccuracies, δ1 and δ2, are as follows
Because δ1 and δ2 are independent, the probability density function of δ1+δ2 can be determined as the convolution of two uniform probability density functions U(0, 0.5) resulting in a triangular function. Thus, the probability density function of v=(δ1+δ2)/2 is given by:
Thus an unbiased estimate can be formed as {hacek over (t)}OF·ƒ0={circumflex over (t)}OF·ƒ0−0.25, and the confidence interval, ±Δ, for confidence γ as
Values of the confidence intervals Δ for different γ are tabulated below.
Similarly, when ({circumflex over (t)}OF−({circumflex over (t)}OF)1/2)·ƒ0=0, we know that 0<δ1<½ and ½≦δ2<1 or 0<δ2<½ and ½≦δ1<1. Thus, due to independence of δ1 and δ2 the PDF of δ1+δ2 is the convolution of U(0,0.5) and U(0.5,1) resulting to the probability density function of v=(δ1+δ2)/2 as
Consequently, an unbiased estimate can be made as {hacek over (t)}OF·ƒ0={circumflex over (t)}OF·ƒ0−0.5, 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.
With {circumflex over (t)}OF−({circumflex over (t)}OF)1/2=½ the viable ranges of δ1 and δ2 are ½≦δ1<1 and ½≦δ2<1. The probability density function of δ1 +δ2 is the convolution of U(0.5, 1) and U(0.5, 1), and accordingly the probability density function of v=(δ1+δ2)/2 is given by
The unbiased estimate is {hacek over (t)}OF·ƒ0={circumflex over (t)}OF·ƒ0−0.75 and confidence intervals Δ of for different confidences γ 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
Referring now to
These refined estimates can be generalized as
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=½), the more general case of n/N is now described. More particularly, the case where ranging measurements with n/N, n=0, . . . , N−1, clock-offsets are considered for any integer value of N≧1 with n=0, 1, 2, . . . , N−1, where n=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 (η)n/N is the clock-offset between two devices with n/N clock-offset introduced between the devices and with n=0, (η)n/N=η representing the initial clock-offset that is present between the devices prior to any additional clock-offset measurements.
From a convention perspective, let ({circumflex over (t)}OF)n/N be the estimated time of flight using an n/N clock-offset. Thus, with the measurement set (T1)n/N, (R1)n/N, (T2)n/N and (R2)n/N, ({circumflex over (t)}OF)n/N in cycles can be written as
where (δ1)n/N=┌ε+(η)n/N┐−(ε+(η)n/N) and (δ2)n/N=┌ε−(η)n/M┐−(ε−(η)n/m).
Subtracting equation (19) from equation (7) yields the difference between the two measurements in terms of clock cycles as shown in equation 20.
Substituting δ1,δ2, (δ1)n/N and (δ2)n/N into equation (20), yields:
with n=0, Dn/N=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.
Thus, using (22), (24) and (4), yields
Similarly, using (23), (25) and (6), yields
Therefore, using (26) and (27), Dn/N can be calculated in equation (21) as outlined in Table 3, below. Note that for different values of Dn/N at each η, the sequence D(N−1)/N, D(N−2)/N, . . . , D1/N obtained from the ranging measurements with offsets (N−1)/N, . . . , 1/N, 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 δ1 and δ2 satisfying all the individual domains at each value of η.
Table 4 illustrates all such sequences with their valid domain of δ1+δ2, and (δ1+δ2)/2. Because δ1 and δ2 are independent, for a given valid sequence, the probability density function of (δ1+δ2)/2 is triangular as shown in
where {circumflex over (t)}OF 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) α=1, β=1 and c=0.
Accordingly, the confidence interval in (7) around ({hacek over (t)}OF)N·ƒ0 for confidence level γ is given by
Therefore, it is apparent from equation (29) that as N increases, n/N, n=0, . . . , N−1 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.
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, N=1 represents the case where no additional time-offset measurements are made. The block diagram for the half-clock-period offset shown in
The fundamental results can be summarized in the following theorem.
Theorem-1: When the error due to finite clock resolution in two-way ranging is modeled as δ1∈U(0,1) and δ2∈U(0,1) as in (5) and (6), respectively, the coarse estimate of time of flight (in clock cycles with ƒ0 as sampling clock frequency) is given by ({circumflex over (t)}OF·ƒ0=tOF·ƒ0+(δ1+δ2)/2, and the estimate of time of flight with n/N, n=0, . . . , N−1 clock-period offset introduced in the device that initiates the ranging measurement is given by ({circumflex over (t)}OF)n/N·ƒ0=tOF·ƒ0+((δ1)n/N +(δ2)n/N)/2. The case of n=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 Dn/N=2({circumflex over (t)}OF−({circumflex over (t)}OF)n/N)·ƒ0 with n=0, Dn/N=0 and confidence interval Δ=(1±√{square root over (1−γ)})/2N, 0≦Δ≦1/2N.
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.
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.
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, fi(t), is given by
fi(t)=ƒ0+Δf+Df·(t−t0)+ε(t), (30)
where ƒ0 is the nominal oscillator frequency, Δf is the frequency bias, Df is the frequency drift in Hz/sec, t0 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 t is given by
and accordingly, observed clock timing ti(t) at time t is
where t0i is the clock timing at the reference epoch t0.
For the remainder of this analysis, assume that the Df=0 and ε(t)=0, and thus using equation (31), the clock-inaccuracy in time can be expressed as:
Therefore, the clock inaccuracy in time is due to clock offset t0i−t0 (equivalent to δ1 and δ2 inaccuracy in ranging) at the starting epoch and clock drift, which is quantified by ρ(t−t0). Further, the clock drift is caused due to the presence of clock-frequency offset Δf .
In the previous section, the effect on ranging of a finite clock resolution that causes time-offset δ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 R1 and T1, i.e., n=R1−T1. Similarly m=T2−R2=TDEV represents the number of clock cycles elapsed in device 104. Further, let ƒ0+Δf1 and ƒ0+Δf2 represent the frequency of the clocks in device 102 and device 104 respectively, where ƒ0 is nominal frequency of the clocks and Δf1 and Δf2 are the frequency offset of the clocks in device 102 and device 104, respectively. Therefore, tOF in seconds can be expressed as
In equation (32), since Δf1<<ƒ0 and Δf2<<ƒ0 the Taylor's series is truncated, ignoring the higher order terms.
In one embodiment, consider, Δδ1<<n, and Δδ2<<m, and n/ƒ0≈m/ƒ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 10 m resulting in tOF≦33.33 nsec. Therefore, since where n is greater than m by 2tOF and tof is very small, equation (33) can be further simplified as:
Therefore, to get rid of the inaccuracy due to clock drift, in one embodiment, both Δf1 and Δf2, in other words, the clock drift of both of the clocks in device 102 and device 104, is used. However, to estimate Δf1 and Δf2 separately is not always possible due to unavailability of exact time elapsed during the measurements. Therefore, a method of estimating the quantity Δf1-Δf2 is now described. This technique allows removal or at least diminishing of the inaccuracy due to clock-frequency offset.
Note that in the illustrated embodiment, all of the K≧2 sets of measurements, namely, T1(1), T2(1), . . . , T1(K), T2(K), R1(1), R2(1), . . . , R1(K) 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, tOF, the clock offset between two devices v, and measurement inaccuracy due to finite clock resolution φ1 and φ2 are in seconds. Let n′(K) be the number of cycles elapsed in device 102 between the measurements of T1(K) and T1(1) and m′(K) is the number of cycles elapsed in device 104 between the measurements of R2(K) and R2(1).
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 Δ{circumflex over (f)}(K)=ƒ0(n′(K)−m′(K))/m′(K), and δ2(1)=φ2(1)·(ƒ0+Δf2) and δ2(K)=φ2(N)·(ƒ0+Δf2) are inaccuracies in the measurements of the arrival time at device 104 given by R2(1) and R2(K), respectively, due to finite clock resolution.
δ2(1) and δ2(K) are given by
where η(K)=η+mod(Δf·2(K−1)T)1 is the clock-offset that occurs between two devices 102, 104 during the start of K sets of ranging measurements, namely, between T1(K) and R2(K), and T=TRMpacket+SIFS+tOF with TRMpacket denoting the duration of the RM (Ranging Measurement) packet, and SIFS denoting the short interframe spacing.
TRMpacket, the 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 δ2(1)−U(0,1) and δ2(K)−U(0,1), and thus assuming independence of δ2(1) and δ2(K) over the realization of ε, η and K, the distribution of δ2(1)−δ2(K) is triangular from −1 to 1 with a mean of zero. Therefore, using m′(k)=2(k−1)T·(ƒ0+Δf2) in (37) and the sample mean of Δ{circumflex over (f)}(k) for k=K1, . . . , 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 K, 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.
where NIBP6S is the number of info bits per 6 OFDM symbol.
Note that as k goes bigger the error term in the estimate gets smaller and we should consider higher value for K1 and K for better estimate. The estimate of Δ{circumflex over (f)} can be used appropriately to get rid of the effect of clock-frequency offset from the ranging estimate.
To apply the time-offset measurements with n/N, n=0,1, . . . , N−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 n/N, n=1, . . . , N−1.
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.
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.
For example, with ρ=Δf/ƒ0 (in ppm) clock-frequency offset, and nominal frequency, ƒ0, x number of clock cycles required to obtain an n/N, n=1, . . . , N−1 clock-period time-offset is given by
where mod (·)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 T=TRMpacket+SIFS+tOF where x is required set of ranging.
Equations (40) and (41) can be solved numerically for integer value of x. For example, for a ρ=40 ppm, ƒ0=528 MHz, T=25 μsec and a ½ clock-period offset (n=1, N=2), x=12500 cycles according to (40) and x≈9 sets of ranging measurements according to (41). Likewise, for ⅓ and ⅔ (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.
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.
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.
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 WPAN. 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.
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
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
T1c=T1+(TTD)DEV1
R1c=R1−(RTD)DEV1 (43)
where (TTD)DEV1 is the transmit-time-delay between the generation of the reference signal and the transmission time from the antenna of device 102, (RTD)DEV1 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, and T1c and R1c are calibrated transmission time and receive time of the packet, respectively, those are used as the ranging measurements. Similarly, device 104 will yield
T2c=T2+(TTD)DEV2
R2c=R2−(RTD)DEV2 (44)
Using the calibrated measurements in (42) and (44), the estimate of time of flight is now given by
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 f1+Δf1 and f2+Δf2 respectively, where f1 and f2 are the nominal frequencies with l=f1/f2. It can be shown that
Note that with f1=f2=ƒ0 and l=1, equation (46) becomes (34). Assuming that the effect of frequency offset is compensated, equation (46) can be written as
Thus, comparing equation (47) with equation (7) it is evident that the uncertainty is now changed from (δ1+δ2)/2 to (d1+δ2)/2. Accordingly the distribution of uncertainty is changed and now its domain is from zero to (l+1)/2. Therefore, for l>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).
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 (tOF)int·ƒ0=1. ε=tOF·ƒ0−(tOF)int·ƒ0 and time-offset η are generated from uniform random distribution from 0 to 1. ƒ0, 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.
For a given realization of ε and η, δ1 and δ2 can be calculated using equations (5) and (6), respectively. The coarse estimate of time-of-flight (in cycles) {circumflex over (t)}OF·ƒ0 is calculated using δ1 and δ2 in equation (7). Dn/N is calculated according to equation (21) and a fine unbiased estimate of time of flight (in cycles) ({hacek over (t)}OF)N·ƒ0 is calculated according to equation (28) using calculated {circumflex over (t)}OF and Dn/N. The MSE (Mean Squared Error) of the unbiased estimator MSE(N)=E[((({hacek over (t)}OF)N−tOF)·ƒ0)2] was obtained from the average of over 10,000 simulation runs and is shown in
Ranging estimator {hacek over (d)} (in cm) is obtained as {hacek over (d)}N=({hacek over (t)}OF)N·c and the MSE of the ranging estimator MSE(N)=E[({hacek over (d)}N−d)2] is obtained from the average over 10000 simulation runs. The results of these are plotted in
To show the effectiveness of the present invention, consider a case where ƒ0=528 MHz, with clock accuracy of device 102, ρ1=20 ppm and device 104, ρ2=15 ppm, and thus the actual frequency offset is Δf1=Δf1−Δf2=ƒ0(ρ1−ρ2)=2640 Hz. Again, without loss of generality, consider the case of (tOF)int=1. ε and η are generated from uniform distribution over 0 to 1. m′(k) is calculated from m′(k)=2(k−1)T·(ƒ0+Δf2), where T=25 μsec+tOF (Table 6) and n(k) is calculated from equation (36) for a given realization of δ2(1) (from equation (38), and δ2(K) (from equation (39)). The estimate of the clock frequency-offset was obtained as Δ{circumflex over (f)}(K)=ƒ0(n′(K)−m′(K))/m′(K) and averaged over 10,000 simulations as shown in
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.
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.
Number | Name | Date | Kind |
---|---|---|---|
6002708 | Fleming et al. | Dec 1999 | A |
6137749 | Sumner | Oct 2000 | A |
6587526 | Li et al. | Jul 2003 | B1 |
6697768 | Jones et al. | Feb 2004 | B2 |
6914560 | Spilker et al. | Jul 2005 | B2 |
7135903 | Kizer et al. | Nov 2006 | B2 |
7286624 | Woo et al. | Oct 2007 | B2 |
20020155845 | Martorana | Oct 2002 | A1 |
20040072582 | Aljadeff et al. | Apr 2004 | A1 |
20060083340 | Gezici et al. | Apr 2006 | A1 |
20060170565 | Husak et al. | Aug 2006 | A1 |
20070075900 | Johnson | Apr 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20070200759 A1 | Aug 2007 | US |