IP Library › Granted Patent US 10,911,211
Granted Patent B1
US 10,911,211 · App. 16/588,722 · Granted Feb 2, 2021

Frequency and gain calibration for time synchronization in a network

Inventors: Philip A. Kratz (Redwood City, CA); Daniel M. Jacker (Redwood City, CA); Mainak Chowdhury (Redwood City, CA); Alexander Hooshmand (Redwood City, CA)
Assignee: ZaiNar, Inc.
H04L7/0012H04B17/11H04B17/21H04B17/309
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 10,911,211
App. No.
16/588,722
Granted
Feb 2, 2021
Kind
B1
Abstract

A method includes, at a first node: transmitting a first calibration signal at a first time-of-departure measured by the first node; and transmitting a second calibration signal at a second time-of-departure measured by the first node. The method also includes, at a second node: receiving the first calibration signal at a first time-of-arrival measured by the second node; and receiving the second calibration signal at a second time-of-arrival measured by the second node. The method further includes: defining a first calibration point and a second calibration point in a set of calibration points, each calibration point comprising a time-of-departure and a time-of-arrival of each calibration signal; calculating a regression on the set of calibration points; and calculating a frequency offset between the first node and the second node based on the first regression.

Claims (216)

1. A method for calculating a frequency offset between two clocks comprising:

at a first node:

transmitting a first calibration signal at a first time-of-departure measured by a first clock of the first node; and

transmitting a second calibration signal at a second time-of-departure measured by the first clock and succeeding the first time-of-departure by an initial signal interval;

at a second node:

receiving the first calibration signal at a first time-of-arrival measured by a second clock of the second node; and

receiving the second calibration signal at a second time-of-arrival measured by the second clock;

defining a first calibration point, in a first set of calibration points, the first calibration point representing the first time-of-departure and the first time-of-arrival;

defining a second calibration point, in the first set of calibration points, the second calibration point representing the second time-of-departure and the second time-of-arrival;

calculating a first regression on the first set of calibration points; and

calculating a first frequency offset between the first clock and the second clock based on the first regression.

2. The method of claim 1 , wherein calculating the first regression on the first set of calibration points comprises calculating a slope of a best-fit line of the first set of calibration points and solving for c 1 −c 2 in: β=1+c 1 −c 2 , wherein β represents a slope of the first regression, wherein c 1 represents a first frequency offset of the first clock from a nominal frequency, and wherein c 2 represents a second frequency offset of the second clock from the nominal frequency.

3. The method of claim 1 , further comprising:

calculating a timestamping noise of the second clock relative to the first clock based on a residual of the first regression;

calculating an adjusted signal interval based on the timestamping noise;

at the first node:

transmitting a third calibration signal at a third time-of-departure measured by the first clock; and

transmitting a fourth calibration signal at a fourth time-of-departure measured by the first clock and succeeding the third time-of-departure by the adjusted signal interval;

at the second node:

receiving the third calibration signal at a third time-of-arrival measured by the second clock adjusted by the first frequency offset; and

receiving the fourth calibration signal at a fourth time-of-arrival measured by the second clock adjusted by the first frequency offset;

defining a third calibration point in a second set of calibration points, the third calibration point representing the third time-of-departure and the third time-of-arrival;

defining a fourth calibration point in the second set of calibration points, the fourth calibration point representing the fourth time-of-departure and the fourth time-of-arrival;

calculating a second regression on the second set of calibration points; and

calculating a second frequency offset between the first clock and the second clock compensated by the first frequency offset.

4. The method of claim 3 , wherein calculating the adjusted signal interval further comprises calculating the adjusted signal interval based on a desired accuracy and the timestamping noise.

5. The method of claim 4 , wherein calculating the adjusted signal interval based on a desired accuracy and the timestamping noise further comprises:

calculating an outlier probability based on the timestamping noise;

calculating a number of calibration signals for a calibration period based on the desired accuracy and the outlier probability; and

dividing the calibration period by the number of calibration signals to calculate the adjusted signal interval.

6. The method of claim 1 , further comprising:

at the first node, transmitting a third calibration signal at a third time-of-departure measured by the first clock, the third time-of-departure succeeding the first time-of-departure by an initial calibration period;

at the second node, receiving the third calibration signal at a third time-of-arrival measured by the second clock; and

defining a final calibration point of the first set of calibration points, the final calibration point of the first set of calibration points comprising the third time-of-departure and the third time-of-arrival.

7. The method of claim 6 further comprising:

calculating a timestamping noise of the second clock relative to the first clock based on a residual of the first regression;

calculating an adjusted calibration period based on a desired precision and a timestamping noise;

at a first node:

transmitting a fourth calibration signal at a fourth time-of-departure measured by the first clock;

transmitting a fifth calibration signal at a fifth time-of-departure measured by the first clock and succeeding the fourth time-of-departure by a second signal interval; and

transmitting a sixth calibration signal at a sixth time-of-departure measured by the first clock and succeeding the fourth time-of-departure by the adjusted calibration period;

at the second node:

receiving the fourth calibration signal at a fourth time-of-arrival measured by the second clock adjusted by the first frequency offset;

receiving the fifth calibration signal at a fifth time-of-arrival measured by the second clock adjusted by the first frequency offset; and

receiving the sixth calibration signal at a sixth time-of-arrival measured by the second clock adjusted by the first frequency offset;

defining a fourth calibration point in a second set of calibration points, the fourth calibration point representing the fourth time-of-departure and the fourth time-of-arrival;

defining a fifth calibration point in the second set of calibration points, the fifth calibration point representing the fifth time-of-departure and the fifth time-of-arrival;

defining a final calibration point of the second set of calibration points, the final calibration point of the second set of calibration points comprising the sixth time-of-departure and the sixth time-of-arrival;

calculating a second regression on the second set of calibration points; and

calculating a second frequency offset between the first clock and the second clock compensated by the first frequency offset.

8. The method of claim 7 , wherein calculating the adjusted calibration period further comprises solving for m max −m min in: m max −m min >Δ max /δ wherein Δ max represents the timestamping noise, wherein δ represents the desired precision, and wherein m max −m min represents the adjusted calibration period.

9. The method of claim 1 , further comprising:

accessing clock characteristics of the first clock;

accessing clock characteristics of the second clock;

calculating the initial signal interval based on clock characteristics of the first clock and clock characteristics of the second clock.

10. The method of claim 1 , further comprising:

at the first node:

transmitting a first synchronization signal;

back-coupling the first synchronization signal to generate a first self-receive signal;

receiving the first self-receive signal at a third time-of-arrival measured by the first clock; and

receiving a second synchronization signal from the second node at a fourth time-of-arrival measured by the first clock;

at the second node:

transmitting the second synchronization signal;

back-coupling the second synchronization signal to generate a second self-receive signal;

receiving the second self-receive signal at a fifth time-of-arrival measured by the second clock compensated by the first frequency offset; and

receiving the first synchronization signal from the first node at a sixth time-of-arrival measured by the second clock compensated by the first frequency offset;

calculating a time bias and a propagation delay between the first clock and the second clock based on the third time-of-arrival, the fourth time-of-arrival, the fifth time-of-arrival, and the sixth time-of-arrival.

11. The method of claim 10 , wherein calculating the time bias and the propagation delay between the pair of nodes further comprises:

calculating the time bias by solving for

b

1

-

b

2

⁢

⁢

in

⁢

:

⁢

⁢

b

1

-

b

2

=

1

2

⁡

[

(

S

1

,

2

-

S

2

,

2

)

-

(

S

2

,

1

-

S

1

,

1

)

]

calculating the propagation delay by solving for τ in:

τ

=

1

2

⁡

[

(

S

1

,

2

-

S

2

,

2

)

+

(

S

2

,

1

-

S

1

,

1

)

]

wherein S 1,1 represents the third time-of-arrival, S 1,2 represents the fourth time-of-arrival, S 2,2 represents the fifth time-of-arrival, and S 2,1 represents the sixth time-of-arrival.

12. The method of claim 1 , further comprising, in response to detecting a change in temperature at the first node or the second node:

at the first node:

transmitting a third calibration signal at a third time-of-departure measured by the first clock; and

transmitting a fourth calibration signal at a fourth time-of-departure measured by the first clock;

at the second node:

receiving the third calibration signal at a third time-of-arrival measured by the second clock adjusted by the first frequency offset; and

receiving the fourth calibration signal at a fourth time-of-arrival measured by the second clock adjusted by the first frequency offset;

defining a third calibration point in a second set of calibration points, the third calibration point representing the third time-of-departure and the third time-of-arrival;

defining a fourth calibration point in the second set of calibration points, the fourth calibration point representing the fourth time-of-departure and the fourth time-of-arrival;

calculating a second regression on the second set of calibration points; and

calculating a second frequency offset between the first clock and the second clock compensated by the first frequency offset.

13. The method of claim 1 , further comprising, in response to detecting motion at the first node or the second node:

at the first node:

transmitting a third calibration signal at a third time-of-departure measured by the first clock; and

transmitting a fourth calibration signal at a fourth time-of-departure measured by the first clock;

at the second node:

receiving the third calibration signal at a third time-of-arrival measured by the second clock adjusted by the first frequency offset; and

receiving the fourth calibration signal at a fourth time-of-arrival measured by the second clock adjusted by the first frequency offset;

defining a third calibration point in a second set of calibration points, the third calibration point representing the third time-of-departure and the third time-of-arrival;

defining a fourth calibration point in the second set of calibration points, the fourth calibration point representing the fourth time-of-departure and the fourth time-of-arrival;

calculating a second regression on the second set of calibration points; and

calculating a second frequency offset between the first clock and the second clock compensated by the first frequency offset.

14. A method comprising:

scheduling transmission, from a first node, of a first calibration signal at a first time-of-departure measured by a first clock of the first node;

scheduling transmission, from the first node, of a second calibration signal at a second time-of-departure measured by the first clock and succeeding the first time-of-departure by an initial signal interval;

receiving, from a second node, a first time-of-arrival measured by a second clock of the second node, the first time-of-arrival corresponding to reception of the first calibration signal at the second node;

receiving, from the second node, a second time-of-arrival measured by the second clock, the second time-of-arrival corresponding to reception of the second calibration signal at the second node;

defining a first calibration point in a first set of calibration points, the first calibration point representing the first time-of-departure and the first time-of-arrival;

defining a second calibration point in the first set of calibration points, the second calibration point representing the second time-of-departure and the second time-of-arrival;

calculating a first regression on the first set of calibration points; and

calculating a first frequency offset between the first clock and the second clock based on the first regression.

15. The method of claim 14 , further comprising scheduling a data transfer slot for the first node between the first time-of-departure and the second time-of-departure, the data transfer slot characterized by a slot duration less than the initial signal interval by at least a duration of the first calibration signal.

16. The method of claim 14 , further comprising:

scheduling a time synchronization slot for the first node and the second node between the first time-of-departure and the second time-of-departure;

scheduling transmission, from the first node, of a first synchronization signal during the time synchronization slot;

receiving, from the first node, a third time-of-arrival measured by the first clock, the third time-of-arrival corresponding to reception, at the first node, of a first self-receive signal generated by the first node as a back-coupled reflection of the first synchronization signal;

receiving, from the first node, a fourth time-of-arrival measured by the first clock, the fourth time-of-arrival corresponding to reception, at the first node, of a second synchronization signal transmitted by the second node;

scheduling transmission, from the second node, of the second synchronization signal during the time synchronization slot;

receiving, from the second node, a fifth time-of-arrival measured by the second clock, the fifth time-of-arrival corresponding to reception, at the second node, of a second self-receive signal generated by the second node as a back-coupled reflection of the second synchronization signal;

receiving, from the second node, a sixth time-of-arrival measured by the second clock, the sixth time-of-arrival corresponding to reception, at the second node, of the first synchronization signal transmitted by the first node; and

calculating a time bias and a propagation delay between the first clock and the second clock based on the third time-of-arrival, the fourth time-of-arrival, the fifth time-of-arrival, and the sixth time-of-arrival.

17. The method of claim 14 :

further comprising calculating a rough time bias between the first node and the second node;

wherein scheduling transmission, from the first node, of the first calibration signal at the first time-of-departure further comprises scheduling transmission, from the first node, of the first calibration signal at the first time-of-departure during a transmission slot at the first node;

wherein scheduling transmission, from the first node, of the second calibration signal at the second time-of-departure further comprises scheduling transmission, from the first node, of the second calibration signal at the second time-of-departure during the transmission slot at the first node; and

further comprising scheduling, at the second node, a reception slot spanning the first time-of-arrival and the second time-of-arrival based on the rough time bias.

18. The method of claim 14 , further comprising:

calculating a received signal interval as a difference between the first time-of-arrival and the second time-of-arrival;

in response to the received signal interval equaling the initial signal interval within a measurement variation, scheduling transmission, from the first node, of a third calibration signal at a third time-of-departure measured by the first clock and succeeding the second time-of-departure by a second signal interval greater than the initial signal interval;

receiving, from the second node, a third time-of-arrival measured by the second clock, the third time-of-arrival corresponding to reception of the first calibration signal at the second node; and

defining a third calibration point in the first set of calibration points, the third calibration point representing the third time-of-departure and the third time-of-arrival.

19. The method of claim 14 , further comprising:

receiving, from a third node, a third time-of-arrival measured by a third clock of the third node, the third time-of-arrival corresponding to reception of the first calibration signal at the third node;

receiving, from the third node, a fourth time-of-arrival measured by the third clock, the fourth time-of-arrival corresponding to reception of the second calibration signal at the third node;

defining a third calibration point in a second set of calibration points, the third calibration point representing the first time-of-departure and the third time-of-arrival;

defining a fourth calibration point in the second set of calibration points, the fourth calibration point representing the second time-of-departure and the fourth time-of-arrival;

calculating a second regression on the second set of calibration points; and

calculating a second frequency offset between the first clock and the third clock based on the second regression.

20. The method of claim 14 , further comprising:

calculating a timestamping noise of the second clock relative to the first clock based on a residual of the first regression;

calculating an adjusted signal interval based on the timestamping noise;

scheduling transmission, from the first node, of a third calibration signal at a third time-of-departure measured by the first clock;

scheduling transmission, from the first node, of a fourth calibration signal at a fourth time-of-departure measured by the first clock and succeeding the third time-of-departure by the adjusted signal interval;

receiving, from a third node, a third time-of-arrival measured by a third clock of the third node, the third time-of-arrival corresponding to reception of the third calibration signal at the third node;

receiving, from the third node, a fourth time-of-arrival measured by the third clock, the fourth time-of-arrival corresponding to reception of the fourth calibration signal at the third node;

defining a third calibration point in a second set of calibration points, the third calibration point representing the third time-of-departure and the third time-of-arrival;

defining a fourth calibration point in the second set of calibration points, the fourth calibration point representing the fourth time-of-departure and the fourth time-of-arrival;

calculating a second regression on the second set of calibration points; and

calculating a second frequency offset between the first clock and the third clock based on the second regression.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2020
From: KRATZ, PHILIP A.; CHOWDHURY, MAINAK; HOOSHMAND, ALEXANDER; JACKER, DANIEL M.
To: ZAINAR, INC.
Reel/Frame 053208/0190 →
Continuity (1)
Provisional Application 62738889 · Sep 28, 2018
Cited By (8)
US 12,267,408 US 12,284,029 US 12,328,079 US 12,463,738 US 12,513,491 US 12,550,100 US 12,671,465 US 12,732,294