Bit synchronization with elastic memory

Abstract: Improved jitter performance is realized in a desynchronizer for obtaining an asynchronous digital signal, e.g., a DS3 signal, from a received synchronous digital signal (101), e.g., a SONET STS-1 signal. The improved jitter performance results from the use of a unique adaptive bit leaking arrangement (110) in conjunction with a digital phase locked loop (108) and syncrhonizing elastic store (104). An estimate of a bit leaking interval is adaptively obtained (in 105) based on the intervals between a sequence of consecutive pointer adjustments in the received signal, i.e., the STS-1 signal. In one embodiment, the bit leaking interval estimate is obtained by employing a moving average of the intervals between the pointer adjustments. The desired bit leaking is effected by employing an accumulator (106) which is responsive to the received pointer adjustments (from 103) and a representation of the estimated bit leaking interval, in conjunction with a comparator (107). The accumulator output count is supplied to the comparator along with the current write address of the elastic store. Leak bits are supplied as an output from the comparator one at a time to the phase locked loop which, in turn, generates a smooth read clock for the elastic store.

Description: This invention relates to apparatus for desynchronizing an incoming digital signal at an incoming digital clock rate to obtain an outgoing digital signal at an outgoing digital clock rate different from the incoming digital clock rate. Prior techniques and arrangements for converting synchronous digital transmission signals to asynchronous digital signals are known. In recent digital transmission systems it has become important to smooth large gaps in a supplied data signal resulting from overhead bit removal and stuff bits. This is particularly important, for example, in converting a SONET STS-1 synchronous digital signal to a DS3 asynchronous digital signal. As is known, in the STS- I signal format, so-called pointer adjustments are used to reconcile small phase and frequency differences between a clock signal derived from an incoming STS-1 signal and a local clock signal. These adjustments are made on a byte-wise basis and can be either positive or negative. During normal system operation, the pointer adjustments occur relatively infrequently. This causes a low frequency, relatively large peak-to-peak jitter component in the signal. When the system operation is degraded, pointer adjustments may occur more often. Thus, a wide range of pointer adjustment rates is possible. A so-called bit leaking technique in conjunction with a phase locked loop and a synchronizing elastic store has been proposed in an attempt at smoothing gaps in a data signal caused by the pointer adjustments in a SONET signal format. A bit leak is defined as one (1) bit of phase error being supplied to a phase locked loop. One of these techniques employs a bit-by-bit leaking adjustment so that a phase locked loop having a "wider" bandwidth may be employed in the desynchronizer. This bit-by-bit technique, however, does not adequately compensate for the full range of pointer adjustment rates which may occur. An attempt at compensating for the pointer adjustments employing an adaptive bit leaking arrangement has also been proposed. However, to the best of our knowledge the proposed adaptive bit leaking arrangements still cause excessive jitter to occur in the asynchronous digital signal, e.g., the DS3 signal, or just simply do not operate satisfactorily. One synchronous desynchronizer is described in a Contribution To T1 Standards Project, T1X1.6/88-026, 25 July 1988 (Bellcore). The desynchronizer utilizes the fact that the node clocks are synchronized to a common reference and can be utilized to separate the effects of the pointer from the payload data rate recovery operation at a SONET desynchronizer. A gapped clock corresponding to the gapped clock at the synchronizer is generated, as in a point-to-point multiplexer/demultiplexer. The difference here is that the clock to be gapped is in principle not obtained from the line signal but from the synchronous node clock. The gaps are controlled by the stuff control bits. Extracted payload data is written to a buffer as before, and read out by a VCO which is phase-locked to the gapped clock. As long as the originating SONET multiplexer and the terminating muluplexer are in synchronism, the VCO output rate will follow the input payload data rate through the bit stuffing mechanism. Waiting time jitter, as in conventional multiplex equipment. will be apparent on the output clock. But pointer adjustments and line jitter will just be absorbed by the buffer, which must be sized slightly larger now. The bandwidth of the PLL can be designed to sufficiently attenuate the waiting time jitter only. It is assumed here that the pointer adjustments occur anywhere in between the two terminals (due to synchronization failure or short term instability of clocks). Any practical design has to accommodate the situation where the end nodes are not synchronous due to plesiochronous operation or synchronization failure at the end nodes. Additional circuitry is needed for these cases. The fill of the buffer is monitored and this information, after low pass filtering, is used to add or delete a bit (preferably half a bit) on the gapped clock that is fed to the PLL. This will slowly vary the output rate such that the buffer is kept half full on the average (so that it will not overflow in either direction). The rate of the addition and deletion can be limited and also be made adaptive. This will ensure that the output jitter is minimally higher than the unavoidable waiting time jitter under normal synchronous operation, but is allowed to increase to a still acceptable level as the synchronization fails. Initial frequency acquisition of the PLL can be achieved by disabling the monitor circuitry and initializing the buffer to half full condition. A SONET desynchronizer is described in Contribution To T1 Standards Project, I1.6/89-012, 8 February 1989 (British Telecom) which is an adaptive bit leaking scheme that is essentially linear in operation and therefore can be modeled using standard linear techniques. This scheme has several important features as follows: the wander effect from pointer adjustments and the jitter effects from the justification scheme are clearly separated with two different buffers and phase locked loops; the jitter buffer and phase locked loop are assumed to use conventional technology with analogue filtering (though this need not be the case); the wander buffer is, in some senses, a true wander buffer; however, its main function is to buffer the pointer adjustments so that they may be leaked out at a rate consistent with wander timing degradation, that is varying with time constants fall below 10 Hz; the phase locked loop associated with the wander buffer only considers the phase variation from pointer adjustments and therefore selects out the pointer adjustments from all the other phase gaps; the phase locked loop associated witht he wander buffer is a relatively simple digital circuit clocked at the frame rate (125 µs); because the circuit is clocked at the frame rate which is very low compared with the bit rate, it is simple to design very low pass filters, for example 0.1 Hz; each element mirrors that of a traditional phase locked loop and can be modeled using z transform techniques; as z transform techniques can be used, the frequency domain and time domain responses may be easily simulated. Another desynchronizer is described in DE-A-4 013 317. When inserting an asynchronous digital signal into another digital signal in a desynchronizer, one faces the fundamental problem of frequency adaptation. This particular problem is solved by means of stuffing. One additional problem of conventional stuffing methods is that the digital signal recovered by means of destuffing exhibits a low-frequency jitter, namely the so-called waiting time jitter. The described desynchronzer is based on the objective of reducing this waiting time jitter. The following steps are taken in each stuffing frame of the digital output signal: the average filling level of an elastic memory (ES) is determined as precisely as possible; the difference between the ACTUAL value and the NOMINAL value of the average filling level, namely the filling level error (ff) is determined; the filling level error is added up and forms the error sum (fs); the decision as to how the stuffing shoud be carried out is made by taking into consideration that the error sum should be kept as constant as possible, for this purpose, an assessed value for the error sum is formed in the next stuffing frame of the second digital signal (B) under the assumption that no stuffing is carried out; this assessed value (fs + 2ff) is compared to threshold values, with a value that indicates if and how the stuffing should be carried out being determined thereof. According to this invention there is provided an apparatus as claimed in claim 1. The problems associated with prior known bit leaking arrangements are overcome by employing a unique adaptive bit leaking arrangement in conjunction with a synchronizing elastic store and digital phase locked loop. An interval at which bits are leaked to the phase locked loop to effect phase adjustments is controllably adaptively updated by utilizing a unique bit leaking interval estimation technique. This unique bit leaking interval estimation technique results in significantly improved jitter performance in a resulting asynchronous digital signal. More specifically, this unique bit leaking interval estimating technique achieves the improved jitter performance by generating a desired bit leaking interval based on a past sequence of the so-called received signal pointer adjustments. In one exemplary embodiment of the invention, the bit leaking interval is adaptively obtained by employing a moving average of the time intervals between consecutive pointer adjustments in the received signal. The bit leaking is realized in a smooth manner, in one embodiment of the invention, by advantageously employing an accumulator in conjunction with a comparator. The accumulator is responsive to pointer adjustments in the received signal and a representation of the estimated bit leaking interval to supply a bit leak count to the comparator. Also supplied to the comparator is the current write address of the elastic store which is generated in response to a gapped incoming clock signal. The comparator supplies the desired leak bits at the estimated leaking interval to the phase locked loop to effect the phase adjustments in a smooth manner. In turn, the phase locked loop generates a smooth read clock signal for the elastic store. A technical advantage of the invention is that satisfactory jitter performance is realized while using a digital phase locked loop having a realively "wider" bandwidth than would otherwise be required. Brief Description of the Drawing In the Drawing: FIG. 1 shows in simplified block diagram form, a synchronous digital signal to asynchronous digital signal conversion arrangement including an embodiment of the invention; FIG. 2 depicts, in simplified block diagram form, details of interval estimator and programmable leak counter 105 of FIG. 1; and FIGs. 3 and 4 illustrate in flow chart form the operation of bit leaking control 110 of FIG. 1. Detailed Description FIG. 1 shows, in simplified block diagram form, details of a synchronous to asynchronous digital signal conversion arrangement including an embodiment of the invention. Accordingly, shown are incoming signal source 101 and incoming clock signal source 102. In one example, the incoming signal is the STS-1 SONET signal and the incoming clock signal is the STS-1 clock of 51.84 MHz. The incoming clock signal is typically derived from the incoming signal in known fashion. Incoming clock source 102 also generates a frame sync signal. In this example, the frame sync signal is at the STS-1 rate of 8 KHz. The SONET STS-1 signal format is described in a Technical Advisory entitled "SONET Transport Systems: Common Generic Criteria", TA-TSY-000253, Bell Communications Research, February 1989 and the ANSI draft Standard entitled "Digital Hierarchy - Optical Interface Rates and Formats Specifications (SONET)", dated February 1990. Decoder 103 is supplied with the incoming signal, incoming clock signal and frame sync signal and is employed, in this example, to convert the STS-1 signal into a gapped DS3 digital signal and to convert the STS-1 clock signal into a gapped clock signal. The DS3 digital signal format is well known and is described in Telecommunications Transmission Engineering , AT&T, Volume 2, 1977. Decoder 103 supplies a so-called gapped data signal and gapped clock signal to synchronizing elastic store 104. Decoder 103 also generates a pointer FLAG indicative of a pointer adjustment in the incoming STS-1 signal and whether or not it is a positive or negative adjustment. Arrangements for obtaining a DS3 payload signal from a STS-1 SONET signal format are known. It will also be apparent to individuals possessing ordinary skill in the art how to detect the presence of a pointer adjustment in the STS-1 signal from either the ANSI draft standard or Technical Advisory noted above. Specifically, the H1 and H2 bytes in the STS-1 signal format indicate the occurrence of a pointer adjustment and whether the adjustment is positive or negative. Detection of the H1 and H2 bytes in the STS-1 signal format is relatively straight forward. Frame sync is supplied to bit leaking control 110 and, therein, to interval estimator and programmable leak counter 105. The pointer FLAG is supplied from decoder 103 to bit leaking control 110 and, therein, to interval estimator and programmable leak counter 105 and to bit leaking accumulator 106. Bit leaking control 110 operates to controllably adaptively leak a bit count to compensate for pointer adjustments in the incoming digital signal, in this example, the STS-1 digital signal. It is noted that both positive and negative pointer adjustments can occur and, consequently, both positive and negative leaking are needed. As noted above, the rate at which pointer adjustments occur may vary. Interval estimator and programmable leak counter 105 is advantageously employed to adaptively adjust the so-called bit leaking interval so that the bits are leaked at appropriate instants to smoothly compensate for the pointer adjustments at the different rates. This is important in order to minimize jitter in the smooth data signal output from elastic store 104. It is noted that if the bit leaking interval is too long "good" jitter performance is obtained, but elastic store 104 will tend to overflow under the presence of a relative clock frequency offset. If the bit leaking interval is too short, elastic store 104 will not overflow, but "poor" jitter performance results. A predetermined number of synchronous SONET STS-1 payload envelope bits should be leaked for each received pointer adjustment, their time separation being determined by the bit leaking interval. Preferably, eight (8) synchronous STS-1 payload envelope bits are leaked at a bit leaking interval determined by interval estimator and programmable leak counter 105. The SONET STS-1 payload rate is 50.112 MHz. To this end, leak pulses are supplied from interval estimator and programmable leak counter 105 to bit leaking accumulator 106 at the estimated interval. Details of interval estimator and programmable leak counter 105 are shown in FIG. 2 and described below. Operation of bit leaking control 110 is shown in the flow chart of FIGs. 3 and 4 and described below. The bit leak count from bit leaking accumulator 106 is supplied to comparator 107 wherein it is compared to the current write address (WADDR) of elastic store 104. Although the write address is shown as being generated in elastic store 104, other arrangements may be used to obtain it, for example, an internal counter. Such other arrangements are considered also to be within elastic store 104. The result of the comparison in comparator 107 is supplied to digital phase locked loop 108 and, therein, to phase comparator 111. Digital phase locked loop 108 also includes filter 112 and a so-called voltage controlled oscillator 114. Such digital phase locked loop arrangements are readily implemented using digital circuit techniques and are known. It is noted that when a pointer adjustment occurs, both the write address (WADDR) of elastic store 104 and the leak bit count output of bit leaking accumulator 106 are advanced or retarded by one byte, i.e., eight (8) bits, depending on whether the adjustment is negative or positive. If the pointer adjustment is positive, both the write address and count of accumulator 106 are decremented. If the pointer adjustment is negative, the write address and count of accumulator 106 are incremented. Thus, upon occurrence of a pointer adjustment, comparator 107 initially sees no change. Then, bit leaking control 110 leaks the pointer adjustment bits one at a time to comparator 107 in a controlled manner at the estimated interval. The leaking of the bits is such that the count of bit leaking accumulator 106 moves toward a center position. This unique use of comparator 107 in junction with the count from accumulator 106 and the write address of elastic store 104 prevents the large phase adjustments normally caused by the pointer adjustments from being supplied to digital phase locked loop 108 and allows for the controlled leaking of the phase adjustment bits to digital phase locked loop 108. The adaptive bit leaking interval control of bit leaking control 110 in conjunction with digital phase locked loop 108 significantly improves jitter performance in the resulting smooth data signal, e.g., a DS3 signal, in the presence of pointer adjustments in the incoming digital signal, e.g., the STS-1 signal. An output of digital phase locked loop 108 is supplied via filter 109 to the read clock (RCLK) input of elastic store. Filter 109 is employed in this example to filter "high" frequency jitter in the output signal from digital phase locked loop 108. The output from filter 109 is the desired smooth read clock signal. The desired smooth data signal, e.g., a DS3 digital signal, is supplied as an output at the data out output of elastic store 104. FIG. 2 shows, in simplified block diagram form, details of interval estimator and programmable leak counter 105. As indicated above, bits are to be leaked, i.e., supplied to digital phase locked loop 108, in a controlled manner to smoothly adjust for the phase and frequency differences caused by the pointer adjustments in the incoming STS-1 signal. It is important that the interval in which the bit leaking occurs at is such that good jitter performance is obtained. This is realized, by controllably adaptively adjusting the bit leaking interval. The adaptive adjustment is obtained, in this embodiment of the invention, by generating a bit leaking interval based on a past sequence of pointer adjustments. To this end, interval estimator and programmable leak counter 105 adaptively generates a so-called leak pulse at an interval determined by employing a moving average of the time intervals between consecutive pointer adjustments in the received STS-1 signal. Accordingly, the frame sync signal is supplied to divider 201 and to programmable leak counter 202. The frame sync signal is, in this example, 8KHz. Divider 201 divides the frame sync signal by Y to obtain counter clock. Y is a predetermined number related to the smooth read clock rate of elastic store 104. Preferably, Y is a number greater than the relevant number of smooth data bits to be leaked per pointer adjustment. In this example, the smooth data signal is the DS3 signal and Y is eight (8). The pointer FLAG is supplied to counters 203-0 through 203-7 and to programmable leak counter 202. Eight counters 203 are employed to obtain a desired moving average of the intervals between consecutive pointer 5 adjustments. The number eight is a reasonable tradeoff between jitter performance and the size of the storage capacity of elastic store 104 and bit leaking accumulator 106 (FIG. 1). An output from divider 201 is the counter clock and is supplied via AND gate 204 to each of counters 203-0 through 203-7 and to timer 205. Also supplied to counters 203-0 through 203-7 are initial parameters IC0 through IC7, respectively. These initial parameters are obtained, in this example, in accordance with ICi = 3200 i / Y, where i is the number of the counter, i.e., 0, 1,..., 7 and Y is the divisor of divider 201. The counts from each of counters 203 are controllably supplied to the next subsequent one of counters 203 in order to obtain the moving average. The counts are shifted in response to the pointer FLAG signal. The count output of counter 203-0 is supplied to unit 206 which determines if counter 203-0 is in a saturated condition. Such a condition is when the count of counter 203-0 reaches 3200/Y. At such time, unit 206 generates an inhibit signal which disables AND gate 204 and the count in counters 203 is frozen. This disables the adaptive adjustment of the bit leaking interval. The count output from counter 203-1 is also supplied to divider 207. Divider 207, in this example, has a divisor of two (2) and supplies an average over two (2) count to controllable selector 208. Timer 205 enables selector 208 to supply the average over two (2) count to programmable leak counter 202 for a predetermined interval after system start up or reset. Otherwise, selector 208 supplies the average over eight (8) count from divider 209 to programmable leak counter 202. The selected average count is loaded into programmable leak counter 202 in response to the pointer FLAG. This is so that bit leaking accumulator 106 and elastic store 104 converge more rapidly during system start up or reset. Otherwise, an accumulator and elastic store having more storage capacity would be required. Timer 205 also supplies a signal to disable divider 209 during the predetermined interval. The divisor of divider 209 is eight (8) to obtain an average over eight (8) of the output count value from counter 203-7. The average over eight (8) count is supplied via selector 208 upon termination of the predetermined interval to programmable leak counter 202. The selected average count is loaded into programmable leak counter 202 in response to the pointer FLAG. Programmable leak counter 202 is responsive to the supplied average count signal and generates a leak pulse upon reaching the average count in response to the frame sync signal. FIGS. 3 and 4 when connected 1-1 and 2-2 form a flow chart illustrating operation of bit leaking control 110 and, therein, interval estimator and programmable leak counter 105 and bit leaking accumulator 106 in adaptively generating a leak bit count value at an appropriate bit leaking interval. Accordingly, the process is begun via start step 301. In step 302, bit leaking control 110 is reset and the count values are initialized in each of counters 203 (FIG. 2), as described above. Step 303 indicates a next frame in response to the frame sync signal and step 304 updates programmable leak counter 202. Step 305 tests whether the value in bit leaking accumulator 106 is zero (0). If the test result is YES, control is passed to step 310. If the test result in step 305 is NO, step 306 tests whether the count in programmable leak counter 202 equals the average count value, i.e., the adaptively estimated bit leaking interval. If the test result in step 306 is NO, control is passed to step 310. If the test result in step 306 is YES, then the bit leaking operation is effected. To this end, step 307 causes bit leaking accumulator 106 to move one (1) bit toward center. Accumulator 106 is responsive to the pointer FLAG to increment or decrement its count by Y―1. In this example, Y―1 corresponds to the number of DS3 bits in a pointer adjustment. Step 308 resets programmable leak counter 202 to its initial count. In step 309, the value of bit leaking accumulator 106 is supplied to comparator 107 (FIG. 1). It should be noted that bits are not leaked until a pointer adjustment has occurred. Step 310 tests to determine if the number of frame sync signals is an integer multiple of Y. If the test result is NO, control is passed to step 318. If the test result in step 310 is YES, step 311 causes timer 205 to be updated. Step 312 tests to determine if timer 205 has reached the predetermined interval which, in this example, is 3.6 seconds. If the test result is NO, step 313 selects the average over two (2) count output of divider 207 to be supplied to programmable leak counter 202. If the test result in step 312 is YES, the predetermined interval has lapsed and step 314 selects the average over eight (8) output from divider 209 to be supplied to programmable leak counter 202. Step 315 stops timer 205 until the system is restarted or reset. Step 316 tests if the count value of counter 203-0 is less than 3200/Y. If the test result is NO, incrementing of counters 203 is inhibited as described above and control is passed to step 318. If the test result in step 316 is YES, saturation has not been reached and step 317 increments each of counters 203 by one (1). Step 318 tests to determine if a pointer FLAG indicating a pointer adjustment has occurred has been received. If the test result is NO, control is passed to step 303. If the test result in step 318 is YES, a pointer FLAG has been received and step 319 causes the count values in counters 203 to be shifted, as described above. Finally, step 320 causes the selected average value to be loaded into programmable leak counter 202 in response to the pointer FLAG. As indicated above, until timer 205 times out the average over two (2) count output of divider 207 is selected and once it times out the average over eight (8) count output of divider 209 is selected.

Claims: Apparatus for desynchronizing an incoming digital signal at an incoming digital clock rate to obtain an outgoing digital signal at an outgoing digital clock rate different from the incoming digital clock rate, including, a source (101) of an incoming digital signal, a source (102) of an incoming clock signal and incoming frame sync signal, means (103) for obtaining a gapped data signal from said incoming digital signal, for obtaining a gapped clock signal from said incoming clock signal, for detecting occurrences of pointer adjustments in said incoming digital signal and for generating a first control signal (pointer flag) representative of the occurrence and direction of said pointer adjustments, each of said pointer adjustments including a predetermined number of bits, a digital phase lock loop (108) for generating an output clock signal, said digital phase lock loop being responsive to a phase adjustment signal, and an elastic store (104) supplied with said gapped data signal, said gapped clock signal and said output clock signal for supplying as an output a smooth data signal synchronized to said output clock signal, said elastic store including means responsive to said gapped clock signal for generating a write address (WADDR), the apparatus being CHARACTERIZED BY means (105) supplied with said frame sync signal and being responsive to said first control signal (pointer flag) for adaptively generating an estimate of an interval between individual ones of said predetermined number of bits in said pointer adjustment and which is represented by a second control signal (leak pulse) that is generated at said estimated interval, means (106) responsive to said first control signal (pointer flag) and second control signal (leak pulse) for generating a third control signal (leak bit count) indicative of a bit adjustment, and means (108) for comparing said third control signal (leak bit count) and said write address (WADDR) for obtaining said phase adjustment signal. Apparatus as claimed in claim 1 wherein said means (105) for adaptively generating said estimate includes means (201, 203, 206, 207, 209) for obtaining a prescribed average of intervals between consecutive occurences of said pointer adjustments. Apparatus as claimed in claim 2 wherein said means for obtaining a prescribed average includes means (201, 203, 204, 206, 207, 208) for obtaining a moving average of said intervals between a number of consecutive occurences of said pointer adjustments. Apparatus as claimed in claim 3 includes wherein said means for obtaining said moving average includes means for obtaining a first moving average, means for obtaining at least a second moving average and means (208) for controllably selecting said first moving average or said at least second moving average as an output based on a predetermined criterion. Apparatus as claimed in claim 4 wherein said number of said first moving average is two and said number for said at least second moving average is eight. Apparatus as claimed in claim 4 including a timer (205), and wherein said predetermined criterion is to select said first moving average for a predetermined interval determined by said timer after system start up or reset and then select said at least second moving average. Apparatus as claimed in claim 2 wherein said means for generating an estimate and said second control signal includes a programmable counter (202) supplied with said frame sync signal and means for controllably supplying a representation of said prescribed average for generating said second control signal. Apparatus as claimed in claim 4 wherein said means for generating an estimate and said second control signal (leak pulse) includes a programmable counter (202) supplied with said frame sync signal, said selected first moving average or at least second moving average output, and said first control signal (pointer flag) for generating said second control signal (leak pulse). Apparatus as claimed in claim 1 wherein said incoming digital signal is a synchronous digital signal and said outgoing digital signal is an asynchronous digital signal. Apparatus as claimed in claim 9 wherein said synchronous digital signal is a Synchronous Optical Network (SONET) STS-1 digital signal and said asynchronous digital signal is a DS3 digital signal. Apparatus as claimed in claim 1 wherein said means for generating said third control signal (leak bit count) includes a digital accumulator (106) which is responsive to said first control signal (pointer flag) and second control signal (leak pulse) to generate said third control signal which represents leak bit count. Apparatus as claimed in claim 1 including a filter (109) supplied with an output from said phase locked loop for filtering high frequency jitter from said output clock signal.

Inventors: DUFF DONALD G, LANE DONALD A, MEDIAVILLA RICARDO, DUFF, DONALD G., LANE, DONALD A., MEDIAVILLA, RICARDO
Applicants: AT & T CORP, AT&T CORP.
Application year: 1991
Main classification: H04J3
IPC codes: H04J3, H04L5, H04L7