IP Library Granted Patent US 9,843,405
Granted Patent B2
US 9,843,405 · App. 14/566,943 · Granted Dec 12, 2017

Method and devices for clock synchronization over links with asymmetric transmission rates

Inventor: James Aweya (Abu Dhabi, AE)
Assignees: Khalifa University of Science, Technology, and Research; British Telecommunications PLC; Emirates Telecommunications Corporation
H04J3/0667G06F1/10H04B10/071
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,843,405
App. No.
14/566,943
Granted
Dec 12, 2017
Kind
B2
Abstract

This invention relates to methods and devices for clock synchronization. The invention has particular application in the alignment of slave clocks to a master clock and in dealing with transmission delay asymmetries where the forward and reverse communication paths between the master and slave clocks have asymmetric transmission rates. Such methods and devices have particular application in small cell backhaul solutions for 4G/LTE deployments. In embodiments of the invention, the slave clock uses link rate information to estimate the transmission delay asymmetry and thus estimate the offset and skew of the slave clock. Embodiments provide a simple linear approximation technique and a Kalman filter-based technique for estimating offset and skew of the slave clock.

Claims (1047)

1. A method of synchronising a slave clock in a slave device with a master clock in a master device, the master and slave device being connected by a network having asymmetric transmission rates, the method including the steps of:

exchanging timing messages between the master device and the slave device over said network and recording timestamps which are the times of sending and receiving said messages;

calculating or estimating a ratio of the transmission rate of data from the master to the slave to the transmission rate of data from the slave to the master;

calculating a skew and offset of the slave clock compared to the master clock, wherein calculating the offset includes using said timestamps and said ratio of the transmission rates; and

synchronizing said slave clock using said calculated offset and skew;

wherein the step of calculating the skew and offset uses an exponentially weighted moving average filter applied to said timestamps and said transmission rates;

wherein the step of calculating the skew and offset calculates the skew α as the average of the skew α 1 calculated in the forward direction from master to slave and the skew α 2 calculated in the reverse direction from the slave to the master:

α

1

=

(

T

1

,

n

-

T

1

,

n

-

1

)

(

T

2

,

n

-

T

2

,

n

-

1

)

-

1

&

α

2

=

(

T

4

,

n

-

T

4

,

n

-

1

)

(

T

3

,

n

-

T

3

,

n

-

1

)

-

1

,

 wherein

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock,

and calculates the offset θ as θ=T 1,n −(1+α)T 2,n +d+p ds , wherein

ξ is the ratio of the transmission rate from master to slave to the transmission rate from slave to master,

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device; and

d

=

(

T

4

,

n

-

T

1

,

n

)

+

(

1

+

α

)

(

T

2

,

n

-

T

3

,

n

)

-

(

p

ds

+

p

us

)

(

1

+

ξ

)

,

 wherein:

p us is the fixed physical link delay of the network between the slave and the master device,

and updates the offset and skew according to the update equations:

α n=μα n +(1−μ)α n−1 , 0<μ<1 and

θ n =μθ n +(1−μ)θ n−1 , 0<μ<1.

2. A method of synchronising a slave clock in a slave device with a master clock in a master device, the master and slave device being connected by a network having asymmetric transmission rates, the method including the steps of:

exchanging timing messages between the master device and the slave device over said network and recording timestamps which are the times of sending and receiving said messages;

calculating or estimating a ratio of the transmission rate of data from the master to the slave to the transmission rate of data from the slave to the master;

calculating a skew and offset of the slave clock compared to the master clock, wherein calculating the offset includes using said timestamps and said ratio of the transmission rates; and

synchronizing said slave clock using said calculated offset and skew; and

wherein the step of calculating the skew and offset uses a Kalman filter; and

wherein, to determine the skew α n and the offset θ n at time n, the Kalman filter is applied to:

the state equation

X

n

=

[

θ

n

α

n

]

=

[

1

(

T

1

,

n

-

T

1

,

n

-

1

)

0

1

]

[

θ

n

-

1

α

n

-

1

]

+

[

w

θ

,

n

w

α

,

n

]

 and

to the measurement equation y n =D n X n +v n

wherein:

y n =(1+ξ)( T 1,n −T 2,n +p ds )+( T 4,n −T 1,n +T 2,n −T 3,n −p ds −p us ) is a scalar,

D n =[(1+ξ)−[( T 2,n −T 3,n )−(1+ξ) T 2,n ]] is a 1×2 matrix,

X n T =[θ n α n ] is a vector and

v n =(γ n −ξε n ) is the measurement noise, and wherein:

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock;

ξ is the ratio of the transmission rate from master to slave to the transmission rate from slave to master,

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device;

ε is the stochastic delay in the transmission of messages between the master and the slave device;

p us is the fixed physical link delay of the network between the slave and the master device; and

γ is the stochastic delay in the transmission of messages between the slave and the master device.

3. A slave device connected to a master device having a master clock by a network having asymmetric transmission rates, the slave device having a slave clock and a processor, the slave device being arranged to:

exchange timing messages with the master device over said network and record timestamps which are the times of sending and receiving said messages according to the respective clocks; and

calculate or estimate a ratio of the transmission rate of data from the master to the slave to the transmission rate of data from the slave to the master, wherein:

the processor is arranged to:

calculate a skew and offset of the slave clock compared to the master clock, wherein calculating the offset includes using said timestamps and said ratio of the transmission rates; and

synchronize said slave clock using said calculated offset and skew; and

wherein the processor calculates the skew and offset using an exponentially weighted moving average filter applied to said timestamps and said transmission rates by calculating the skew α as the average of the skew α 1 calculated in the forward direction from master to slave and the skew α 2 calculated in the reverse direction from the slave to the master:

α

1

=

(

T

1

,

n

-

T

1

,

n

-

1

)

(

T

2

,

n

-

T

2

,

n

-

1

)

-

1

&

α

2

=

(

T

4

,

n

-

T

4

,

n

-

1

)

(

T

3

,

n

-

T

3

,

n

-

1

)

-

1

,

 wherein

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock, and calculating the offset θ as θ=T 1,n −(1+α)T 2,n +d+p ds , wherein:

ξ is the ratio of the transmission rate from master to slave to the transmission rate from slave to master,

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device; and

d

=

(

T

4

,

n

-

T

1

,

n

)

+

(

1

+

α

)

(

T

2

,

n

-

T

3

,

n

)

-

(

p

ds

+

p

us

)

(

1

+

ξ

)

,

 wherein:

p us is the fixed physical link delay of the network between the slave and the master device,

and updates the offset and skew according to the update equations:

{circumflex over (α)} n=μα n +(1−μ){circumflex over (α)} n−1 , 0<μ<1 and

{circumflex over (θ)} n =μθ n +(1−μ){circumflex over (θ)} n−1 , 0<μ<1.

4. A slave device connected to a master device having a master clock by a network having asymmetric transmission rates, the slave device having a slave clock and a processor, the slave device being arranged to:

exchange timing messages with the master device over said network and record timestamps which are the times of sending and receiving said messages according to the respective clocks; and

calculate or estimate a ratio of the transmission rate of data from the master to the slave to the transmission rate of data from the slave to the master, wherein:

the processor is arranged to:

calculate a skew and offset of the slave clock compared to the master clock, wherein calculating the offset includes using said timestamps and said ratio of the transmission rates; and

synchronize said slave clock using said calculated offset and skew; and

wherein the processor calculates the skew and offset using a Kalman filter to determine the skew α n and the offset θ n at time n, the Kalman filter being applied to:

the state equation

X

n

=

[

θ

n

α

n

]

=

[

1

(

T

1

,

n

-

T

1

,

n

-

1

)

0

1

]

[

θ

n

-

1

α

n

-

1

]

+

[

w

θ

,

n

w

α

,

n

]

 and

to the measurement equation y n =D n X n +v n

wherein:

y n =(1+ξ)( T 1,n −T 2,n +p ds )+( T 4,n −T 1,n +T 2,n −T 3,n −p ds −p us ) is a scalar,

D n =[(1+ξ)−[( T 2,n −T 3,n )−(1+ξ) T 2,n ]] is a 1×2 matrix,

X n T =[θ n α n ] is a vector and

v n =(γ n −ξε n ) is the measurement noise, and wherein:

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the local clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock;

ξ is the ratio of the transmission rate from master to slave to the transmission rate from slave to master,

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device;

ε is the stochastic delay in the transmission of messages between the master and the slave device;

p us is the fixed physical link delay of the network between the slave and the master device; and

γ is the stochastic delay in the transmission of messages between the slave and the master device.

5. A system including:

a master device having a master clock;

a slave device having a slave clock and a processor; and

a network connecting said master device and said slave device and having asymmetric transmission rates, wherein

the slave device is arranged to:

exchange timing messages with the master device over said network and record timestamps which are the times of sending and receiving said messages according to the respective clocks; and

calculate or estimate a ratio of the transmission rate of data from the master to the slave to the transmission rate of data from the slave to the master, and further wherein:

the processor is arranged to:

calculate a skew and offset of the slave clock compared to the master clock, wherein calculating the offset includes using said timestamps and said ratio of the transmission rates; and

synchronize said slave clock using said calculated offset and skew; and

wherein the processor calculates the skew and offset using an exponentially weighted moving average filter applied to said timestamps and said transmission rates by calculating the skew α as the average of the skew α 1 calculated in the forward direction from master to slave and the skew α 2 calculated in the reverse direction from the slave to the master:

α

1

=

(

T

1

,

n

-

T

1

,

n

-

1

)

(

T

2

,

n

-

T

2

,

n

-

1

)

-

1

&

α

2

=

(

T

4

,

n

-

T

4

,

n

-

1

)

(

T

3

,

n

-

T

3

,

n

-

1

)

-

1

,

 wherein

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the local clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock, and calculating the offset θ as θ=T 1,n −(1+α)T 2,n +d+p ds , wherein:

ξ is the ratio of the transmission rate from master to slave to the transmission rate from slave to master,

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device; and

d

=

(

T

4

,

n

-

T

1

,

n

)

+

(

1

+

α

)

(

T

2

,

n

-

T

3

,

n

)

-

(

p

ds

+

p

us

)

(

1

+

ξ

)

,

 wherein:

p us is the fixed physical link delay of the network between the slave and the master device,

and updates the offset and skew according to the update equations:

{circumflex over (α)} n =μα n +(1−μ){circumflex over (α)} n−1 , 0<μ<1 and

{circumflex over (θ)} n =μθ n +(1−μ){circumflex over (θ)} n−1 , 0<μ<1.

6. A system including:

a master device having a master clock;

a slave device having a slave clock and a processor; and

a network connecting said master device and said slave device and having asymmetric transmission rates, wherein

the slave device is arranged to:

exchange timing messages with the master device over said network and record timestamps which are the times of sending and receiving said messages according to the respective clocks; and

calculate or estimate a ratio of the transmission rate of data from the master to the slave to the transmission rate of data from the slave to the master, and further wherein:

the processor is arranged to:

calculate a skew and offset of the slave clock compared to the master clock, wherein calculating the offset includes using said timestamps and said ratio of the transmission rates; and

synchronize said slave clock using said calculated offset and skew; and

wherein the processor calculates the skew and offset using a Kalman filter to determine the skew α n and the offset θ n at time n, the Kalman filter being applied to:

the state equation

X

n

=

[

θ

n

α

n

]

=

[

1

(

T

1

,

n

-

T

1

,

n

-

1

)

0

1

]

[

θ

n

-

1

α

n

-

1

]

+

[

w

θ

,

n

w

α

,

n

]

 and

to the measurement equation y n =D n X n +v n

wherein:

y n =(1+ξ)( T 1,n −T 2,n +p ds )+( T 4,n −T 1,n +T 2,n −T 3,n −p ds −p us ) is a scalar,

D n =[(1+ξ)−[( T 2,n −T 3,n )−(1+ξ) T 2,n ]] is a 1×2 matrix,

X n T =[θ n α n ] is a vector and

v n =(γ n −ξε n ) is the measurement noise, and wherein:

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock;

ξ is the ratio of the transmission rate from master to slave to the transmission rate from slave to master,

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device;

ξ is the stochastic delay in the transmission of messages between the master and the slave device;

p ds is the fixed physical link delay of the network between the slave and the master device; and

γ is the stochastic delay in the transmission of messages between the slave and the master device.

7. A method of synchronising a slave clock in a slave device with a master clock in a master device, the master and slave device being connected by a network having asymmetric transmission rates, the method including the steps of:

determining the maximum communication rate over said network between the slave and the master;

setting a communication rate for transmitting timestamps in both directions between the master and the slave at a rate which is less than said maximum communication rate;

exchanging timing messages between the master device and the slave device over said network at said set communications rate and recording timestamps which are the times of sending and receiving said messages;

calculating a skew and offset of the slave clock compared to the master clock using said timestamps; and

synchronizing said slave clock using said calculated offset and skew; and

wherein the step of calculating the skew and offset uses an exponentially weighted moving average filter applied to said timestamps and said transmission rates; and

wherein the step of calculating the skew and offset calculates the skew α as the average of the skew α 1 calculated in the forward direction from master to slave and the skew α 2 calculated in the reverse direction from the slave to the master:

α

1

=

(

T

1

,

n

-

T

1

,

n

-

1

)

(

T

2

,

n

-

T

2

,

n

-

1

)

-

1

&

α

2

=

(

T

4

,

n

-

T

4

,

n

-

1

)

(

T

3

,

n

-

T

3

,

n

-

1

)

-

1

,

 wherein

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock,

and calculates the offset θ as θ=T 1,n −(1+α)T 2,n +d+p ds , wherein:

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device; and

d

=

(

T

4

,

n

-

T

1

,

n

)

+

(

1

+

α

)

(

T

2

,

n

-

T

3

,

n

)

-

(

p

ds

+

p

us

)

(

1

+

ξ

)

,

 wherein:

p us is the fixed physical link delay of the network between the slave and the master device,

and updates the offset and skew according to the update equations:

{circumflex over (α)} n =μα n +(1−μ){circumflex over (α)} n−1 , 0<μ<1 and

{circumflex over (θ)} n =μθ n +(1−μ){circumflex over (θ)} n−1 , 0<μ<1.

8. The method according to claim 7 wherein only the rate of data transfer of the timing messages is restricted and other data is transferred at normal, unrestricted rates.

9. A method of synchronising a slave clock in a slave device with a master clock in a master device, the master and slave device being connected by a network having asymmetric transmission rates, the method including the steps of:

determining the maximum communication rate over said network between the slave and the master;

setting a communication rate for transmitting timestamps in both directions between the master and the slave at a rate which is less than said maximum communication rate;

exchanging timing messages between the master device and the slave device over said network at said set communication rate and recording timestamps which are the times of sending and receiving said messages;

calculating a skew and offset of the slave clock compared to the master clock using said timestamps; and

synchronizing said slave clock using said calculated offset and skew; and

wherein the step of calculating the skew and offset uses a Kalman filter; and

wherein, to determine the skew α n and the offset θ n at time n, the Kalman filter is applied to:

the state equation

X

n

=

[

θ

n

α

n

]

=

[

1

(

T

1

,

n

-

T

1

,

n

-

1

)

0

1

]

[

θ

n

-

1

α

n

-

1

]

+

[

w

θ

,

n

w

α

,

n

]

 and

to the measurement equation y n =D n X n +v n

wherein:

y n =( T 1,n −T 2,n )+( T 4,n −T 3,n )+( p ds −p us ) is a scalar,

D n =[2( T 2,n +T 3,n )] is a 1×2 matrix,

X n T =[θ n α n ] is a vector and

v n =(γ n −ε n ) is the measurement noise, and wherein:

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock;

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device;

ε is the stochastic delay in the transmission of messages between the master and the slave device;

p us is the fixed physical link delay of the network between the slave and the master device;

γ is the stochastic delay in the transmission of messages between the slave and the master device.

10. A system including:

a master device having a master clock and a first rate controller;

a slave device having a slave clock, a processor and a second rate controller; and

a network connecting said master device and said slave device and having asymmetric transmission rates, wherein

the system is arranged to:

estimate or determine the maximum communication rate over said network between the slave and the master; and

setting a timing message exchange rate which is a rate which is less than said maximum communication rate;

the master and slave devices are arranged to:

exchange timing messages between the master device and the slave device over said network at said set exchange rate and recording timestamps which are the times of sending and receiving said messages, wherein the first and second rate controller restrict the rate of data transfer of said timing messages to said tinting message exchange rate; and

the processor is arranged to:

calculate the skew and offset of the slave clock compared to the master clock in said timestamps; and

synchronize said slave clock using said calculated offset and skew; and

wherein the processor calculates the skew and offset using an exponentially weighted moving average filter applied to said timestamps and said transmission rates by calculating the skew α as the average of the skew α 1 calculated in the forward direction from master to slave and the skew α 2 calculated in the reverse direction from the slave to the master:

α

1

=

(

T

1

,

n

-

T

1

,

n

-

1

)

(

T

2

,

n

-

T

2

,

n

-

1

)

-

1

&

α

2

=

(

T

4

,

n

-

T

4

,

n

-

1

)

(

T

3

,

n

-

T

3

,

n

-

1

)

-

1

,

 wherein

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock,

and calculates the offset θ as θ=T 1,n −(1+α)T 2,n +d+p ds , wherein:

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device; and

d

=

(

T

4

,

n

-

T

1

,

n

)

+

(

1

+

α

)

(

T

2

,

n

-

T

3

,

n

)

-

(

p

ds

+

p

us

)

(

1

+

ξ

)

,

 wherein

p us is the fixed physical link delay of the network between the slave and the master device,

and updates the offset and skew according to the update equations:

{circumflex over (α)} n =μα n +(1−μ){circumflex over (α)} n−1 , 0<μ<1 and

{circumflex over (θ)} n =μθ n +(1−μ){circumflex over (θ)} n−1 , 0<μ<1.

11. A system including:

a master device having a master clock and a first rate controller;

a slave device having a slave clock, a processor and a second rate controller; and

a network connecting said master device and said slave device and having asymmetric transmission rates, wherein

the system is arranged to:

estimate or determine the maximum communication rate over said network between the slave and the master; and

setting a timing message exchange rate which is a rate which is less than said maximum communication rate;

the master and slave devices are arranged to:

exchange timing messages between the master device and the slave device over said network at said set exchange rate and recording timestamps which are the times of sending and receiving said messages, wherein the first and second rate controller restrict the rate of data transfer of said timing messages to said timing message exchange rate; and

the processor is arranged to:

calculate the skew and offset of the slave clock compared to the master clock using said timestamps; and

synchronize said slave clock using said calculated offset and skew; and

wherein the processor calculates the skew and offset using a Kalman filter to determine the skew α n and the offset θ n at time n, the Kalman filter being applied to:

the state equation

X

n

=

[

θ

n

α

n

]

=

[

1

(

T

1

,

n

-

T

1

,

n

-

1

)

0

1

]

[

θ

n

-

1

α

n

-

1

]

+

[

w

θ

,

n

w

α

,

n

]

 and

to the measurement equation y n =D n X n +v n

wherein:

y n =( T 1,n −T 2,n )+( T 4,n −T 3,n )+( p ds −p us ) is a scalar,

D n =[2( T 2,n +T 3,n )] is a 1×2 matrix,

X n T =[θ n α n ] is a vector and

v n =(γ n −ε n ) is the measurement noise, and wherein:

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock;

p ds is the fixed physical link (or propagation) delay of the network between the master and the slave device;

ε is the stochastic delay in the transmission of messages between the master and the slave device;

p us is the fixed physical link delay of the network between the slave and the master device;

γ is the stochastic delay in the transmission of messages between the slave and the master device.

Assignments (2)
CHANGE OF NAME Recorded Aug 8, 2019
From: KHALIFA UNIVERSITY OF SCIENCE, TECHNOLOGY AND RESEARCH
To: KHALIFA UNIVERSITY OF SCIENCE AND TECHNOLOGY
Reel/Frame 050006/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2015
From: AWEYA, JAMES, DR
To: KHALIFA UNIVERSITY OF SCIENCE, TECHNOLOGY, AND RESEARCH; BRITISH TELECOMMUNICATIONS PLC; EMIRATES TELECOMMUNICATIONS CORPORATION
Reel/Frame 034808/0191 →
Continuity (1)
Related Publication 20160170437A1 · Jun 16, 2016