MOBILE DEVICE FREQUENCY OFFSET DETERMINATION AND TDoA LOCALIZATION
20220385519 · 2022-12-01
Inventors
- Pablo Corbalán Pelegrín (Graz, AT)
- Michael Schober (Graz, AT)
- Srivathsa Masthi Parthasarathi (Bangalore, IN)
- Stefan Lemsitzer (Stainz, AT)
Cpc classification
H04J3/0638
ELECTRICITY
International classification
Abstract
A method of estimating a clock frequency offset in a mobile device relative to a clock frequency of a controller within a UWB network comprises (a) determining, for each of a plurality of anchors, an anchor clock frequency offset relative to the controller clock frequency, (b) broadcasting an anchor data packet from each anchor, the anchor data packet including the respective anchor clock frequency offset, (c) receiving at least one anchor data packet at the mobile device, (d) estimating a mobile device clock frequency offset relative to the anchor clock frequency of the anchor from which the at least one anchor data packet was received, and (e) estimating the clock frequency offset in the mobile device based on the estimated mobile device clock frequency offset and the anchor clock frequency offset included in the at least one received anchor data packet. Furthermore, a TDoA-based localization method and a TDoA-based localization system are described.
Claims
1-15. (canceled)
16. A method of estimating a clock frequency offset in a mobile device relative to a clock frequency of a controller within a UWB network, the UWB network comprising a plurality of anchors in communication with the controller and the mobile device, each anchor in the plurality of anchors having a respective anchor clock, the method comprising: determining, for each of the plurality of anchors, an anchor clock frequency offset relative to the controller clock frequency; broadcasting an anchor data packet from each anchor, the anchor data packet including the respective anchor clock frequency offset; receiving at least one anchor data packet at the mobile device; estimating a mobile device clock frequency offset relative to the anchor clock frequency of the anchor from which the at least one anchor data packet was received; and estimating the clock frequency offset in the mobile device based on the estimated mobile device clock frequency offset and the anchor clock frequency offset included in the at least one received anchor data packet.
17. The method according to claim 16, wherein estimating the mobile device clock frequency offset relative to the anchor clock frequency utilizes carrier frequency offset estimation based on carrier integration.
18. The method according to claim 16, wherein estimating the clock frequency offset in the mobile device comprises calculating a sum of the estimated mobile device clock frequency offset and the anchor clock frequency offset included in the at least one received anchor data packet.
19. The method according to claim 16, wherein determining the anchor clock frequency offset relative to the controller clock frequency comprises: receiving a first controller data packet at the anchor, the first controller data packet comprising a first controller timestamp indicating the time of transmission at the controller, and recording the time of receipt of the first controller data packet at the anchor as a first anchor timestamp; receiving a second controller data packet at the anchor, the second controller data packet comprising a second controller timestamp indicating the time of transmission at the controller, and recording the time of receipt of the second controller data packet at the anchor as a second anchor timestamp; and determining the anchor clock frequency offset by calculating a difference between the second controller timestamp and the first controller timestamp and dividing the calculated difference with a difference between the second anchor timestamp and the first anchor timestamp.
20. The method according to claim 16, further comprising: receiving a plurality of anchor data packets at the mobile device; estimating, for each of the received anchor data packets, a mobile device clock frequency offset relative to the anchor clock frequency of the anchor from which the anchor data packet was received; and estimating the clock frequency offset in the mobile device relative to the clock frequency of the controller based on the estimated mobile device clock frequency offsets relative to the anchor clock frequencies and the anchor clock frequency offsets relative to the controller clock frequency included in the received anchor data packets.
21. The method according to claim 20, wherein estimating the clock frequency offset in the mobile device comprises calculating, for each of the anchors from which the plurality of anchor data packets was received, a sum of the estimated mobile device clock frequency offset and the anchor clock frequency offset included in the anchor data packet received from the corresponding anchor.
22. The method according to claim 21, wherein estimating the clock frequency offset in the mobile device further comprises statistical processing of the calculated sums.
23. The method according to claim 22, wherein the statistical processing comprises calculating an average value of the calculated sums.
24. A TDoA-based method of localizing a mobile device within a UWB network, the UWB network comprising a controller and a plurality of anchors in communication with the controller and the mobile device, each anchor in the plurality of anchors having a respective anchor clock and the controller having a controller clock, the method comprising: determining, for each of the plurality of anchors, an anchor clock frequency offset relative to the controller clock frequency; broadcasting an anchor data packet from each anchor, the anchor data packet including the respective anchor clock frequency offset and an anchor timestamp; receiving a plurality of anchor data packets at the mobile device, each anchor data packet originating from one of the plurality of anchors; recording, for each of the received anchor data packets, a corresponding timestamp of arrival; estimating, for each of the received anchor data packets, a mobile device clock frequency offset relative to the anchor clock frequency of the anchor from which the anchor data packet was received; estimating a clock frequency offset in the mobile device relative to the clock frequency of the controller based on the estimated mobile device clock frequency offsets relative to the anchor clock frequencies and the anchor clock frequency offsets included in the received anchor data packets; and determining a location of the mobile device based on the anchor timestamps in the received anchor data packets, the recorded timestamps of arrival for each of the received anchor data packets, and the estimated clock frequency offset in the mobile device.
25. The method according to claim 24, wherein estimating the mobile device clock frequency offset relative to the anchor clock frequency utilizes carrier frequency offset estimation based on carrier integration.
26. The method according to claim 24, wherein determining, for each of the plurality of anchors, the anchor clock frequency offset relative to the controller clock frequency comprises: receiving a first controller data packet at the anchor, the first controller data packet comprising a first controller timestamp indicating the time of transmission at the controller, and recording the time of receipt of the first controller data packet at the anchor as a first anchor timestamp; receiving a second controller data packet at the anchor, the second controller data packet comprising a second controller timestamp indicating the time of transmission at the controller, and recording the time of receipt of the second controller data packet at the anchor as a second anchor timestamp; and determining the anchor clock frequency offset by calculating a difference between the second controller timestamp and the first controller timestamp and dividing the calculated difference with a difference between the second anchor timestamp and the first anchor timestamp.
27. The method according to claim 24, wherein estimating the clock frequency offset in the mobile device comprises calculating, for each of the anchors from which the plurality of anchor data packets was received, a sum of the estimated mobile device clock frequency offset and the anchor clock frequency offset included in the anchor data packet received from the corresponding anchor.
28. The method according to claim 27, wherein estimating the clock frequency offset in the mobile device further comprises statistical processing of the calculated sums.
29. The method according to claim 28, wherein the statistical processing comprises calculating an average value of the calculated sums.
30. A TDoA-based localization system, the system comprising: at least one UWB enabled mobile device having a mobile device clock; and a UWB network, the UWB network comprising a controller and a plurality of anchors, each anchor in the plurality of anchors having a respective anchor clock and the controller having a controller clock, wherein each of the anchors is configured to: determine an anchor clock frequency offset relative to the controller clock frequency; and broadcast an anchor data packet, the anchor data packet including the respective anchor clock frequency offset and an anchor timestamp; wherein the at least one mobile device is configured to: receive a plurality of anchor data packets, each anchor data packet originating from one of the plurality of anchors; record, for each of the received anchor data packets, a corresponding timestamp of arrival; estimate, for each of the received anchor data packets, a mobile device clock frequency offset relative to the anchor clock frequency of the anchor from which the anchor data packet was received; estimate a clock frequency offset in the mobile device relative to the clock frequency of the controller based on the estimated mobile device clock frequency offsets relative to the anchor clock frequencies and the anchor clock frequency offsets included in the received anchor data packets; and determine a location of the mobile device based on the anchor timestamps in the received anchor data packets, the recorded timestamps of arrival for each of the received anchor data packets, and the estimated clock frequency offset in the mobile device.
31. The system according to claim 30, wherein the at least one mobile device is configured to estimate the mobile device clock frequency offset relative to the anchor clock frequency by utilizing carrier frequency offset estimation based on carrier integration.
32. The system according to claim 30, wherein each of the anchors is configured to determine the anchor clock frequency offset relative to the controller clock frequency by: receiving a first controller data packet at the anchor, the first controller data packet comprising a first controller timestamp indicating the time of transmission at the controller, and recording the time of receipt of the first controller data packet at the anchor as a first anchor timestamp; receiving a second controller data packet at the anchor, the second controller data packet comprising a second controller timestamp indicating the time of transmission at the controller, and recording the time of receipt of the second controller data packet at the anchor as a second anchor timestamp; and determining the anchor clock frequency offset by calculating a difference between the second controller timestamp and the first controller timestamp and dividing the calculated difference with a difference between the second anchor timestamp and the first anchor timestamp.
33. The system according to claim 30, wherein the at least one mobile device is configured to estimate the clock frequency offset in the mobile device by calculating, for each of the anchors from which the plurality of anchor data packets was received, a sum of the estimated mobile device clock frequency offset and the anchor clock frequency offset included in the anchor data packet received from the corresponding anchor.
34. The system according to claim 33, wherein the at least one mobile device is further configured to estimate the clock frequency offset in the mobile device by performing statistical processing of the calculated sums.
35. The method according to claim 34, wherein the statistical processing comprises calculating an average value of the calculated sums.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0048]
[0049]
[0050]
[0051]
DETAILED DESCRIPTION
[0052] The illustration in the drawing is schematic. It is noted that in different figures, similar or identical elements are provided with the same reference signs or with reference signs, which differ only within the first digit.
[0053]
[0054]
[0055] To perform TDoA localization, the set of anchors A1-A4 must be time synchronized, e.g., in order to translate all timestamps to a common time domain, i.e., the common time base (CTB) of the controller A1. The anchors A1-A4 may be synchronized using a wired infrastructure (not shown) where the controller clock is directly distributed to all controlled anchors A2-A4 or using in-band wireless clock synchronization. In the latter case, the anchors must measure their clock offset and clock frequency offset with regard to the controller anchor A1. To measure the clock offset θ.sub.i,ref between controlled anchor i (the controlled anchor may also be denoted controlee) and the controller ref, the controlled anchors A2-A4 must simply compare the TX and RX timestamp of a controller packet and account for the known time of flight (ToF) τ.sub.i,ref between them as follows:
θ.sub.i,ref=r.sub.i.sup.SYNCH−t.sub.ref.sup.SYNCH−τ.sub.i,ref
where r.sub.i.sup.SYNCH and t.sub.ref.sup.SYNCH denote the RX and TX timestamp of the Synch packet at the controlled anchor and at the controller, respectively. Note that any other controller message can be used for this purpose.
[0056] In turn, to determine the frequency offset of anchors A2-A4 with regard to the controller A1, the anchors A2-A4 can compare the time elapsed as measured at the receiver and at the transmitter between two consecutive packets from the controller, e.g., the Synch-Blink pair S, B1 or two other data packets from consecutive TDoA exchanges. In the case of two consecutive Synch packets, we obtain:
[0057] The estimated clock offset θ.sub.i,ref and frequency offset K.sub.i,ref can be then used to translate TX timestamps to the common time base (CTB) of the controller or to compensate for the frequency offset of the anchors A2-A4 during their response delays. This information must be shared with mobile devices M so that they can perform TDoA localization.
[0058] To improve TDoA localization, the mobiles devices M must also estimate their frequency offset with regard to the controller anchor A1. The conventional approach to do this is based on two consecutive packets from the controller as shown in
[0059] Afterwards, it can compensate for its frequency offset in each TDoA measurement Δt.sub.i,ref as follows:
{circumflex over (Δ)}t.sub.i,ref=K.sub.M,ref(r.sub.M.sup.Blink,i−r.sub.M.sup.Blink,ref)−(t.sub.i.sup.Blink,i−t.sub.ref.sup.Blink,ref)
[0060] Here, r.sub.m,Blink,i, r.sub.M.sup.Blink,ref denote the RX timestamps of the Blink data packet Bi from anchor i and the controller ref, while t.sub.i.sup.Blink,i, t.sub.ref.sup.Blink,ref denote the TX timestamps in CTB of the same packets.
[0061] The main problem in existing approaches is that the mobile devices M need to receive the two transmitted packets S and B1 from the controller A1 to estimate their frequency offset, see
[0062] These and other issues are addressed by the methods of determining clock frequency offset relative to the controller clock as presented herein.
[0063]
∈.sub.M,ref=∈.sub.M,i+∈.sub.i,ref
[0064] Here, ∈.sub.M,i denotes the estimated mobile device clock frequency offset relative to anchor i, while ∈.sub.i,ref denotes the anchor clock frequency offset included in the anchor data packet received from anchor i.
[0065] In many practical implementations, the mobile device M may receive anchor packets from a plurality of anchors A2-A4. It should be noted that any number of anchors may be used depending on the specific implementation and other circumstances. In these cases, the mobile device M may estimate its clock frequency offset in the manner described above based on each received anchor data packet and then perform statistical processing, such as averaging, to obtain one single estimate for the clock frequency offset relative to the controller clock frequency. For example, in a case where anchor data packets are received from a total of N anchors, the resulting estimate may be calculated by averaging the individual sums for all N anchors:
[0066] To illustrate this, a simple example is provided: Assume that a mobile node has a clock that runs at a frequency offset 5 ppm faster than the clock of the controller, while anchors A2 and A3 have +2 ppm and −3 ppm, respectively. In such case, the mobile node may estimate (based on CFO carrier integration) during packet receptions that the clocks of anchors A2 and A3 run at respectively 3 ppm and 8 ppm slower than its own clock. In this case, the above general formula yields:
[0067] It should be noted that each CFO estimate may suffer from an error in the order of hundreds of ppb. However, by aggregating multiple estimates from different anchors, the final estimate can be significantly improved.
[0068]
[0069] It is noted that, unless otherwise indicated, the use of terms such as “upper”, “lower”, “left”, and “right” refers solely to the orientation of the corresponding drawing.
[0070] It is noted that the term “comprising” does not exclude other elements or steps and that the use of the articles “a” or “an” does not exclude a plurality. Also, elements described in association with different embodiments may be combined. It should also be noted that reference signs in the claims should not be construed as limiting the scope of the claims.