A METHOD. AN APPARATUS AND A NETWORK FOR CLOCK RECOVERY FIELD OF THE INVENTION
The present invention relates to a method, an apparatus and a network for recovering the clock of a constant bit-rate service, which is transported over an packet-switched network.
BACKGROUND OF THE INVENTION
Through WO, Al , 95/33320 it is known to recover a clock signal by periodically sample a buffer fill level and adjusting a clock frequency to achieve a steady-state mean of the buffer fill level or its derivative.
Through WO, Al , 95/22233 it is known to submit to the first packet, of a sequence of packets, a predetermined delay after that the fill level of a delay buffer is monitored and subsequent packages are submitted to a variable delay to maintain the fill level of said buffer to minimise the risk of over- or underflow of said buffer.
In IEEE 1988 ref. CH2535-3/88/0000-1468 a time-averaging method and an optimal control method is presented.
SUMMARY OF THE INVENTION
To be able to transport a synchronous service with a CBR (Constant Bit-Rate) over an asynchronous packet-switched network there must exist some means to match the clock frequency at the receiving end to the clock frequency at the transmitting end. This is essential so that buffers on the receiving side does not drain or overflow. If the clock frequency at the receiving side is a fraction too fast the frequency with which the receiving buffer is emptied is greater than the frequency with which it is filled, which eventually will lead to a temporary stop of the CBR service. If, on the other hand, the receiving clock is too slow the receiving buffer will overflow and data will be lost.
One way of achieving same clock frequency on both transmitting and receiving side is to supervise the periodic arrivals of the CBR traffic and adjust the receiving clock frequency accordingly. This is, however, not a straigh -forward task since each cell is submitted to individual delays, so called cell jitter.
The cell jitter is the result of the multiplexing and queuing in the packet-switched network. The cell queuing in a switch introduce a delay which is related to the traffic congestion the switch is experiencing. The traffic congestion, in turn, depends on the traffic from other sources and their inter-arrival time distributions. The delay introduced for multiplexing depends on the multiplexing policies of the switches the cell passes on its way to the receiver.
One major problem with transporting CBR services over packet- switched networks is therefore to find a stable and secure way of recovering the clock-signal at the receiving end.
Another problem which the present invention solves is to avoid excessive clock wander.
Another problem which this invention solves is to achieve rapid convergence times for the regulation of the clock frequency.
Another problem which the invention solves is to avoid destructive effects of cell-loss on the regulation.
The object with the present invention is to secure a safe transport of a CBR service over a packet-switched network.
Another objective with the present invention is to recover the clock of a CBR service transported over a packet-switched network.
The present invention solves the problem with recovering the clock signal of a CBR service which is transported over a
packet-switched network by filtering the measured packet inter- arrival times, taking the mean-value of the result over a certain period, depending on the value of the derivative, or the value of several consecutive derivatives, of the mean-values adjusting the period used for taking the mean-values and depending on the value of the derivative adjusting the clock frequency for fetching cells from the receive buffer.
In more detail the proposed solution measures the time between two consecutive cell arrivals. By continuously measuring this time, and from each value subtract the expected inter-arrival time, a Series of samples, with the expected mean value of zero, is produced. This series of samples is passed through a filter in order to reduce the noise. From the filter the modified series is passed to a Mean estimator. The Mean estimator takes the mean-value, from a start sample and up to the current sample. That is, for every new sample the Mean estimator adds the value of the sample to a stored sum and takes the mean of this sum. This will result in a series of samples from the Mean estimator, this series is supplied to a Mean slope control block which takes the derivative of the supplied series and depending on the value of the derivative, or the value of several consecutive derivatives, resets the sum of the Mean estimator to zero and supplies information to adjust the clock frequency for fetching data from the receiving buffer.
The advantage with the invention is that it has a fast convergence time.
Another advantage is that the invention is not sensitive to rapid change in network traffic load.
Another advantage is that the invention is not sensitive to loss or misinserted cells.
Another advantage is that the invention can be implemented on a IC (integrated Circuit) or with a DSP (Digital Signal Processing) device and only a few extra components.
The invention will now be described with help of preferred embodiments and with references to the supplied drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows the principal of sending CBR service over a packet-switched network.
Figure 2 shows a block diagram of the principals of receiving CBR data.
Figure 3 shows a block diagram of the clock recovery system in figure 2 according to the invention.
Figure 4 shows a flow diagram of the Mean slope control block in figure 3 according to the invention.
Figure 5 shows an implementation of the digital low-pass filter in figure 4 according to the invention.
Figure 6 shows buffer occupancy results from a simulation according to the invention.
Figure 7 shows clock frequency results from a simulation according to the invention.
Figure 8 shows output from the Mean estimator from a simulation according to the invention.
BRIEF DESCRIPTION OF THE PREFERRED EMBODIMENTS
In figure 1 two Narrow Band Terminals 1 are sources of CBR services 5. They need to establish a virtual circuit to communicate with each other over the Packet-Switched Network 3. In most cases the Packet-Switched Network 3 will be an ATM (Asynchronous Transfer Mode) network. This is of course not
always so and the Packet-Switched Network 3 can be of many other types, for instance X.25, Token Ring, Ethernet, etc. In this embodiment the Packet-Switched Network 3 is an ATM network.
Since the transmission and the switching in the ATM network introduces a variable transfer delay it is more suitable for transmission of bursty data than data from a CBR service 5. For this reason an adaptation for the transport of the CBR traffic 5 is performed by the CE (Circuit Emulation functionality) 2. The CE 2 performs necessary adaptations to emulate all the services of a Tl/El circuit that is virtually connected to the remote Narrow Band Terminal 1. If the ATM network 3 is seen as the future broadband network (B-ISDN, Broadband-Integrated Services Digital Network) and the Narrow Band Terminals 1 operates in the existing narrowband network (N-ISDN, Narrowband-Integrated Services Digital Network) the CE 2 can be seen as providing the integration, being a inter-working unit, between these two networks. The CE 2 interfaces, on the broadband side, the ATM cells and, on the narrowband side, the synchronous bitstream from the CBR signal 5. The CBR signal 5 is segmented, by the CE 2, into 376 bits units, which is equal to 47 octets and then mapped into the payload field of an ATM cell. The cell is then routed through the ATM network 3.
One of the services that shall be provided by the CE 2 is the recovery of the remote source clock information 4. This is essential to the proper delivery of the CBR service traffic since any frequency errors in the clock controlling the destination buffer operation results in buffer over- or underflow. Only little is known about the ATM cell jitter, caused by queuing and multiplexing of the ATM cells in the ATM network, also called CDV (Cell Delay Variation) , beyond that the average cell delay is constant, assuming that the cell loss probability is negligible.
All previously known clock recovery methods start from this hypothesis. The present invention starts from a weaker hypothesis that allow it to be functional even if the cell loss probability is not negligible.
In figure 2 is a functional block diagram for the receiving side of a CE 2 shown. The ATM cells are received from the ATM network 11 through the ATM adapter 9 and processed in the AALl (ATM Adaptation Layer 1 ) 8. The AALl block 8 terminates the AALl protocol and extracts from each cell 47 octets which corresponds to 376 bits of the CBR service traffic. Each time a valid ATM cell is received in the AALl block 8 a signal 14 is sent to the Clock Recovery System 10. The output of the Clock Recovery System 10 is the clock 15 used to re-generate the CBR service traffic from the cells to the 2 Mbit/s line 16. This 2 Mbit/s stream is passed to the Narrowband Terminal through the Line I/F transceiver block 7.
In figure 3 is a detailed functional block diagram of the Clock Recovery System 10 in figure 2 shown. When a valid ATM cell is received in the AALl block 8 in figure 2 a signal is raised which arrives on line 22 in figure 3 and applied to a first 32- bit latch 21, a second 32-bit latch 23, an computation block 26 and a Digital low-pass filter 27. The clock source in this embodiment is a VCXO quartz voltage controlled oscillator 18 with frequency fs 36. It has a high degree of stability in frequency in respect to the applied voltage and temperature. Its output frequency, fs 36, can be assumed to be constant for a given input control voltage. The generated frequency fs 36 is applied to a PLL (Phased Locked Loop) 19 used to multiply the VCXO frequency /, with a constant M . This multiplication is done to be able to measure the cell inter-arrival time with enough accuracy. The cell inter-arrival time is measured by applying the M x fs clock to a free running 32-bit counter 20. The output of this counter 20 is latched from the first 32-bit
latch 21 when a cell is received. The preceding value Xn_, 25 of the 32-bit counter 20 is stored in the second 32-bit latch 23 and is fed to the computation block 26 together with the current value Xπ 24.
By letting M cells interarrival times be accumulated in the 32-bit counter the need for the PLL can be eliminated.
Let's call the unknown transmitter clock /, . Each cell is transmitted when 47 octets, corresponding to 47x8=376 bits, has been stored in the cell. Therefore the cell generation period is:
376 = ■ f,
Let's suppose that the ATM network introduces a constant delay in the transport of each cell. With this assumption the cell inter-arrival time is constant and equal to Tc . In this case we can evaluate the number of counted periods wπ , which is directly corresponding to the inter-arrival time, that represent the Tc value :
The fractional residual part of the result is accumulated by the counter 20 and counted as a unit when a sufficient number of cells has been received. In this way the precision of the timing measurement is maintained and very low clock differences can be measured. If the two frequencies f. and /, are equal the expected value for wn is: vv^= Mx376
To obtain a value that is equal to zero when j. and ft are equal the following calculation is performed by the computation block 26 when a cell is received:
yn = *- ~ wΛ = {xn - *„_, )- (M x 376) The output yn 53 from the computation block 26 is applied to a digital low-pass filter 27 with a sampling period equal to Tc .
The purpose of the digital low-pass filter 27 is to integrate the result of the previous blocks and to reduce the effect of the jitter in the CDV. The digital low-pass filter 27 accept a new sample and generates a new value zn 30 when a new cell arrives .
Instead of using a μllR digital low pass filter, a FIR (Finite Impulse Respons) filter can be used. The FIR filter can be optimised to, in an adaptive way, have a certain amount of noise .
From the digital low-pass filter a clock signal 29 is supplied to the Mean estimator 28 and the Mean slope control block 33. Depending on the implementation of the digital low-pass filter 27 the clock signal 22 and the clock signal 29 can be different.
The output zn 30 of the digital low-pass filter 27 is applied to a Mean estimator 28. This block performs the mean evaluation of the received zn 30 producing a sequence of output values mk 31 according to the following formula: k-\
Σ*. m- =JX where s is a start position for the mean-value calculation. This block can be reset by zeroing the accumulated sum and setting s - k . The mt sequence 31 is applied to the Mean slope control block 33 which is responsible for the decision on how many z„ 30 samples the Mean estimator block 28 must accumulate to obtain a good estimation of the mean cell inter-arrival time. The block also performs the evaluation of the correction value
e. 54 to be applied to the control block 34. The value e, 54 is maintained stable until a new value is calculated and supplied to the Control block 34. The Control block 34 maintains a value dt which is supplied to a D/A Converter 35 which converts the value d, to a voltage supplied to the VCXO clock 18. The Mean slope control block 33 also determines when to reset 32 the Mean estimator 28. When a new et 54 value is supplied to the Control block 34 a new dt value is computed according to:
which new d. value will, through the D/A Converter 35, change the voltage and thereby the frequency of the VCXO clock 18.
In figure 4 a flow diagram of the Mean slope control block 33 in figure 3 is shown. When a new mk value arrives 37, the derivative ck 38 of the mk sequence is computed according to:
A test 39 is performed on the value of ck . If ck is less than or equal to an error level, err , a counter, count , is increased 41. If ck is greater than err , count is set to zero 40. If the test 42 count ≥ Maxcnt is true a new et value is computed 43 according to: e. = mk x Gain and is applied 46 to the control block 34 in figure 3. The Mean estimator is also reset through 46.
By waiting Maxcnt number of times before computing a new et enough samples has been collected by the Mean estimator 28 to be able to calculate a good enough mean value. This in turn means that the mk value used to calculate the e.. value will not fluctuate too much. This is in accordance with the asymptotic convergence property of the Mean estimator 28. This property is
reflected by the slope of the mk sequence that asymptotically tends to zero.
Every time an e. value is computed the err value is reduced 45 down to a predefined minimum error level, Minerr 44. This is to achieve rapid convergence at start-up and better precision when the system is stable. By resetting the Mean estimator 28 after each correction the effect of cell loss or misinsertion on the system convergence is removed.
Figures 6, 7 and 8 shows the results of simulations done according to the invention. The simulations has been executed by using a VERILOG system description. The following values has been used in the simulation:
Traffic inter-arrival time, mean value: 183.5937 μs Traffic inter-arrival time, variance: 20 μs Initial err value: IE"3 Minerr value : IE"6 M value : 8 VCXO frequency: 2 . 048 Mhz
1
The Gain value : 0.05 x [
376 x M x 2.048 J Maxcnt value: 16
The simulated traffic source is the output of an ATM switch with a load of 90% having an output speed of 155 Mbit/s.
Figure 6 represent the AALl buffer size. The figure qualify the behaviour of the invention, as can be seen the buffer size is stable.
Figure 7 represent the clock generated from the VCXO 18. While figure 8 shows the output of the Mean estimator 28. Note the asymptotic convergence of the mk sequence.
The invention is of course not limited to the above described and on the drawings shown preferred embodiments, but can also be modified in agreeement with the supplied claims.