# US 10,455,534 B2 · Frequency offset compensation for WiFi ranging

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,455,534 B2
- Document ID: US10455534B2
- Status: Granted
- Kind: B2
- Application number: 15/958,319
- Filed: 2018-04-20
- Published: 2018-08-23
- Granted: 2019-10-22
- Earliest claimed: 2013-01-31
- Assignees: Marvell World Trade Ltd.
- Applicants: Marvell World Trade Ltd.
- Inventors: Hongyuan Zhang; Mao Yu; Su Khiong Yong; Sudhir Srinivasa
- Web page: https://patentgrep.com/patent/US10455534B2

## CPC

- H04W 56/004: {compensating for timing error of reception due to propagation delay}
- G01S 5/06: Position of source determined by co-ordinating a plurality of position lines defined by path-difference measurements (G01S5/12 takes precedence)
- G01S 11/02: using radio waves (G01S19/00 takes precedence)
- G01S 13/767: {Responders; Transponders (teaching or practice apparatus for gun-aiming or gun-laying using reflecting targets or active targets F41G3/26)}
- H04W 56/002: {Mutual synchronization}
- H04W 64/003: {locating network equipment}
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES

## Abstract

Timestamps associated with when transmissions are sent and received between a pair of communication devices are used to determine a distance between the pair of communication devices. The communication devices operate according to a wireless communication protocol, which specifies that a requester of a ranging measurement session is to compensate for a clock frequency offset between the pair of communication device and that a responder is not to compensate for the clock frequency offset. As part of the ranging measurement session, the responder sends feedback to the requester, where the feedback includes timestamps recorded by the responder. The timestamps in the feedback are not compensated for the clock frequency offset by the responder. After receiving the feedback, the requester compensates the timestamps in the feedback for the clock frequency offset before using the timestamps to calculate the distance between the pair of communication devices.

## Claims

### Claim 1

A method, comprising:
participating, by a first communication device, in a plurality of ranging measurement sessions defined by a wireless communication protocol, wherein the wireless communication protocol specifies that a requester of a ranging measurement session is to compensate for a clock frequency offset between the requester and a responder of the ranging measurement session, wherein the wireless communication protocol specifies that the responder of the ranging measurement session is not to compensate for the clock frequency offset, and wherein participating in the plurality of ranging measurement sessions includes:
determining, by the first communication device, respective timestamps corresponding to when ranging measurement transmissions are transmitted by the first communication device based on a first clock frequency of the first communication device, and
determining, by the first communication device, respective timestamps corresponding to when ranging measurement transmissions are received by the first communication device based on the first clock frequency;
when the first communication device has requested a first ranging measurement session with a second communication device,
receiving, by the first communication device, a first feedback message from the second communication device, wherein the first feedback message includes i) a first timestamp corresponding to when the second communication device transmitted a first ranging measurement transmission to the first communication device, and ii) a second timestamp corresponding to when the second communication device received a second ranging measurement transmission from the first communication device, and
generating, at the first communication device, a compensated first timestamp and a compensated second timestamp to compensate for an offset between the first clock frequency of the first communication device and a second clock frequency of the second communication device; and
when the second communication device has requested a second ranging measurement session with the first communication device,
transmitting, by the first communication device, a second feedback message to the second communication device, wherein the second feedback message includes i) a third timestamp corresponding to when the first communication device transmitted a third ranging measurement transmission to the second communication device, and ii) a fourth timestamp corresponding to when the first communication device received a fourth ranging measurement transmission from the second communication device, and wherein the third timestamp and the fourth timestamp in the second feedback message have not been modified to compensate for the offset between the first clock frequency of the first communication device and the second clock frequency of the second communication device.

### Claim 2 (depends on 1)

The method of claim 1, wherein participating in the plurality of ranging measurement sessions comprises:
determining, at the first communication device, a fifth timestamp corresponding to when the first ranging measurement transmission is received at the first communication device based on the first clock frequency; and
determining, at the first communication device, a sixth timestamp corresponding to when the second ranging measurement transmission is transmitted by the first communication device based on the first clock frequency.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
calculating, at the first communication device, a round trip time using the compensated first timestamp, the compensated second timestamp, the fifth timestamp, and the sixth timestamp.

### Claim 4 (depends on 1)

The method of claim 1, wherein the act of generating comprises:
evaluating a first equation:
[
t
1
(
2
)
=
(
t
1
(
1
)
)
(
1
+
ppm
1
-
2
)
]
⁢
⁢
for
⁢
⁢
t
1
(
2
)
;
and
evaluating a second equation:
[
t
2
(
2
)
=
(
t
2
(
1
)
)
(
1
+
ppm
1
-
2
)
]
⁢
⁢
for
⁢
⁢
t
2
(
2
)
,
wherein:
t1(1) and t2(1) represent the first timestamp and the second timestamp, respectively;
ppm1−2 represents a difference between the first clock frequency and the second clock frequency in parts-per-million; and
t1(2) and t2(2) represent the compensated first timestamp and the compensated second timestamp, respectively.

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the first ranging measurement transmission includes a fine timing measurement packet; and
the second ranging measurement transmission includes an acknowledgement of the fine timing measurement packet.

### Claim 6

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, wherein the network interface device is configured to participate in a plurality of ranging measurement sessions defined by a wireless communication protocol, wherein the wireless communication protocol specifies that a requester of a ranging measurement session is to compensate for a clock frequency offset between the requester and a responder of the ranging measurement session, and wherein the wireless communication protocol specifies that the responder of the ranging measurement session is not to compensate for the clock frequency offset;
wherein the network interface is further configured to:
determine, when participating in a plurality of ranging measurement sessions, respective timestamps corresponding to when ranging measurement transmissions are transmitted by the first communication device based on a first clock frequency of the first communication device, and
determine, when participating in the plurality of ranging measurement sessions, respective timestamps corresponding to when ranging measurement transmissions are received by the first communication device based on the first clock frequency, and
when the first communication device has requested a first ranging measurement session with a second communication device, receive a first feedback message from the second communication device, wherein the first feedback message includes i) a first timestamp corresponding to when the second communication device transmitted a first ranging measurement transmission to the first communication device, and ii) a second timestamp corresponding to when the second communication device received a second ranging measurement transmission from the first communication device; and
wherein the apparatus further comprises a clock calculation and compensation unit implemented on the one or more integrated circuit devices, wherein the clock calculation and compensation unit is configured to: when the first communication device has requested the first ranging measurement session with the second communication device, generate a compensated first timestamp and a compensated second timestamp to compensate for an offset between the first clock frequency of the first communication device and the second clock frequency of the second communication device;
wherein the network interface device is further configured to, when the second communication device has requested a second ranging measurement session with the first communication device:
determine, based on the first clock frequency, a third timestamp corresponding to when the first communication device transmitted a third ranging measurement transmission to the second communication device,
determine, based on the first clock frequency, a fourth timestamp corresponding to when the first communication device received a fourth ranging measurement transmission from the second communication device, and
transmit a second feedback message to the second communication device, wherein the second feedback message includes i) the third timestamp, and ii) the fourth timestamp, and wherein the third timestamp and the fourth timestamp in the second feedback message have not been modified to compensate for the offset between the first clock frequency of the first communication device and the second clock frequency of the second communication device.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the network interface is further configured to:
determine a fifth timestamp corresponding to when the first ranging measurement transmission is received at the first communication device based on the first clock frequency; and
determine a sixth timestamp corresponding to when the second ranging measurement transmission is transmitted by the first communication device based on the first clock frequency.

### Claim 8 (depends on 7)

The method of claim 7, wherein the network interface is further configured to:
calculate a round trip time using the compensated first timestamp, the compensated second timestamp, the fifth timestamp, and the sixth timestamp.

### Claim 9 (depends on 6)

The apparatus of claim 6, wherein the clock calculation and compensation unit is configured to:
evaluate a first equation:
[
t
1
(
2
)
=
(
t
1
(
1
)
)
(
1
+
ppm
1
-
2
)
]
⁢
⁢
for
⁢
⁢
t
1
(
2
)
;
and
evaluate a second equation:
[
t
2
(
2
)
=
(
t
2
(
1
)
)
(
1
+
ppm
1
-
2
)
]
⁢
⁢
for
⁢
⁢
t
2
(
2
)
,
wherein:
t1(1) and t2(1) represent the first timestamp and the second timestamp, respectively,
ppm1−2 represents a difference between the first clock frequency and the second clock frequency in parts-per-million, and
t1(2) and t2(2) represent the compensated first timestamp and the compensated second timestamp, respectively.

### Claim 10 (depends on 6)

The apparatus of claim 6, wherein:
the first ranging measurement transmission includes a fine timing measurement packet; and
the second ranging measurement transmission includes an acknowledgement of the fine timing measurement packet.

### Claim 11

A method, comprising:
participating, by a first communication device, in a plurality of ranging measurement sessions defined by a wireless communication protocol, wherein the wireless communication protocol specifies that a requester of a ranging measurement session is to compensate for a clock frequency offset between the requester and a responder of the ranging measurement session, wherein the wireless communication protocol specifies that the responder of the ranging measurement session is not to compensate for the clock frequency offset, and wherein participating in the plurality of ranging measurement sessions includes:
determining, by the first communication device, respective timestamps corresponding to when ranging measurement transmissions are transmitted by the first communication device based on a first clock frequency of the first communication device, and
determining, by the first communication device, respective timestamps corresponding to when ranging measurement transmissions are received by the first communication device based on the first clock frequency;
when the first communication device has requested a first ranging measurement session with a second communication device,
receiving, by the first communication device, a first feedback message from the second communication device, wherein the first feedback message includes i) a first timestamp corresponding to when the second communication device transmitted a first ranging measurement transmission to the first communication device, and ii) a second timestamp corresponding to when the second communication device received a second ranging measurement transmission from the first communication device, and
generating, at the first communication device, a compensated first timestamp and a compensated second timestamp to compensate for an offset between the first clock frequency of the first communication device and a second clock frequency of the second communication device; and
when a third communication device has requested a second ranging measurement session with the first communication device,
transmitting, by the first communication device, a second feedback message to the third communication device, wherein the second feedback message includes i) a third timestamp corresponding to when the first communication device transmitted a third ranging measurement transmission to the third communication device, and ii) a fourth timestamp corresponding to when the first communication device received a fourth ranging measurement transmission from the third communication device, and wherein the third timestamp and the fourth timestamp in the second feedback message have not been modified to compensate for the offset between the first clock frequency of the first communication device and a third clock frequency of the third communication device.

### Claim 12 (depends on 11)

The method of claim 11, wherein participating in the plurality of ranging measurement sessions comprises:
determining, at the first communication device, a fifth timestamp corresponding to when the first ranging measurement transmission is received at the first communication device based on the first clock frequency; and
determining, at the first communication device, a sixth timestamp corresponding to when the second ranging measurement transmission is transmitted by the first communication device based on the first clock frequency.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
calculating, at the first communication device, a round trip time using the compensated first timestamp, the compensated second timestamp, the fifth timestamp, and the sixth timestamp.

### Claim 14 (depends on 11)

The method of claim 11, wherein the act of generating comprises:
evaluating a first equation:
[
t
1
(
2
)
=
(
t
1
(
1
)
)
(
1
+
ppm
1
-
2
)
]
⁢
⁢
for
⁢
⁢
t
1
(
2
)
;
and
evaluating a second equation:
[
t
2
(
2
)
=
(
t
2
(
1
)
)
(
1
+
ppm
1
-
2
)
]
⁢
⁢
for
⁢
⁢
t
2
(
2
)
,
wherein:
t1(1) and t2(1) represent the first timestamp and the second timestamp, respectively;
ppm1−2 represents a difference between the first clock frequency and the second clock frequency in parts-per-million; and
t1(2) and t2(2) represent the compensated first timestamp and the compensated second timestamp, respectively.

### Claim 15 (depends on 11)

The method of claim 11, wherein:
the first ranging measurement transmission includes a fine timing measurement packet; and
the second ranging measurement transmission includes an acknowledgement of the fine timing measurement packet.

### Claim 16

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, wherein the network interface device is configured to participate in a plurality of ranging measurement sessions defined by a wireless communication protocol, wherein the wireless communication protocol specifies that a requester of a ranging measurement session is to compensate for a clock frequency offset between the requester and a responder of the ranging measurement session, and wherein the wireless communication protocol specifies that the responder of the ranging measurement session is not to compensate for the clock frequency offset;
wherein the network interface is further configured to:
determine, when participating in a plurality of ranging measurement sessions, respective timestamps corresponding to when ranging measurement transmissions are transmitted by the first communication device based on a first clock frequency of the first communication device,
determine, when participating in the plurality of ranging measurement sessions, respective timestamps corresponding to when ranging measurement transmissions are received by the first communication device based on the first clock frequency, and
when the first communication device has requested a first ranging measurement session with a second communication device, receive a first feedback message from the second communication device, wherein the first feedback message includes i) a first timestamp corresponding to when the second communication device transmitted a first ranging measurement transmission to the first communication device, and ii) a second timestamp corresponding to when the second communication device received a second ranging measurement transmission from the first communication device;
wherein the apparatus further comprises a clock calculation and compensation unit implemented on the one or more integrated circuit devices, wherein the clock calculation and compensation unit is configured to: when the first communication device has requested the first ranging measurement session with the second communication device, generate a compensated first timestamp and a compensated second timestamp to compensate for an offset between the first clock frequency of the first communication device and the second clock frequency of the second communication device;
wherein the network interface device is further configured to, when a third communication device has requested a second ranging measurement session with the first communication device:
determine, based on the first clock frequency, a third timestamp corresponding to when the first communication device transmitted a third ranging measurement transmission to the third communication device,
determine, based on the first clock frequency, a fourth timestamp corresponding to when the first communication device received a fourth ranging measurement transmission from the third communication device, and
transmit a second feedback message to the third communication device, wherein the second feedback message includes i) the third timestamp, and ii) the fourth timestamp, and wherein the third timestamp and the fourth timestamp in the second feedback message have not been modified to compensate for an offset between the first clock frequency of the first communication device and a third clock frequency of the third communication device.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the network interface is further configured to:
determine a fifth timestamp corresponding to when the first ranging measurement transmission is received at the first communication device based on the first clock frequency; and
determine a sixth timestamp corresponding to when the second ranging measurement transmission is transmitted by the first communication device based on the first clock frequency.

### Claim 18 (depends on 17)

The method of claim 17, wherein the network interface is further configured to:
calculate a round trip time using the compensated first timestamp, the compensated second timestamp, the fifth timestamp, and the sixth timestamp.

### Claim 19 (depends on 16)

The apparatus of claim 16, wherein the clock calculation and compensation unit is configured to:
evaluate a first equation:
[
t
1
(
2
)
=
(
t
1
(
1
)
)
(
1
+
ppm
1
-
2
)
]
⁢
⁢
for
⁢
⁢
t
1
(
2
)
;
and
evaluate a second equation:
[
t
2
(
2
)
=
(
t
2
(
1
)
)
(
1
+
ppm
1
-
2
)
]
⁢
⁢
for
⁢
⁢
t
2
(
2
)
,
wherein:
t1(1) and t2(1) represent the first timestamp and the second timestamp, respectively,
ppm1−2 represents a difference between the first clock frequency and the second clock frequency in parts-per-million, and
t1(2) and t2(2) represent the compensated first timestamp and the compensated second timestamp, respectively.

### Claim 20 (depends on 16)

The apparatus of claim 16, wherein:
the first ranging measurement transmission includes a fine timing measurement packet; and
the second ranging measurement transmission includes an acknowledgement of the fine timing measurement packet.
