The present invention relates generally to wireless communication systems, and, in particular, to a wireless communication system adapted to perform asymmetric double-sided two-way ranging.
In general, in the descriptions that follow, we will italicize the first occurrence of each special term of art which should be familiar to those skilled in the art of ultra-wideband (“UWB”) communication systems. In addition, when we first introduce a term that we believe to be new or that we will use in a context that we believe to be new, we will bold the term and provide the definition that we intend to apply to that term. In addition, throughout this description, we will sometimes use the terms assert and negate when referring to the rendering of a signal, signal flag, status bit, or similar apparatus into its logically true or logically false state, respectively, and the term toggle to indicate the logical inversion of a signal from one logical state to the other. Alternatively, we may refer to the mutually exclusive Boolean states as logic_0 and logic_1. Of course, as is well known, consistent system operation can be obtained by reversing the logic sense of all such signals, such that signals described herein as logically true become logically false and vice versa. Furthermore, it is of no relevance in such systems which specific voltage levels are selected to represent each of the logic states.
By way of example, in an ultra-wideband (“UWB”) communication system, a series of special processing steps are performed by a UWB transmitter to prepare payload data for transmission via a packet-based UWB channel. Upon reception, a corresponding series of reversing steps are performed by a UWB receiver to recover the data payload. Details of both series of processing steps are fully described in IEEE Standards 802.15.4 (“802.15.4”) and 802.15.4a (“802.15.4a”), which are expressly incorporated herein in their entirety by reference. As is known, these Standards describe required functions of both the transmit and receive portions of the system, but specify implementation details only of the transmit portion of the system, leaving to implementers the choice of how to implement the receive portion.
One or more of us have developed certain improvements for use in UWB communication systems, which improvements are fully described in the following pending applications or issued patents, all of which are expressly incorporated herein in their entirety:
“A Method and Apparatus for Transmitting and Receiving Convolutionally Coded Data”, U.S. Pat. No. 7,636,397, issued 22 Dec. 2009;
“A Method and Apparatus for Generating Codewords”, U.S. Pat. No. 7,787,544, issued 31 Jul. 2010;
“A Method and Apparatus for Transmitting and Receiving Convolutionally Coded Data”, U.S. Pat. No. 8,358,709, issued 22 Jan. 2013; and
“Receiver for Use in an Ultra-Wideband Communication System”, U.S. Pat. No. 8,437,432, issued 7 May 2013;
“Convolution Code for Use in a Communication System”, U.S. Pat. No. 8,677,224, issued 18 Mar. 2014;
“Adaptive Ternary A/D Converter for Use in an Ultra-Wideband Communication System”, U.S. Pat. No. 8,436,758, issued 7 May 2013; and
“Receiver for Use in an Ultra-Wideband Communication System”, U.S. Pat. No. 8,760,334, issued 24 Jun. 2014.
In prior art wireless communication systems, one known approach for measuring the distance from device A to device B is to measure the round trip times for an electromagnetic signal such as a group of radio pulses to get the time of flight, Tf. We can then multiply this time, Tf, by the speed of radio waves (i.e., the speed of light) to find the distance from A to B.
For example, in
Ra=2Tf+Db [Eq. 1]
So:
In practice, in A and B, the times are measured by real clocks, Clock A and Clock B, respectively. Because it may not be possible to synchronize these clocks with each other, they will run either faster or slower than an ideal clock, but if they are synchronized to a reference frequency generator, they will run at what can be assumed to be a constant frequency over the duration of the signal exchange. Let us say that Clock A and Clock B run respectively at ka and kb times the frequency of an ideal, true, clock. Any time measurements will be multiplied by these constants, ka or kb. Let us denote the actual time estimates for Ra as {circumflex over (R)}a, for Da as {circumflex over (D)}a and similarly {circumflex over (R)}b and {circumflex over (D)}b are the estimates of Rb and Db. Since {circumflex over (R)}a is measured at A by A's clock:
{circumflex over (R)}a=kaRa [Eq. 3a]
Similarly:
{circumflex over (D)}a=kaDa [Eq. 3b]
{circumflex over (R)}b=kaRb [Eq. 3c]
{circumflex over (D)}b=kaDb [Eq. 3d]
We could use these estimates for Ra, etc., in Eq. 2 to develop an estimate, {tilde over (T)}f, of Tf. However, if the values of ka or kb are unknown, then we cannot calculate Ra, etc. But, if we use {circumflex over (R)}a, {circumflex over (D)}a, etc., as estimates for Ra, Da, etc.:
{circumflex over (R)}a=2{tilde over (T)}f+{circumflex over (D)}b [Eq. 4a]
{circumflex over (R)}a=2{tilde over (T)}f+{circumflex over (D)}b [Eq. 4b]
then we introduce a measurement error. For example, if we consider {tilde over (T)}f1 to be an estimate of Tf:
then the error in this estimation is:
For typical UWB systems, e.g., those based on the IEEE802.15.4a UWB physical layer, (ka−1) and (kb−1) are up to 20 ppm, i.e., 20×10−6, and it is important to keep the error below 100 ps)(1×10−10, which means the delays, e.g., {circumflex over (D)}b, must be kept below about 5 μs. The delay includes the time to send the packet, which is typically >100 μs, so it is not practical to implement such short delays.
An improvement on this has been suggested by Fleming, et al. (U.S. Pat. No. 6,400,754), and later by Menzer, et al. (U.S. Pat. No. 7,843,379). In these schemes, a second round trip messaging round is implemented, for a total of 4 transmitted messages. The packet P2, sent from B not only acknowledges the arrival of P1 but its arrival at A initiates a delay, {circumflex over (D)}a, in A before transmission of a third packet P3 by A. This third packet is received at B and the time for this second round trip is measured at B. In both of these schemes, it is suggested that the delay times {circumflex over (D)}a and {circumflex over (D)}b be made symmetric, i.e., be made to be equal or nearly equal. It is pointed out by Menzer that if this is done and if two estimates are calculated for each of the two round trips and if the two estimates are averaged, the errors almost cancel each other out and the overall error can be made to be acceptably small. Using this prior art method, the error in the average of the two estimates is:
While this is certainly true, we submit that it is an unreasonable burden on systems to require the response delays to always be symmetric, i.e., approximately equal.
We submit that what is needed is an improved method and apparatus for use in the receiver of a wireless communication system to determine ranging. In particular, we submit that such a method and apparatus should provide performance generally comparable to the best prior art techniques, but allow asymmetric delays to be used without significantly reducing accuracy.
In accordance with a preferred embodiment of our invention, we provide an asymmetric double-sided two-way ranging method using three messages, P1, P2, and P3, to complete a pair of round-trip delay measurements between a first device, A, having a first clock, Ca, and a second device, B, having a second clock, Cb. In accordance with our method, in A, we transmit P1 at a selected point in time T0 relative to Ca; then, in B, after an unknown time-of-flight, Tf, we receive P1 at a time T1 relative to Cb; and, after a first transmit delay, {circumflex over (D)}b, we transmit P2 at a time T2 relative to Cb. Again in A, after a first response delay, {circumflex over (R)}a, relative to T0, we receive P2 at a time T3 relative to Ca; and after a second transmit delay, {circumflex over (D)}a, we transmit P3 at a time T4 relative to Ca; and then, in B, after a second response delay, {circumflex over (R)}b, relative to T2, we receive P3 at a time T5 relative to Cb; and develop an estimate, {tilde over (T)}f, of Tf in accordance with a selected one of the following:
In accordance with a further embodiment of our invention, we enhance our method by developing, in B, an estimate of a distance between A and B as a function of {tilde over (T)}f.
The methods of our invention may be embodied in computer readable code on a suitable computer readable medium such that when a processor executes the computer readable code, the processor executes the respective method.
Our invention may be more fully understood by a description of certain preferred embodiments in conjunction with the attached drawings in which:
In the drawings, similar elements will be similarly numbered whenever possible. However, this practice is simply for convenience of reference and to avoid unnecessary proliferation of numbers, and is not intended to imply or suggest that our invention requires identity in either function or structure in the several embodiments.
Recall that we do not know the real delay times, Da and Db, or the round trip times, Ra and Rb. All we have are estimates which we know are in error by a much larger amount than the time of flight we are trying to estimate. Indeed, the amount of error in these estimates is impossible to know without access to a perfect clock.
We know from Eq. 4:
And similarly:
Then from Eq. 8a and Eq. 1:
And similarly:
Then from Eq. 9a and Eq. 3a:
Similarly, from Eq. 9b and Eq. 3b:
In Eq. 10a and Eq. 10b, above, we have elapsed time periods, {circumflex over (R)}a, {circumflex over (R)}b, {circumflex over (D)}a and {circumflex over (D)}b, that we can measure using the respective, local clocks of A and B. But we have no convenient way of measuring ka or kb; and these clock skew errors swamp the value of Tf. We have discovered, however, that if we multiply {circumflex over (R)}a by {circumflex over (R)}b, the bulk of the value of the product will be the product of {circumflex over (D)}a and {circumflex over (D)}b. Thus, for this term in the product, the ka and kb constants effectively cancel each other out. Let us see where this leads:
From Eq. 10a and Eq. 10b:
Then from Eq. 10a and Eq. 13:
On the left hand side, taking out 2Tf and multiplying above and below by kb:
So finally:
Similarly:
So now we have two possible estimates for Tf. Since ka and kb are very close to 1, i.e., 0.99998<ka, kb<1.00002, we can estimate Tf as follows:
Note that these estimates are very close to the actual Tf because ka and kb are very close to one, and, in particular, their accuracy is independent of the delays employed at A and at B.
Whether a system should best use Eq. 17a or Eq. 17b would depend on which clock it expects to be more accurate. For example, if the system consisted of devices with high accuracy clocks in Role B, above, and tags with low accuracy clocks in Role A, above, then it should use Eq. 17a. If it expects neither to be more accurate than the other and it cannot readily calculate the accuracy of either, it would be most accurate to use the average result from Eq. 17a and Eq. 17b since this will always be as good as, or better than, the worst of the two. We have found by experimentation with typical values of delay and clock offset that this average can be approximated by the following:
Note that the value of {circumflex over (R)}a is close to the value of {circumflex over (D)}b, since {circumflex over (D)}b makes up most of the time for this particular round trip measurement. This means that in the denominator of formulas Eq. 17a, Eq. 17b and Eq. 18, {circumflex over (D)}b can be used instead of {circumflex over (R)}a or {circumflex over (R)}a can be used instead of {circumflex over (D)}b without greatly reducing the accuracy. Similarly, {circumflex over (D)}a can be used instead of {circumflex over (R)}b and {circumflex over (R)}b can be used instead of {circumflex over (D)}a, leading, e.g., to:
By way of example, let us assume that one device device sends a packet, P1, to many, say 5, tags. Each tag then responds with a packet to this device in successive responses: Tag 1 responds with packet 2a after time t; Tag 2 responds with packet 2b after time 2t; Tag 3 responds with packet 2c after time 3t; Tag 4 responds after time with packet 2d 4t; and Tag 5 responds with packet 2e after time St. Now, the device closes off the round with a final packet 3. Each tag can now calculate its distance from the device after a sequence of just 7 messages. If the device had used SDS-TWR, it would be forced to have the same delay for each tag interaction and a minimum of 3 messages per tag, or 15 messages would be required. In accordance with our invention, the number of packets required is N+2 instead of 3N. By thus allowing asymmetric delays, our invention results in a significant reduction in airtime and power consumption.
Consider now a system with a mobile tag (on an asset, say) that sends a packet P1 received by many fixed devices in an infrastructure, where three of which reply in turn with packets P2a, P2b, P2c, after which the tag sends P3 received by all three devices. Then, using our invention, each of the three devices independently calculates its distance to the tag. These three distances can then be combined in an infrastructure-based-solver to locate the tag by triangulation. This allows the tag/asset to be located after sending 2 messages and receiving 3. If symmetric timings were needed, as in the prior art, then this process would require a minimum of 6 transmissions and 3 receptions to complete.
In the case of a peer-to-peer network of N mobile nodes where each node wants to find its distance to every other peer node as part of solving their relative location, then this is ½N(N−1) distance measurements. For example, for a 5 node system, this consists of 10 distinct distance measurements. With the prior art symmetric double-sided ranging, this requires 3 messages per distance measurement. In some cases, there may also be a need to send an additional message to communicate the results, which could be 1 per distance measurement or just 1 per node containing all the results which that node calculated. This is then a total of 35 to 40 messages in the 5 node example case. Using our asymmetric ranging invention, as illustrated in
Let us define the three messages of the ranging exchange as: the Poll, P, sent by the initiator; the Response, R; and the Final message, F, that completes the two round trips; and, further, define the result communicated as a time-of-flight report message, T. If we enumerate these messages as P, R, F and T, with subscripts indicating the source and destination node addresses, and number the nodes from 1 to 5, then the 10 ranging exchanges for the 5 nodes can be achieved with the 10 messages listed in table 1:
As can be seen, this then is a substantial saving on message traffic (saving battery power and air-time). However, the ranging exchanges are highly asymmetric: in the Table 1 example, above, the ranging exchange between node 1 and node 5 starts with the poll from node 1 at message #1, then the response from node 5 is at message #5 and the final from node 1 is message #6. If these message times are in units approximately 200 μs, then these two round trips are asymmetric with timings of approximately 800 μs versus 200 μs. This scheme then only works well when the asymmetric nature of the communications does not lead to a large ranging error. Fortunately, however, there are many other examples where flexible response delays are an advantage.
As noted above,
As shown in
Thus it is apparent that we have provided an improved method and apparatus for use in the receiver of a wireless communication system to determine ranging. Although we have so far disclosed our invention only in the context of a packet-based UWB communication system, we appreciate that our invention is broadly applicable to other types of wireless communication systems, whether packed-based or otherwise, that perform ranging using response time stamps. Further, we submit that our invention provides performance generally comparable to the best prior art techniques but more efficiently than known implementations of such prior art techniques.
This application is related to Provisional Application Ser. No. 62/160,469, filed 12 May 2015 (“Parent Provisional”). This application claims priority to the Parent Provisional, and hereby claims benefit of the filing date thereof pursuant to 37 CFR §1.78(a)(4). The subject matter of the Parent Provisional, in its entirety, is expressly incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2016/060785 | 5/12/2016 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2016/180952 | 11/17/2016 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5748891 | Fleming et al. | May 1998 | A |
6400754 | Fleming et al. | May 2002 | B2 |
7843379 | Menzer | Nov 2010 | B2 |
20110119024 | Nam | May 2011 | A1 |
20150331099 | Wu | Nov 2015 | A1 |
20170059701 | Oh | Mar 2017 | A1 |
20170063477 | Reisinger | Mar 2017 | A1 |
Number | Date | Country |
---|---|---|
WO 2006059296 | Jun 2006 | WO |
WO 2006059296 | Jun 2006 | WO |
WO 2009110669 | Sep 2009 | WO |
Number | Date | Country | |
---|---|---|---|
20180059235 A1 | Mar 2018 | US |
Number | Date | Country | |
---|---|---|---|
62160469 | May 2015 | US |