Clock recovery using a double-exponential smoothing process
AssigneeNortel Networks Limited
InventorsJames Aweya, Michel Ouellette, Delfin Y. Montuno, Kent E. Felske
Life of this patent
Estimating the term…
Abstract
A system and method for synchronizing a local clock to a reference clock using a linear model of the clock error between the local clock and the reference clock is disclosed. In one embodiment, a double-exponential smoothing process is used in conjunction with the linear model to estimate a frequency offset by which the frequency of an oscillator of the local clock is adjusted. Also disclosed herein is a phased-lock loop (PLL) adapted to synchronize a local clock with a reference clock using the double-exponential smoothing process, as well as a system implementing the PLL for timing the playout of data received from a transmitter.
Claims20
A method for synchronizing a clock of a receiver with a clock of a transmitter, wherein the transmitter is adapted to transmit a sequence of time references to the receiver, each time reference being representative of a time of transmission of the time reference, the method comprising the steps of:
- for each time reference of a subset of the sequence of time references:
- determining a clock error based in part on a difference between the time reference and a time of the receiver clock representative of a time of a reception of the time reference at the receiver;
- determining a first-order smoothing value based in part on a weighted average of the clock error and a previous first-order smoothing value associated with a previous time reference of the sequence previously received at the receiver;
- determining a second-order smoothing value based in part on a weighted average of the first-order smoothing value and a second-order smoothing value associated with the previous time reference;
- and
- determining a frequency offset based in part on a difference between the first-order smoothing value and the second-order smoothing value.
A phase-locked loop (PLL) for synchronizing a local clock to a reference clock, the PLL comprising:
- an oscillator being adapted to output a local frequency;
- a loop filter being adapted to:
- for each time reference of a sequence of time references of the reference clock:
- determine a first-order smoothing value based in part on a weighted average of a previous first-order smoothing value associated with a previously received time reference of the sequence and a difference between the time reference and a corresponding time reference of the local clock;
- determine a second-order smoothing value based in part on a weighted average of the first-order smoothing value and a previous second-order smoothing value associated with the previously received packet;
- and
- determine a frequency offset based in part on a difference between the first-order smoothing value and the second-order smoothing value;
- and
- an oscillator input conditioner operably connected to the loop filter and the oscillator and being adapted to modify the local frequency of the oscillator by the frequency offset.
In a packet-switched network, a system for playout of data of a sequence of packets transmitted from a transmitter, the system comprising:
- a data buffer being adapted to store a data payload of each packet of the sequence of packets;
- a timestamp buffer being adapted to store a transmitter timestamp of each packet of the sequence of packets, the transmitter timestamp being representative of a time of a clock of the transmitter at a transmission of the packet;
- a playout module operably connected to the data buffer and the timestamp buffer and being adapted to direct an output of a data payload from the data buffer when a corresponding transmitter timestamp in the timestamp buffer is equivalent to a time of a local clock;
- and
- a phased-lock loop (PLL) being adapted to provide the local clock and being further adapted to:
- for each packet of the sequence of packets:
- determine a first-order smoothing value based in part on a weighted average of a clock error between the local clock and the transmitter clock and a previous first-order smoothing value associated with a previously received packet of the sequence;
- determine a second-order smoothing value based in part on a weighted average of the first-order smoothing value and a second-order smoothing value associated with the previously received packet;
- and
- modify a frequency of the local clock by a frequency offset based in part on a difference between the first-order smoothing value and the second-order smoothing value.
Dependencies are inferred from the claim text.