IP Library Granted Patent US 8,774,227
Granted Patent B2
US 8,774,227 · App. 12/773,622 · Granted Jul 8, 2014

Multi input timing recovery over packet network

Inventor: Kamran Rahbar (Kanata, CA)
Assignee: Microsemi Semiconductor ULC
H04J3/0667H04J3/0679H04J3/0682H04J3/0644H04L7/0331H04L47/283H04L43/106H04L43/087
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 8,774,227
App. No.
12/773,622
Granted
Jul 8, 2014
Kind
B2
Abstract

In a method of recovering timing information over packet networks, a receiver receives a plurality of packet streams over different paths from the same source. The raw delays experienced by the timing packets for each stream are filtered to provide a filtered delay for each stream. The filtered delays are weighted based on the quality of each stream, and the weighted filtered delays are then combined to form an aggregate delay estimate. Frequency adjustments for a local clock at the receiver are derived from the aggregate delay estimate.

Claims (215)

1. A method of recovering timing information over a packet network, comprising:

receiving a plurality of timing packets, each of the timing packets being derived from the same clock source and proceeding to a receiving block over a different path through the packet network, each of the timing packets being time-stamped with a transmitter time-stamp;

time-stamping the received timing packets with a local time-stamp;

arranging the timing packets received over different paths into a plurality of separate timing packet streams, each said timing packet stream corresponding to a different path through the network;

measuring the raw delays experienced by each of the timing packets in each of the respective timing packet streams by determining the difference between the transmitter time-stamp and the local time-stamp;

filtering the measured raw delays of the timing packets in each of the timing packet streams to account for network packet delay variations so as to provide a separate filtered delay for each of the respective timing packet streams;

weighting the filtered delays based on the quality of each of the respective timing packet streams to produce a weighted filtered delay for each timing packet stream;

combining the weighted filtered delays of the respective timing packet streams to form an aggregate delay estimate for all the timing packet streams; and

determining frequency adjustments from the aggregate delay estimate for a local clock at the receiver, and

wherein the weights of the individual timing packet streams are calculated based on a non-linear function of the packet rate and an estimated residual error for the filtered delay.

2. A method as claimed in claim 1 , wherein the quality of each timing packet stream is determined by the variance of the timing packet delay and the packet rate for each timing packet stream.

3. A method as claimed in claim 1 , wherein the aggregate delay estimate is determined in accordance with the formula:

F

(

n

)

=

j

=

1

N

β

j

-

1

(

n

)

R

j

(

n

)

where β j (n) are weighting coefficients, n is index to samples, N is the number of timing packet streams, F(n) is the best time delay estimate, and R j (n) is the filtered time delay output for the j_th timing packet stream.

4. A method as claimed in claim 3 , wherein the weighting coefficients are calculated in accordance with the formula:

β

j

(

n

)

=

Q

j

(

n

)

j

=

1

N

Q

j

(

n

)

where

Q

j

(

n

)

=

k

=

1

M

j

(

n

)

v

j

(

k

)

4

M

j

3

(

n

)

where M j (n) represents the number of filtered timing packets for timing packet stream j from time t n−1 to t n and v j (k) is the residual error calculated from

v j ( k )= w j ( k )−φ j ( k )

wherein w j (k) is the filtered time delay for the k_th packet and the j_th timing packet stream, and φ j (k) is the true delay between transmitter and receiver for the k_th packet and the j_th timing packet stream.

5. A method as claimed in claim 4 , wherein the aggregate delay estimate is passed through a loop filter to provide an update for a digital controlled oscillator that provides said local clock.

6. A method as claimed in claim 2 , wherein the filtered measured raw delays for at least one of the plurality of timing packet streams are re-sampled to a uniform sampling rate so as to be common for all of the timing packet streams.

7. A method as claimed in claim 1 , wherein the timing packets for each of the plurality of timing packet streams are filtered using a minimum statistics adaptive filter.

8. A timing recovery unit for recovering timing information over packet networks, comprising:

a receiving block configured to receive a plurality of timing packets, each timing packet derived from the same clock source and proceeding to the receiving block over a different path through the packet network, the timing packets received over different paths being arranged into a plurality of separate timing packet streams, each said timing packet stream corresponding to a different path through the network, and each of the timing packets being time-stamped with a transmitter time-stamp;

a plurality of blocks, one for each timing packet stream, configured to measure the raw delays experienced by the respective timing packets in each timing packet stream;

a plurality of filters, one for each timing packet stream, configured to filter the measured raw delays of the timing packets in each timing packet stream to account for network packet delay variations so as to provide a separate filtered delay for each respective timing packet stream;

a plurality of weighting blocks, one for each timing packet stream, configured to weight the filtered delays in each timing packet stream based on the quality of each respective timing packet stream, and wherein the weighting block calculates the weights of the individual timing packet streams based on a non-linear function of the packet rate and an estimated residual error for the filtered delay;

a combiner for combining the weighted filtered delays of the respective timing packet streams to form an aggregate delay estimate for all the timing packet streams; and

a controlled oscillator configured to output a local clock based on said aggregate delay estimate.

9. A timing recovery unit as claimed in claim 8 , wherein the weighting block determines the quality of each timing packet stream based on the variance of the packet delay and the packet rate for each timing packet stream.

10. A timing recovery unit as claimed in claim 8 , wherein the aggregate delay estimate is determined in accordance with the formula:

F

(

n

)

=

j

=

1

N

β

j

-

1

(

n

)

R

j

(

n

)

where β j (n) are weighting coefficients, n is index to samples, N is the number of timing packet streams, F(n) is the best time delay estimate, and R j (n) is the filtered time delay output for the j_th timing packet stream.

11. A timing recovery unit as claimed in claim 10 , wherein the weighting coefficients are calculated in accordance with the formula:

β

j

(

n

)

=

Q

j

(

n

)

j

=

1

N

Q

j

(

n

)

where

Q

j

(

n

)

=

k

=

1

M

j

(

n

)

v

j

(

k

)

4

M

j

3

(

n

)

where M j (n) represents the number of filtered timing packets for timing packet stream j from time t n−1 to t n and v j (k) is the residual error calculated from

v j ( k )= w j ( k )−φ j ( k )

wherein w j (k) is the filtered time delay for the k_th packet and the j_th timing packet stream, and φ j (k) is the true delay between transmitter and receiver for the k_th packet and the j_th timing packet stream.

12. A timing recovery unit as claimed in claim 11 , further comprising a loop filter for filtering the aggregate delay estimate to provide an update for said controlled oscillator.

13. A timing recovery unit as claimed in claim 8 , further comprising a re-sampler for re-sampling the filtered measured raw delays of the at least one of the plurality of timing packet streams to a uniform sampling rate so as to be common for all of the timing packet streams.

14. A timing recovery unit as claimed in claim 8 , further comprising a minimum statistics adaptive filter for filtering the timing packets for each timing packet stream.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jan 19, 2016
From: BANK OF AMERICA, N.A.
To: MICROSEMI CORPORATION; MICROSEMI CORP.-ANALOG MIXED SIGNAL GROUP, A DELAWARE CORPORATION; MICROSEMI SOC CORP., A CALIFORNIA CORPORATION; MICROSEMI SEMICONDUCTOR (U.S.) INC., A DELAWARE CORPORATION; MICROSEMI FREQUENCY AND TIME CORPORATION, A DELAWARE CORPORATION; MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION), A DELAWARE CORPORATION; MICROSEMI CORP.-MEMORY AND STORAGE SOLUTIONS (F/K/A WHITE ELECTRONIC DESIGNS CORPORATION), AN INDIANA CORPORATION
Reel/Frame 037558/0711 →
SECURITY AGREEMENT Recorded Apr 22, 2015
From: MICROSEMI CORPORATION; MICROSEMI CORP.-ANALOG MIXED SIGNAL GROUP; MICROSEMI SEMICONDUCTOR (U.S.) INC.; MICROSEMI SOC CORP.; MICROSEMI FREQUENCY AND TIME CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035477/0057 →
CHANGE OF NAME Recorded May 22, 2014
From: MICROSEMI SEMICONDUCTOR CORP.
To: MICROSEMI SEMICONDUCTOR ULC
Reel/Frame 032948/0768 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2014
From: ZARLINK SEMICONDUCTOR INC.
To: MICROSEMI SEMICONDUCTOR CORP.
Reel/Frame 032938/0104 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2010
From: RAHBAR, KAMRAN
To: ZARLINK SEMICONDUCTOR INC.
Reel/Frame 024490/0873 →
Priority Claims (1)
GB 0908883.2 · May 22, 2009 · national
Continuity (1)
Related Publication 20100296524A1 · Nov 25, 2010