IP Library Granted Patent US 9,955,446
Granted Patent B2
US 9,955,446 · App. 14/987,264 · Granted Apr 24, 2018

Frequency offset compensation for WiFi ranging

Inventors: Hongyuan Zhang (Fremont, CA); Mao Yu (San Jose, CA); Su Khiong Yong (Santa Clara, CA); Sudhir Srinivasa (Campbell, CA)
Assignee: Marvell World Trade Ltd.
H04W56/004G01S5/06G01S11/02G01S13/767H04W56/002H04W64/003
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,955,446
App. No.
14/987,264
Granted
Apr 24, 2018
Kind
B2
Abstract

Methods, systems, and apparatus are disclosed for determining accurate ranging measurements between communication devices. Various embodiments are described for recording timestamps associated with when transmissions are sent and received between the communication devices. The communication devices are configured to determine a difference in their clock frequencies and to communicate this difference with one another. Furthermore, each of the communication devices is configured to compensate for these differences before or after the timestamps are exchanged and to send a compensation indicator of whether the compensation has been performed. If the compensation has not been performed, either of the communication devices can compensate for the clock frequency differences after receiving the timestamps based on the compensation indicator. By using compensated clock frequencies based on a single clock reference, highly accurate ranging measurements are obtained using round trip propagation time calculations.

Claims (376)

1. A method, comprising:

determining, at a first communication device that utilizes a first clock having a first clock frequency, a first timestamp corresponding to when a first transmission is transmitted by a second communication device that utilizes a second clock having a second clock frequency;

determining, at the first communication device, a second timestamp corresponding to when a second transmission is received at the second communication device; and

determining, at the first communication device, whether the first communication device requested a signal exchange that includes the first transmission and the second transmission;

determining, at the first communication device, whether the first communication device is to generate a compensated first timestamp and a compensated second timestamp to compensate for a difference between the first clock frequency and the second clock frequency, wherein the determining is based on whether the first communication device requested the signal exchange; and

generating, at the first communication device, the compensated first timestamp and the compensated second timestamp in response to determining that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency;

wherein a wireless communication protocol determines whether the first communication device or the second communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency based on which of the first communication device or the second communication device requested the signal exchange that includes the first transmission and the second transmission.

2. The method of claim 1 , further comprising:

determining, at the first communication device, a third timestamp corresponding to when the first transmission is received at the first communication device based on the first clock frequency; and

determining, at the first communication device, a fourth timestamp corresponding to when the second transmission is transmitted by the first communication device based on the first clock frequency.

3. The method of claim 2 , further comprising:

when the first communication device determines that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency, calculating, at the first communication device, a round trip time using the compensated first timestamp, the compensated second timestamp, the third timestamp, and the fourth timestamp; and

when the first communication device determines that the first communication device is not to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency:

generating, at the first communication device, a compensated third timestamp and a compensated fourth timestamp to compensate for the difference between the first clock frequency and the second clock frequency, and

calculating, at the first communication device, the round trip time using the first timestamp, the second timestamp, the compensated third timestamp, and the compensated fourth timestamp.

4. The method of claim 1 , wherein the act of generating comprises:

evaluating a first equation:

[

t

1

(

2

)

=

(

t

1

(

2

)

)

(

1

+

ppm

1

-

2

)

]

for

t

1

(

2

)

;

and

evaluating a second equation:

[

t

2

(

2

)

=

(

t

2

(

2

)

)

(

1

+

ppm

2

-

2

)

]

for

t

2

(

2

)

,

wherein:

t 1 (1) and t 2 (1) represent the first timestamp and the second timestamp, respectively;

ppm 1-2 represents a difference between the first clock frequency and the second clock frequency in parts-per-million; and

t 1 (2) and t 2 (2) represent the compensated first timestamp and the compensated second timestamp, respectively.

5. The method of claim 1 , wherein the first transmission includes a fine timing measurement packet, and

wherein the second transmission includes an acknowledgement of the fine timing measurement packet.

6. The method of claim 1 , wherein the wireless communication protocol specifies that the communication device that requested the signal exchange is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency.

7. An apparatus, comprising:

a network interface associated with a first communication device, the network interface device implemented on one or more integrated circuit devices, the network interface including a first clock configured to operate at a first clock frequency;

a clock calculation and compensation unit implemented on one or more integrated circuit devices, the clock calculation and compensation unit configured to:

determine a first timestamp corresponding to when a first transmission is transmitted by a second communication device that utilizes a second clock having a second clock frequency,

determine a second timestamp corresponding to when a second transmission is received at the second communication device,

determine whether the first communication device requested a signal exchange that includes the first transmission and the second transmission,

determine whether the first communication device is to generate a compensated first timestamp and a compensated second timestamp to compensate for a difference between the first clock frequency and the second clock frequency, wherein the determining is based on whether the first communication device requested the signal exchange, and

generate the compensated first timestamp and the compensated second timestamp in response to determining first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency;

wherein a wireless communication protocol determines whether the first communication device or the second communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency based on which of the first communication device or the second communication device requested the signal exchange that includes the first transmission and the second transmission.

8. The apparatus of claim 7 , wherein the network interface is further configured to:

determine a third timestamp corresponding to when the first transmission is received at the first communication device based on the first clock frequency; and

determine a fourth timestamp corresponding to when the second transmission is transmitted by the first communication device to the second communication device based on the first clock frequency.

9. The apparatus of claim 8 , wherein the clock calculation and compensation unit is further configured to:

when the clock calculation and compensation unit determines that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency, calculate a round trip time using the compensated first timestamp, the compensated second timestamp, the third timestamp, and the fourth timestamp; and

when the clock calculation and compensation unit determines that the first communication device is not to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency:

generate a compensated third timestamp and a compensated fourth timestamp to compensate for the difference between the first clock frequency and the second clock frequency, and

generate the round trip time using the first timestamp, the second timestamp, the compensated third timestamp, and the compensated fourth timestamp.

10. The apparatus of claim 7 , wherein the clock calculation and compensation unit is configured to:

evaluate a first equation:

[

t

1

(

2

)

=

(

t

1

(

2

)

)

(

1

+

ppm

1

-

2

)

]

for

t

1

(

2

)

;

and

evaluate a second equation:

[

t

2

(

2

)

=

(

t

2

(

2

)

)

(

1

+

ppm

2

-

2

)

]

for

t

2

(

2

)

,

wherein:

t 1 (1) and t 2 (1) represent the first timestamp and the second timestamp, respectively,

ppm 1-2 represents a difference between the first clock frequency and the second clock frequency in parts-per-million, and

t 1 (2) and t 2 (2) represent the compensated first timestamp and the compensated second timestamp, respectively.

11. The apparatus of claim 7 , wherein the first transmission includes a fine timing measurement packet, and

wherein the second transmission includes an acknowledgement of the fine timing measurement packet.

12. The apparatus of claim 7 , wherein the wireless communication protocol specifies that the communication device that requested the signal exchange is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency.

13. A method, comprising:

determining, at a first communication device that utilizes a first clock having a first clock frequency, a first timestamp corresponding to when a first transmission is transmitted by the first communication device;

determining, at the first communication device, a second timestamp corresponding to when a second transmission is received at the first communication device from a second communication device that utilizes a second clock having a second clock frequency;

determining, at the first communication device, whether the first communication device requested a signal exchange that includes the first transmission and the second transmission;

determining, at the first communication device, whether the first communication device is to generate a compensated first timestamp and a compensated second timestamp to compensate for a difference between the first clock frequency and the second clock frequency, wherein the determining is based on whether the first communication device requested the signal exchange;

generating, at the first communication device, a compensated first timestamp and a compensated second timestamp in response to determining that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency;

sending, from the first communication device, the compensated first timestamp and the compensated second timestamp to the second communication device when the first communication device determines that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency; and

sending, from the first communication device, the first timestamp and the second timestamp to the second communication device when the first communication device determines that the first communication device is not to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency;

wherein a wireless communication protocol determines whether the first communication device or the second communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency based on which of the first communication device or the second communication device requested the signal exchange that includes the first transmission and the second transmission.

14. The method of claim 13 , further comprising:

determining, at the second communication device, a third timestamp corresponding to when the first transmission is received at the second communication device based on the second clock frequency; and

determining, at the second communication device, a fourth timestamp corresponding to when the second transmission is transmitted by the second communication device based on the second clock frequency.

15. The method of claim 14 , further comprising:

when the first communication device determines that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency, calculating, at the first communication device, a round trip time between the first communication device and the second communication device based on the compensated first timestamp, the compensated second timestamp, the third timestamp, and the fourth timestamp; and

when the first communication device determines that the first communication device is not to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency:

generating, at the first communication device, a compensated third timestamp and a compensated fourth timestamp to compensate for the difference between the first clock frequency and the second clock frequency, and

calculating, at the first communication device, the round trip time using the first timestamp, the second timestamp, the compensated third timestamp, and the compensated fourth timestamp.

16. The method of claim 13 , wherein the act of generating comprises:

evaluating a first equation:

[

t

1

(

2

)

=

(

t

1

(

2

)

)

(

1

+

ppm

1

-

2

)

]

for

t

1

(

2

)

;

and

evaluating a second equation:

[

t

2

(

2

)

=

(

t

2

(

2

)

)

(

1

+

ppm

2

-

2

)

]

for

t

2

(

2

)

,

wherein:

t 1 (1) and t 2 (1) represent the first timestamp and the second timestamp, respectively;

ppm 1-2 represents a difference between the first clock frequency and the second clock frequency in parts-per-million; and

t 1 (2) and t 2 (2) represent the compensated first timestamp and the compensated second timestamp, respectively.

17. The method of claim 13 , wherein the first transmission includes a fine timing measurement packet, and

wherein the second transmission includes an acknowledgement of the fine timing measurement packet.

18. The method of claim 13 , wherein the wireless communication protocol specifies that the communication device that requested the signal exchange is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency.

19. An apparatus, comprising:

a network interface associated with a first communication device, the network interface device implemented on one or more integrated circuit devices, the network interface including a first clock configured to operate at a first clock frequency, the network interface configured to;

determine a first timestamp corresponding to when a first transmission is transmitted by the first communication device, and

determine a second timestamp corresponding to when a second transmission is received at the first communication device, the second transmission having been transmitted by a second communication device configured to utilize a second clock having a second clock frequency; and

a clock calculation and compensation unit implemented on one or more integrated circuit devices, the clock calculation and compensation unit configured to:

determine whether the first communication device requested a signal exchange that includes the first transmission and the second transmission,

determine whether the first communication device is to generate a compensated first timestamp and a compensated second timestamp to compensate for a difference between the first clock frequency and the second clock frequency, wherein the determining is based on whether the first communication device requested the signal exchange, and

generate a compensated first timestamp and a compensated second timestamp in response to determining that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency;

wherein the network interface is further configured to:

send the compensated first timestamp and the compensated second timestamp to the second communication device when the clock calculation and compensation unit determines that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency, and

send the first timestamp and the second timestamp to the second communication device when the clock calculation and compensation unit determines that the first communication device is not to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency;

wherein a wireless communication protocol determines whether the first communication device or the second communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency based on which of the first communication device or the second communication device requested the signal exchange that includes the first transmission and the second transmission.

20. The apparatus of claim 19 , wherein the clock calculation and compensation unit is configured to:

determine a third timestamp corresponding to when the first transmission is received at the second communication device; and

determine a fourth timestamp corresponding to when the second transmission is transmitted by the second communication device.

21. The apparatus of claim 20 , wherein the clock calculation and compensation unit is further configured to:

when the clock calculation and compensation unit determines that the first communication device is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency, calculate a round trip time between the first communication device and the second communication device based on the compensated first timestamp, the compensated second timestamp, the third timestamp, and the fourth timestamp; and

when the clock calculation and compensation unit determines that the first communication device is not to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency:

generate a compensated third timestamp and a compensated fourth timestamp to compensate for the difference between the first clock frequency and the second clock frequency, and

calculate the round trip time using the first timestamp, the second timestamp, the compensated third timestamp, and the compensated fourth timestamp.

22. The apparatus of claim 19 , wherein the clock calculation and compensation unit is further configured to compensate the first timestamp and the second timestamp by:

evaluating a first equation:

[

t

1

(

2

)

=

(

t

1

(

2

)

)

(

1

+

ppm

1

-

2

)

]

for

t

1

(

2

)

;

and

evaluating a second equation:

[

t

2

(

2

)

=

(

t

2

(

2

)

)

(

1

+

ppm

2

-

2

)

]

for

t

2

(

2

)

,

wherein:

t 1 (1) and t 2 (1) represent the first timestamp and the second timestamp, respectively;

ppm 1-2 represents a difference between the first clock frequency and the second clock frequency in parts-per-million; and

t 1 (2) and t 2 (2) represent the compensated first timestamp and the compensated second timestamp, respectively.

23. The apparatus of claim 19 , wherein the first transmission includes a fine timing measurement packet, and the second transmission includes an acknowledgement of the fine timing measurement packet sent.

24. The apparatus of 19 , wherein the wireless communication protocol specifies that the communication device that requested the signal exchange is to generate the compensated first timestamp and the compensated second timestamp to compensate for the difference between the first clock frequency and the second clock frequency.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
Continuity (4)
Continuation 14170027 · Jan 31, 2014
Provisional Application 61862650 · Aug 6, 2013
Provisional Application 61759230 · Jan 31, 2013
Related Publication 20160119889A1 · Apr 28, 2016