This invention relates to the transfer of timing information over packet networks, and more particularly to a method wherein timestamps are sent from the transmitter to the receiver to enable synchronization of the receiver.
In order to send time sensitive information, such as voice and video data, over asynchronous networks, some means must be employed or transferring timing information between the transmitting and receiving end. Timing-over-Packet (ToP) technology enables accurate timing and synchronization to be distributed across asynchronous packet infrastructures, allowing carriers to confidently support time-critical services over packet networks.
A network including ToP technology is shown in
At receiver side, the processor compares the transmitter time stamp with a local generated time stamp from the receiver DCO. The difference in time stamp, which is called transit time, is used to adjust receiver center frequency of the receiver DCO so that it will be synchronized with the master DCO.
To minimize the impact on data transmission, the transmission rate for timing packets, i.e. packets with time stamp information, has to be limited so that it is much smaller than the network data rate. In order to provide an accurate update of the receiver DCO, a large amount of data needs to be collected, and at a low transmission rate, this can take considerable time.
The invention computes an estimate of the frequency deviation by an accurate method, such as the least squares method or the recursive least square method.
Thus, in accordance with one aspect of the invention there is provided a method of transferring timing information over a network between a transmitter and receiver, comprising generating a clock signals with a first digital controlled oscillator having a set center frequency at the transmitter based on a local oscillator at the transmitter; generating clock signals at the receiver with a digital controlled oscillator having a set center frequency based on a local oscillator at the receiver; sending time-stamped packets derived from the local transmitter clock to the receiver; creating time-stamped packets at the receiver containing timing information derived from the local receiver clock; processing said time-stamped packets to compute an estimate of the frequency deviation between the transmitter clock and the receiver clock; adjusting the center frequency of the digital controlled oscillator at the receiver so that it is synchronized with the digital controlled oscillator at the receiver, and wherein an overlapping multi-window approach is adopted wherein data adjustment blocks compute frequency adjustments from timing data accumulating during overlapping time intervals, and the data adjustment blocks take turns to output frequency adjustment data for the digital controlled oscillator at the receiver every T/M time intervals, where T is the time required to collect enough data to make an adjustment with a single adjustment block, and M is the number of adjustment blocks.
The novel method in accordance with the invention allows the local clock to track the reference clock through unknown network with minimum error. The Least Square method is an effective solution for a general unknown network delay distribution as it is very robust and accurate
Embodiments of the invention use a multi-window least squares approach to solve the problem. Multiple over-lapped windows are used for information collection. The DCO is updated when one of data collection windows reaches its full capacity. The other data windows are compensated when DCO is updated.
In accordance with another aspect of the invention there is provided an apparatus for updating the set frequency of a digital controlled oscillator at a receiver for timing recovery in an asynchronous packet network, comprising: a plurality of data accumulation blocks for accumulating timing data from time-stamped packets transmitted through a packet network from a transmitter; a plurality of adjustment blocks for computing an estimate of the frequency deviation from said accumulated timing data; and an updater for periodically updating said set frequency based on said computed estimate to synchronize said digital controlled oscillator at the receiver with a digital controlled oscillator at the transmitter; and wherein the data adjustment blocks are configured to compute frequency adjustments from timing data accumulating during overlapping time intervals, and the data adjustment blocks are configured to take turns to output frequency adjustment data for the digital controlled oscillator at the receiver every T/M time intervals, where T is the time required to collect enough data to make an adjustment with a single adjustment block, and M is the number of adjustment blocks.
The present invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:
The general expression for the time stamps can be expressed as:
ntx=k·T·ftx,
nrx=(k·T+Δk)·frx+Φ
where ntx and nrx are time stamps of packet at transmitter and receiver side respectively, with ftx and frx as the respective DCO frequencies. T is the time interval between two consecutive timing packets and k is the index. If Δk is the network delay and Φ is the initial phase offset between the transmitter DCO and the receiver DCO, the transit time is the difference between ntx and nrx.
This transit time can be expressed as:
ntxnrx=k·T·(ftx−frx)+Δk·frx+Φ
where yk=ntx−nrx is the transit time,
is the frequency deviation of interest, (106·α is the deviation of the local clock in ppm), xk=k·T·ftx is the transmitter timestamp, and vk=Δk·frx+Φ is the noise containing the network delay as the noise source. Since ftx remains relatively constant with only a small change during a DCO update, vk mostly represents the network delay variation with a phase offset. The estimate can now be reduced to
yk=α·xk+vk
In order to adjust the DCO frequency, it is important to estimate α, in which case the required DCO frequency adjustment is α·ftx) which is given by the expression
Assuming N items of data are collected, the solution is
A processor for implementing this solution is shown in
In
The data accumulation block 10 collects every timing packet with transmitter timestamp and receiver timestamp, and updates Sx, Sy, Sxy and S2x. The number of data collected is stored in the main counter 32. When the main counter 32 reaches a pre-set time limited (T), DCO adjustment value is calculated with the number of collected data in that time interval (N). In the meantime, the main counter 32 is reset to zero and all memories and the data counter in the data accumulation block 10 are reset to zero.
When the network traffic is heavy and the network delay has a large variation, more data is required for an accurate clock estimation, which means that the clock update takes a longer time. This is especially true if the timing packet is only transmitted at a low rate. In order to update the DCO more often while maintaining the same window size, an embodiment of the invention employs a novel multi-window approach, which is shown in
In
If each DCO update requires time interval T to make an accurate DCO adjustment with enough timing packets being collected, the DCO adjustment can be done with double speed, i.e., adjusted every T/2 time interval. When DCO adjustment block 121 is in the process of adjusting DCO with information collected by data accumulation block 101 in the past time interval T, data accumulation block 102 only accumulates information from its first T1=T/2 of time interval, and vice verse.
When DCO adjustment block 121 calculates the DCO adjustment, data accumulation block 101 will be reset, but data accumulation block 102 is half way through data collection, which means that it has different frequency deviation before and after that time. Thus, adjustment has to be made for variables in the data accumulation blocks. Let the transit time and transmitter time stamp relationship be
yk=α·xk+vk
before adjustment and
yk=α1·xk+vk+b
after adjustment as shown in
In order to match the previous collected data to the later data, some adjustments have to be made to Sy and Sxy. (Sx and S2x will be unaffected). For a known DCO adjustment α1−α, the adjustments for Sy and Sxy are:
Sy=Sy+(α1−α)(Sx−T1)
Sxy=Sxy+(α1−α)(S2x−T1·Sx)
where T1 is the time elapsed during the data collection of Sy, Sxy, Sx and S2x in units of transmitter time stamp. T1 can also be obtained by taking the difference between the largest time stamp value in Sx and the smallest one.
Blocks 381 and 382 update the respective data accumulation blocks accordingly.
From
A similar scheme to that described with reference to
In the embodiment shown in
The embodiment shown in
When the main counter 32 reaches time limit T/M, the secondary counter 42, which has an output m that counts from 1 to M, controls selects DCO adjustment block 12m to update the DCO. Its corresponding data accumulation block 10m is also updated. At that time, all memories in the data accumulation m are reset and other data accumulation blocks update their Sy and Sxy because of the DCO adjustment (as shown in
The described embodiments provide a low cost implementation of timing-over-packet technology, while offering network synchronization with accurate frequency estimates and fast DCO updates. Embodiments of the invention also offer fast and accurate lock without overshooting. The method can be extended to other accurate estimate methods, such as the recursive least square estimate method.
It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. For example, a processor may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or custom, may also be included.
Number | Date | Country | Kind |
---|---|---|---|
0815458.5 | Aug 2008 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
5276706 | Critchlow | Jan 1994 | A |
6698022 | Wu | Feb 2004 | B1 |
7502953 | Boecker et al. | Mar 2009 | B2 |
7792158 | Cho et al. | Sep 2010 | B1 |
20050041692 | Kallstenius | Feb 2005 | A1 |
20080130808 | Ma | Jun 2008 | A1 |
20080151761 | Theisen et al. | Jun 2008 | A1 |
20090060108 | Hafuka | Mar 2009 | A1 |
20100183034 | Kroepfl et al. | Jul 2010 | A1 |
Number | Date | Country | |
---|---|---|---|
20100054283 A1 | Mar 2010 | US |