GB2206268A - Sampling clock synchronisation - Google Patents
Sampling clock synchronisation Download PDFInfo
- Publication number
- GB2206268A GB2206268A GB08810655A GB8810655A GB2206268A GB 2206268 A GB2206268 A GB 2206268A GB 08810655 A GB08810655 A GB 08810655A GB 8810655 A GB8810655 A GB 8810655A GB 2206268 A GB2206268 A GB 2206268A
- Authority
- GB
- United Kingdom
- Prior art keywords
- clock
- samples
- voice
- slip
- clock signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S331/00—Oscillators
- Y10S331/02—Phase locked loop having lock indicating or detecting means
Abstract
An apparatus for compensating for differences in the rate of two clocks includes a transmitter 18 for transmitting samples of voice synchronized to a first clock (CLKA) and a receiver 22 for receiving samples synchronized to a second clock 54. A slip detector 50 determines when a slip has occurred between the two clocks. An intelligent expander 52 discards or duplicates voice samples to account for the slippage. The slip detector (Fig 3) stores representations in latches (72, 74) corresponding to the maximum and minimum pulse widths which occur in the logical product (CLKA CLK2 Fig 4) of the two clocks, and on the basis of these decides when each cycle of a difference between the clocks occurs. Microprocessor interrupted routines, (Figs 5A, 5B) are used. A derived slip error (Fig 6) may control a VCO. <IMAGE>
Description
SAMPLING CLOCK SYNCHRONIZATION
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to the field of clock synchronization. More particularly, this invention relates to a method and apparatus for providing clock synchronization in communication systems which are relatively insensitive to absolute timing such as digitized voice systems.
2. Background
In a communication system including a transmitter and a receiver, it is frequently desirable for a transmitter clock to be synchronized to a receiver clock. In some instances, this synchronization may prove inconvenient or costly. For example, consider the system shown in
FIGURE 1 wherein digitized compressed speech is transmitted from a first location over a communication medium to a second location. In the system shown in FIGURE 1, analog speech is applied to the input of an analog to digital (A/D) converter 12 which is clocked by a first clock 14.
Clock 14 operates typically at eight (8.0) Khz for sampling speech and produces an 8.0 Khz clock signal referred to herein as CLK1. The digitized samples from analog to digital converter 12 are passed to a compressor 16 which is also clocked by signal CLK1. Compressor 16 operates on the digitized speech signal to reduce its bandwidth by any of a number of known speech compression algorithms. Such speech compression algorithms may include silence detection and deletion and other known bandwidth reduction techniques. The output of compressor 16 is a compressed digital representation of the original analog speech signal which is fed to the data communications equipment (DCE) 18 for transmission over communications medium 20.DCE 18 may be a modem or other communications equipment and provides its own clock signal shown as CLKA back to compressor 16 so that compressor 16 is able to provide the compressed samples in a synchronous manner to DCE 18.
On the receiving end of the data communications medium 20 a similar DCE 22 is provided which receives the transmission from DCE 18 and derives clock signal CLKA from the transmitted data. This clock signal CLKA is delivered to a phase locked loop frequency synthesizer 24 which uses known techniques for synthesizing signal CLK1 from the derived clock signal CLKA. The derived CLKA is used to clock an expander 26 which receives the output of DCE 22 and expands the signal back into a string of digital signals which is then clocked by CLK1 and converted by digital to analog (D/A) converter 28. Digital to analog converter 28 converts the string of digital characters to an analog speech signal which closely resembles the analog speech signal input.
The approach described above, utilizes phase locked loop frequency synthesis to synthesize CLK1 from the derived CLKA from DCE 22.
Phase locked loop frequency synthesis, while a relatively mature technology, is not without drawbacks and is somewhat costly in many
Instances. For example, in many sampled speech systems, it is standard and desirable to have the speech sampling clock operate at 8 Khz. Data communications clock rates are typically a multiple of 2400 hz and at the higher communication rates, which are presently required to support high quality compressed voice, it may be difficult to synthesize 8 Khz from the wide variety of data communication frequencies in common use without requiring a different circuit for each frequency. For example, assume
DCE 18 and 22 are high speed modems operating at 14.4 kbps. The clock rate needed for the PCM codec is 1.536 Mhz (the T1 rate) which is a standard PCM clock rate for voice from which 8.0 Khz may be readily derived.However, to derive both 8.0 Khz and 14.4 Khz is somewhat more complex. In one approach, the T1 clock must be multiplied by 3 to obtain a multiple of 14.4 Khz. The multiple of 14.4 Khz is 320, so to derive 14.4
Khz from the T1 rate requires that the T1 clock be multiplied by 3 and divided by 320. While this is certainly possible to do, it requires that either a rather elaborate phase locked loop be used or that a different phase locked loop circuit be used for each data rate. Therefore, a different set of hardware is needed for 19.2 Kbps than for the 14.4 Kbps system described above. Thus, the economy of scale is not fully realized by using conventional phase-locked loop technology.
In addition to the expense required for providing this frequency synthesis, as well as the additional circuit complexity required, the generation of such high frequencies makes electromagnetic emissions more difficult to control and subjects the receiver to the problems associated with lock time, jitter and noise associated with the use of phase-locked loops. The present invention addresses the problem of synchronization of two clocks in certain environments such as digital voice in a manner which avoids such problems and which is easily implemented at very low cost. The circuit operates over a wide range of frequencies without hardware modification by simply supplying a new set of constants to be stored in memory.
SUMMARY OF THE INVENTION
The present invention has the advantage of providing a versatile circuit which can be used for a wide range of frequencies to allow a high volume usage which maintains low cost by implementation in integrated circuit form.
It is an object of the present invention to provide an improved timing synchronization circuit.
It is another object of the present invention to provide a low cost timing synchronization circuit suitable for use in compressed voice communication systems.
It is another object of the present invention to provide an improved control mechanism for control of a voltage controlled oscillator or the like.
It is a further object of the present invention to provide a timing synchronization system which is easily utilized in systems having relative insensitivity to absolute timing.
These and other objects and advantages of the invention will become apparent to those skilled in the art upon consideration of the following description.
In one embodiment of the present invention, an improved apparatus for use in compensating for differences in frequency between a first clock and a second clock, includes a comparing circuit for determining which of the first and second clocks is operating at a higher frequency and for producing an output indicative thereof. A slip detector determines when a complete one cycle slip has occurred between the first and the second clocks. A clock compensation circuit compensates for differences in the clock frequencies responsive to the slip detector circuit and the comparing circuit.
In another embodiment of the present invention, an improved method for compensating for differences in a first clock signal's rate and a second clock signal's rate, voice samples are transmitted from a first location synchronized to the first clock signal are received at a second location having a second clock for generating the second clock signal.
The first clock signal and the second clock signal are compared to determine - when a slip of one cycle has occurred and it is determined which of the first and second clock rates is greatest. At the second location, the process includes inserting an additional voice sample each time a predetermined number of slips occur if the second clock is running too fast relative to the first clock, and disregarding a received voice sample each time a predetermined number of slips occur if the second clock is running too slow relative to the first clock.
The features of the invention believed to be novel are set forth with particularity in the appended claims. The invention itself, however, both as to organization and method of operation, together with further objects and advantages thereof, may be best understood by reference to the following description taken in conjunction with the accompanying drawings.
DESCRIPTION OF THE DRAWINGS
FIGURE 1 shows a clock synchronization system using a phase locked loop frequency synthesizer.
FIGURE 2 shows a clock synchronization system using the slip detector of the present invention.
FIGURE 3 shows a detailed diagram of the slip detector of the present invention.
FIGURE 4 shows a timing diagram of the slip detector of FIGURE 3.
FIGURE 5A shows a flow chart of the operation of an interrupt driven slip counter according to one embodiment of the present invention.
FIGURE SB shows a flow chart of the operation of a clock correction routine according to one embodiment of the present invention.
FIGURE 6 shows an alternative use of the present invention for controlling the voltage controlled oscillator of a phase locked loop.
DETAILED DESCRIPTION OF THE INVENTION
Turning now to the FIGURES in which like reference numerals designate corresponding or similar parts in each of the several views and in particular to FIGURE 2, a system analogous to that of FIGURE 1 is shown in which the present invention is utilized instead of a phase locked loop to synchronize the transmitter and receiver clock. The transmission side of the communication channel 20 may be essentially identical to that shown in FIGURE 1. On the received side however, the derived CLKA is provided to a slip detector 50 as well as to an intelligent expander 52. A second clock 54 is also provided which produces a local 8 Khz signal which is used to clock the digital to analog converter 28. The clock signal CLK2 from clock 54 is also provided to the intelligent expander 52 and the slip detector 50.Intelligent expander 52 may be a microprocessor or microcomputer based expander (as may be expander 26 of FIGURE 1).
Slip detector 50 produces a signal SLIP which indicates that a one cycle slip has occurred between the derived clock A (CLKA) and signal CLK2. Intelligent expander 52 utilizes this signal SLIP to make appropriate adjustments to the signal from DCE 22 in the expansion process. The present invention makes a determination of the error in the receiver clock compared to the transmitter clock, using the transmitter clock as a reference. If the receiver clock is running too slow relative to the transmitter clock, the intelligent expander 52 will throw away a sample of data from DCE 22 whenever the error, as measured by comparing the number of accumulated slops with the number of slips which should have occurred, equals or exceeds the duration of one sample.Preferably in the case of speech, the intelligent expander will wait for a period of silence in the speech to throw away a sample of silence. If on the other hand, the received clock is running too fast compared to the transmitting clock, intelligent expander 52 will repeat a sample of the signal from DCE 22 whenever the accumulated error equals or exceeds the duration of one sample. Similarly the repeated sample may be a period of detected silence, but in the case of speech this is not absolutely necessary. In the preferred embodiment, slip detector 50 is also provided with a signal shown as MCLK. This is also a clock signal which is conveniently available to the receiver and may for example be the clock signal for the microprocessor based intelligent expander 52.
Signal MCLK may be most any conveniently available clock signal which
Is much greater in frequency than signals CLK2 and CLKA.
For purposes of this document a slip will be defined as follows. Two clock signals of somewhat similar frequency are compared by observing their behavior over time. At some point in time their leading or trailing edges will be close together and approximately coincide. With each passing clock cycle, the leading edges of the two clocks will get farther apart (the faster clock's leading edge leading the slower clock's leading edge) and then begin to get closer together again. When one complete cycle of this action has occurred so that the leading edge of the faster clock passes the leading edge of the slower clock, a slip is considered to have occurred. Another slip occurs when the leading edges once again pass. Analogous definitions can be made for non-rectangular clock waveforms.
Several techniques will occur to those skilled in the art for implementing this. The following preferred technique takes into account any appropriate frequency relationship between CLK2 and derived CLKA and is formulated to avoid real number mathematics in favor of integer math which is more easily and rapidly handled by a computer. In practice, a wide range of differences between the two clock frequencies are possible without adverse effects on the operation. Differences of 25% or more in the clock frequencies may be readily handled by the particular circuit shown. By way of example of the process of intelligent expander 52, consider a system-wherein CLKA and derived CLKA are running at approximately 7200 Hz (one half of the 14.4 Kbps data rate of DCE 18 and 22).
In this example assume: 1) CLKA0 = the nominal frequency of CLKA = 7200 Hz 2) CLK2 = 8000 Hz and define the clock ratio: 3) C2/ C1 = CLK2 / CLKA0 = 8000 I 7200 so that If both numerator and denominator are divided by their least common divisor: 4) C2 I C1 = 10 so we set: 5) C2 = 10 6) C1=9 Now define: 7) K0 = CLKA0 - CLK2 = the nominal frequency difference between the two clocks = 7200 - 8000 = -800
Now define an accumulated slip count per second which is the equivalent of: 8) K = CLKA - CLK2 = CLKA0 + # - CLK2
= # - 800 where 9) A = CLKA - CLKA0 where A is the error in CLKA when compared to the nominal CLKA.
For this example assume CLKA = 7200.9Hz so # = .9 Hz. But, note that K is the output of a slip counter so that fractional values are not read but accumulate over time.
Now define a scaled correction count: 10) Ln (Ko -K) C2 + L'n-1 (where Lin~1 is the residue left over from the previous iteration of these equations.)
Now define the sample correction factor: 11) Mn = INT(LnlC1) (where INT( X ) equals the integer part of real number X) and define the residue: 12) Ln: Ln ~ C1 Mn To understand the relationship among these equations, consider the operation of a portion of the expander 52 as illustrated in Table 1. In these equations, subscripts have been used for L, M and L' to indicate the iterative nature of the process. For example, in the case of L, it is dependent on the previously calculated value of L' as indicated by the subscripts of n and n-1 in the above equations. This example case assumes that the intelligent expander reads it's slip counter (K) once every second. The example assumes that CLK1 = 8001 Hz so that CLKA derived CLKA = (9/10) (8001) = 7200.9Hz, and thus A : 0.9 Hz. CLK2 is 8000 Hz and CLKA = 7200 Hz so C2 / C1.: 10 / 9. Of course, these particulars are not to be limiting and are presented only by way of example. Further, it is assumed that the clocks start simultaneously at time 0. These assumptions are not to be limiting since other approaches are equally valid.
Time
Seconds K L M
0 0 0 0 0
1 -800 0 0 0
2 -799 -10 -1 -1
3 -799 -11 -1 -2
4 -799 -12 -1 -3
5 -799 -13 -1 -4
6 -799 -14 -1 -5
7 -799 -15 -1 -6
8 -799 -16 -1 -7
9 -799 -17 -1 -8
10 -799 -18 -2 0
11 -800 0 0 0
12 -799 -10 -1 0
TABLE 1.
By tracing through the equations above while considering the tabulated data of Table 1, it can be seen that for this particular example, there is no sample deletion at time 1 second because the integer portion of the correction count M is still less than 1. At time 2 seconds, a 1 sample correction is made and the residue L' held until the next iteration. As time goes on between 2 and 9 seconds, the residue value gradually builds up while a single sample is deleted each second. At time 10 seconds, the residue has accumulated to the point that it contributes an extra count to the correction count and 2 samples are deleted. At time 11 seconds, there is once again no correction as in time 1 second.
The process repeats itself so that out of each 10 seconds there are 10 sample corrections with no correction on the first and 2 on the last second of each cycle.
Of course, it is likely that in actual use there will be some variation in the actual frequencies of the clocks as a result of temperature changes, jitter, etc. Thus, the above example is somewhat simplified for ease of explanation. However, the procedure outlined will function over a wide variety of circumstances. In the special case of both clocks being of equal nominal frequency, the process simplifies since the constants Kg O, C1 : C2=1. So for this special case, the calculations may be simplified. The present method may be implemented using a general purpose signal processor such as the Texas Instruments TMS series and may be changed to meet different frequency requirements by simply changing these constants.The present circuit will readily operate with frequency differences of 25% or more without modification.
Turning now to FIGURE 3, an embodiment of the slip detector 50 is shown in detail. Viewing FIGURE 4 in conjunction with FIGURE 3 may be helpful in understanding the circuit's operation. In FIGURE 3, all latches are positive edge triggered with the top input representing a clock input and the bottom input representing a reset input. Signal CLKA is provided to one input of an AND gate 60 as well as the clock input of a latch 62.
Signal CLK2 is supplied to the second input of AND gate 60 and a first input of AND gate 64. The output of AND gate 60 is connected to the input of an inverter 66 as well as a consecutive ones counter 68.
Consecutive ones counter 68 is clocked by signal MCLK. The output of consecutive ones counter 68 is latched into a latch 70 under the control of inverter 66.
The output of latch 70 is provided to latches 72 and 74 which respectively store the maximum and minimum values from latch 70. The value stored in latches 72 and 74 are compared at comparators 76 and 78 with the output of latch 70 to determine if the output of latch 70 has exceeded the previously stored maximum or minimum value. If it has, the comparators 76 and 78 trigger registers 72 and 74 to store the new value of maximum or minimum value. Circuit 80 computes 9096 of the maximum value stored in latch 72 and circuit 82 computes 110% of the minimum value stored in latch 74. Initially, latches 72 and 74 should be loaded with initial values which are updated as the circuit stabilized.
Preferably, latch 72 is initially loaded with a very small value and 74 is initially loaded with a very large value so that the normal operation of the circuit can update both latches.
A comparator 86 receives the output of latch 70 and compares that with the output of circuit 80 to determine if the current value is greater than 90% of the maximum value. If so, comparator 86 produces a signal labeled "TRIGGER". Similarly, comparator 88 compares the output of circuit 82 with the output of latch 70 and if the value of the output of latch 70 is lower than 110% of the minimum value, comparator 88 produces a signal "ARM". The outputs of circuits of 80 and 82 are compared at a comparator 90 which produces an output "ACTIVATE" when the circuit has stabilized and there exists a significant difference between the minimum and maximum values.
Signals "ARM" and "ACTIVATE" are ANDed at AND gate 92 the output of which is coupled to one side of an OR gate 94. The output of
OR gate 94 is provided to a latch 96 having an "ARM LATCH" output which is coupled back to a second output of OR gate 94. The "ARM
LATCH" signal is also connected to AND gate 98 and Is ANDed with signal "TRIGGER" on comparator 86. The output of AND gate 98 is coupled to one input of OR gate 100 the output of which Is coupled to a second input of latch 96. Latch 96 provides an output "SLIP" which is fed back to a second input of OR gate 100. Latch 96 may be considered to be two one bit wide latches with the "SLIP" output associated with the upper input and the "ARM LATCH" output associated with the lower input and both latches sharing common clock and reset lines. Latch 62 is a one bit wide latch.The remaining latches may be of any desired width, for example 8 bits wide, which is convenient for the desired application.
Circuit 50 must also determine which of CLKA and CLK2 Is running faster. This output is obtained from latch 62. The output of OR gate 100 is provided to the input of an inverter 102 as well as one input of an AND gate 104. The second input of AND gate 104 is coupled to the output of latch 62. The output of inverter 102 Is connected to the second input of
AND gate 64. The outputs of AND gates 64 and 104 are provided to the inputs of OR gate 106 which drives latch 62.
Operation of slip detector 50 is as follows and may be understood by simultaneous consideration of the timing diagram shown in FIGURE 4.
CLKA and CLK2 are ANDed together at AND gate 60 and the duration of time in which both signals are at a logical 1 is timed by a consecutive l's counter 68 by simply counting the number of clock cycles of MCLK occurring during the period of time in which the output of 60 is high. This count is delivered to latch 70. After a stabilization period the maximum and minimum counts are stored in 72 and 74 and 90% of the maximum value is generated in 80 and 110% of the minimum value is generated in 82. Whenever the value from latch 70 is greater than 90% of the maximum value, comparator 86 knows that the clocks are near the point of their maximum overlap. Similarly, whenever the value of latch 70 is less than 110% of the minimum value, comparator 88 determines that the clocks are near their minimum amount of overlap. When the minimum amount of overlap is attained, latch 96 is armed and awaits the next point of maximum overlap in the clocks (output trigger). When this occurs, the latch 96 provides output a high output "SLIP", provided "ACTIVATE" is on. The 90% and 110% values are illustrative and may require adjustment in some circumstances.
The circuit of FIGURE 3 provides the output "CLKA > CLK2" by noting that at the instant that "SLIP" makes a positive transition, the relative speed of the clocks is given by the instantaneous value of CLK2.
This circuit is only needed if the nominal frequencies of CLKA and CLK2 are the same or very close. If CLK2 is low at this point, CLK2 is slower than CLKA and if CLK2 is high at this point, CLK2 is faster than CLKA.
By definition, these are the only two cases which are allowed as one will always be faster than the other if a slip has occurred. The operation of this portion of the circuit is best understood by consideration of the previous comments while simultaneously studying FIGURE 3 and FIGURE 4.
Turning now to FIGURE SA, a flow chart of an interrupt driven embodiment of the slip counter operation of the system of FIGURE 2 is given. In another embodiment, the microcomputer may poll a counter periodically. For purposes of this discussion, it may be assumed that
CLKA = 7.2 Khz and CLK2 = 8.0 Khz. In this embodiment the number of slips which occurs is counted by a microprocessor which implements expander 52. Whenever a slip occurs, the microcomputer is interrupted.
Those skilled in the art will recognize many possibilities for implementation of the process of FIGURE 5A as well as similar processes. The process begins at 150 and control passes to 152 where the value of the counter K is set equal to zero. A determination is made at 154 as to whether or not a slip has occurred. If not, the process awaits the occurrence of a slip. When a slip has occurred control passes to 155 where the microcomputer is interrupted. At step 156 it is determined whether or not CLK2 is faster than CLKA. If so, control passes to 158 where the slip counter is decremented by 1. Otherwise, the slip counter is incremented by 1 in 160 and control passes back to 154 in either case.
FIGURE SB Is a flow chart describing the operation of the intelligent expander in repeating or throwing away samples to correct the clock. The process starts at 162 and at 163 the microcomputer reads K at predetermined time intervals The microcomputer then performs the conversion of K to M at 164 and resets K to zero at 166. If the absolute value of M is not greater than zero (M = 0) the process exits at 170.
Otherwise, control passes to 172 where the voice signal is checked for silence. If silence is not detected in 172, the process waits for a silent period. If silence is detected at 172, control passes to 174 where the value of M is checked to determine if samples are to be added or deleted. If the number of samples M is greater than 0, then the last sample is repeated M times at 176 to make the clock correction. If M is less than zero at step 174, control passes to 178 where M samples of silence are thrown away after which control passes to 180 where the procedure is exited.
Those skilled in the art will appreciate that many variations of the present process is possible. For example, rather than accumulating slips and samples to be deleted and then waiting for a period of silence, samples can be thrown away one at a time without seriously effecting the voice quality in most situations. Also, it may not be desirable to accumulate samples in waiting for a silence period in some situations.
Other variations will occur to those skilled in the art.
The slip detector of the present invention may also be utilized in numerous other applications. For example, as shown in FIGURE 6, the present invention can be utilized for precision control of a voltage controlled oscillator in a phase locked loop. In this embodiment the jitter and noise normally present in the output of a phase locked loop can be radically reduced. In this arrangement, the output signal from a voltage controlled oscillator 200 labeled CLKVCO is provided along with a signal
CLKIN to slip detector 50.
Slip detector 50 is also=provided with signal MCLK which is the microprocessor clock for a microprocessor based microcomputer 210. Slip detector 50 operates as previously described and provides signal SLIP as well as signal CLKIN > CLKVCO to a counter 212. Counter 212 counts either up or down depending upon the value of CLKIN greater than
CLKVCO. Counter 212 counts for a predetermined period of time determined by timer 214 which interrupts microcomputer 210 after this predetermined period of time. Microcomputer 210 then reads the output of counter 212 to determine how many slips have occurred over the time period generated by 214.This gives microcomputer 210 a long term average representation of how far off frequency voltage controlled oscillator 200 is running and is able to correct the frequency accordingly. -That is, microcomputer 210 knows that over the time period of timer 214 the VCO 200 is operating out of synchronization with CLKIN by a total of plus or minus the count of counter 212 in clock cycles. From this information, microcomputer 210 can generate an error number used to control a controlled voltage source 216 which can then apply an error signal to VCO 200. This error signal is typically a DC voltage which provides correction to the voltage controlled oscillator's frequency. By utilizing this arrangement, VCO 200 makes corrections to its output frequency on a less frequent interval than is normal for a phase locked loop. The corrections are made based upon a long term average error.
This results in substantially less jitter and noise generated by the voltage controlled oscillator. Also, stability of the present circuit is guaranteed, unlike the case of some phase locked loops. It should be noted, however, that the above approach provides only frequency locking and does not provide phase locking. However, frequency locking is adequate for many situations and phase locking can be provided in addition to use of the present invention with anticipated improvement in jitter reduction and stability.
Those skilled in the art will appreciate that many variations in the arrangement shown in FIGURE 6 are possible. For example, analogous implementations may be generated for control of a digital phase locked loop. Other variations and modifications as well as other uses for slip detector 50 will occur to those skilled in the art.
Thus it is apparent that in accordance with the present invention, a method that fully satisfies the aims, advantages and objectives is set forth above. While the invention has been described in conjunction with specific embodiments, it is evident that many alternatives, modifications and variations will become apparent to those skilled in the art upon consideration of the foregoing description. Accordingly, it is intended that the present invention embrace all such alternatives, modifications and variations as fall within the spirit and broad scope of the appended clalms.
Claims (18)
1. An apparatus for use in compensating for differences in frequency between a first clock and a second clock, the apparatus comprising in combination:
slip detector means for determining when a complete one
cycle slip has occurred between said first and said second clocks;
and
clock compensation means for compensating for differences in
said clock frequencies responsive to said slip detector means.
2. The apparatus of claim 1, further comprising:
comparing means for determining which of said first and
second clocks is operating at a higher frequency and for producing
an output indicative thereof.
3. The apparatus of claim 1, further comprising:
means for transmitting samples of voice clocked by said first
clock; and
means for receiving said samples of voice clocked by said
second clock.
4. The apparatus of claim 2, wherein said clock compensation means further comprises:
means for counting the number of slips detected by said slip
detector;
means for detecting a period of silence in said samples of
voice; and
means for adding samples of voice during said period of silence
if said second clock is running too fast relative to said first clock,
and for deleting samples of voice if said second clock is running too
slow relative to said first clock.
5. The apparatus of claim 4, further comprising means for mapping a predetermined number of clock slips K to a predetermined number of voice samples M so that said means for deleting and adding deletes or adds M voice samples for each K clock slips.
6. The apparatus of claim 4, wherein samples which are deleted are samples of silence.
7. The apparatus bf claim 4, wherein samples which are added are samples of silence.
8. A method for compensating for differences in a first clock signal's rate and a second clock signal's rate, the method comprising the steps of:
transmitting voice samples from a first location synchronized
to said first clock signal;
receiving said samples at a second location having a second
clock for generating said second clock signal;
comparing said first clock signal and said second clock signal
to determine when a slip of one cycle has occurred;
determining which of said first and second clock rates is
greatest;
at said second location, discarding a received voice sample for
each predetermined number of slips which occur if said second clock
is running too slow relative to said first clock; and
at said second location, inserting an additional voice sample
for each predetermined number of slips which occur if said first
clock rate is smaller than said second clock rate.
9. The method of claim 8, wherein said discarded voice sample includes a sample of silence.
10. The method of claim 8, wherein said inserted voice sample includes a sample of silence.
11. The method of claim 8, further including the step of detecting periods of silence and wherein said inserted and discarded voice samples include samples of silence.
12. An apparatus for compensating for differences in a first clock signal's rate and a second clock signal's rate, the apparatus comprising:
means for transmitting voice samples from a first location
synchronized to saId first clock signal;
means for receiving said samples at a second location having a
second clock for generating said second clock signal;
means for comparing said first clock signal and said second
clock signal to determine when a slip of one cycle has occurred;
means for determining which of said first and second clock
rates is greatest;
at said second location, means for discarding a received voice
sample for each predetermined number of slips which occur if said
first clock rate is greater than said second clock rate; and
at said second location, means for inserting an additional voice
sample for each predetermined number of slips which occur if said
second clock is running too fast relative to said first clock.
13. A method for adjusting the output frequency of a voltage controlled oscillator, comprising the steps of:
comparing said output frequency with a frequency reference;
computing a long term average error in said output frequency;
and
providing an adjusted voltage to said voltage controlled
oscillator appropriate for correcting said long term average error.
14. The method of claim 13, wherein said computing step includes counting the number of slips occurring between said output frequency and said reference frequency.
15. An apparatus according to claim 1 substantially as hereinbefore described with reference to the accompanying drawings.
16. A method according to claim 8 substantially as hereinbefore described with reference to the accompanying drawings.
17. An apparatus according to claim 12 substantially as hereinbefore described with reference to the accompanying drawings.
18. A method according to claim 13 substantially as hereinbefore described with reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/066,361 US4815109A (en) | 1987-06-25 | 1987-06-25 | Sampling clock synchronization |
Publications (3)
Publication Number | Publication Date |
---|---|
GB8810655D0 GB8810655D0 (en) | 1988-06-08 |
GB2206268A true GB2206268A (en) | 1988-12-29 |
GB2206268B GB2206268B (en) | 1991-08-07 |
Family
ID=22069008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB8810655A Expired - Fee Related GB2206268B (en) | 1987-06-25 | 1988-05-05 | Sampling clock synchronisation |
Country Status (2)
Country | Link |
---|---|
US (1) | US4815109A (en) |
GB (1) | GB2206268B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2273022A (en) * | 1992-11-25 | 1994-06-01 | Sony Broadcast & Communication | Processing digitally sampled data |
GB2362790A (en) * | 2000-05-22 | 2001-11-28 | Ericsson Telefon Ab L M | Time tracking a pilot signal |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1219709B (en) * | 1988-06-14 | 1990-05-24 | Telettra Lab Telefon | SYSTEM AND CIRCUITS FOR THE PROCESSING AND TRANSMISSION OF A CLOCK SIGNAL, IN PARTICULAR THE FREQUENCY OF VIDEO SYNCHRONISM |
US5008904A (en) * | 1989-07-24 | 1991-04-16 | Hewlett-Packard Co. | Synchronizer using clock phase extrapolation |
KR930001922B1 (en) * | 1989-08-28 | 1993-03-20 | 가부시기가이샤 히다찌세이사꾸쇼 | Data processor |
FI95334C (en) * | 1992-04-02 | 1996-01-10 | Nokia Telecommunications Oy | Oscillator unit for a base station in a digital cellular radio network or equivalent |
US5394437A (en) * | 1992-10-20 | 1995-02-28 | At&T Corp. | High-speed modem synchronized to a remote CODEC |
US5811998A (en) * | 1993-01-28 | 1998-09-22 | Digital Equipment Corporation | State machine phase lock loop |
KR0171775B1 (en) * | 1995-12-30 | 1999-03-30 | 유기범 | Order line signal treatment apparatus |
US7933295B2 (en) * | 1999-04-13 | 2011-04-26 | Broadcom Corporation | Cable modem with voice processing capability |
US6765931B1 (en) * | 1999-04-13 | 2004-07-20 | Broadcom Corporation | Gateway with voice |
US7023868B2 (en) * | 1999-04-13 | 2006-04-04 | Broadcom Corporation | Voice gateway with downstream voice synchronization |
EP1238489B1 (en) * | 1999-12-13 | 2008-03-05 | Broadcom Corporation | Voice gateway with downstream voice synchronization |
US9692563B2 (en) * | 2014-04-14 | 2017-06-27 | Cisco Technology, Inc. | Upstream contention measurement reporting and mitigation in DOCSIS remote PHY network environments |
JP6203121B2 (en) * | 2014-05-28 | 2017-09-27 | 株式会社東芝 | Signal conversion apparatus and method, signal restoration apparatus and method, and information processing apparatus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1072929A (en) * | 1962-12-18 | 1967-06-21 | Hitachi Ltd | Synchronization system for p.c.m. transmission |
GB1535893A (en) * | 1976-02-12 | 1978-12-13 | Ncr Co | Repeater for receiving and transmitting data signals |
GB2196450A (en) * | 1986-10-20 | 1988-04-27 | Mars Inc | Processor clocking |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3580499A (en) * | 1968-10-30 | 1971-05-25 | Bowles Fluidics Corp | Fluidic slip-resolver system |
US3742145A (en) * | 1972-04-17 | 1973-06-26 | Itt | Asynchronous time division multiplexer and demultiplexer |
US3867579A (en) * | 1973-12-21 | 1975-02-18 | Bell Telephone Labor Inc | Synchronization apparatus for a time division switching system |
IT1014585B (en) * | 1974-04-11 | 1977-04-30 | Sits Soc It Telecom Siemens | CIRCUITAL ARRANGEMENT FOR CORRECTION OF THE SLIDING ERROR IN EC-CODE PULSE TRANSMISSION SYSTEMS |
US4528521A (en) * | 1984-02-09 | 1985-07-09 | At&T Information Systems Inc. | Precision control frequency synthesizer having an unstable, variable frequency input signal |
US4592050A (en) * | 1984-03-29 | 1986-05-27 | International Business Machines Corporation | Apparatus and method for providing a transparent interface across a satellite communications link |
US4580279A (en) * | 1984-04-16 | 1986-04-01 | At&T Bell Laboratories | Elastic store slip control and maintenance circuit |
US4737971A (en) * | 1986-04-07 | 1988-04-12 | American Telephone And Telegraph Company | Synchronization detection circuit |
US4672299A (en) * | 1986-05-23 | 1987-06-09 | American Telephone And Telegraph Co. | Clock control circuit for phase control |
-
1987
- 1987-06-25 US US07/066,361 patent/US4815109A/en not_active Expired - Lifetime
-
1988
- 1988-05-05 GB GB8810655A patent/GB2206268B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1072929A (en) * | 1962-12-18 | 1967-06-21 | Hitachi Ltd | Synchronization system for p.c.m. transmission |
GB1535893A (en) * | 1976-02-12 | 1978-12-13 | Ncr Co | Repeater for receiving and transmitting data signals |
GB2196450A (en) * | 1986-10-20 | 1988-04-27 | Mars Inc | Processor clocking |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2273022A (en) * | 1992-11-25 | 1994-06-01 | Sony Broadcast & Communication | Processing digitally sampled data |
GB2273022B (en) * | 1992-11-25 | 1996-05-22 | Sony Broadcast & Communication | Processing sampled data |
GB2362790A (en) * | 2000-05-22 | 2001-11-28 | Ericsson Telefon Ab L M | Time tracking a pilot signal |
GB2362790B (en) * | 2000-05-22 | 2004-04-14 | Ericsson Telefon Ab L M | Radio frequency receivers |
Also Published As
Publication number | Publication date |
---|---|
US4815109A (en) | 1989-03-21 |
GB8810655D0 (en) | 1988-06-08 |
GB2206268B (en) | 1991-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4815109A (en) | Sampling clock synchronization | |
US5661765A (en) | Receiver and transmitter-receiver | |
JP2828166B2 (en) | Clock pulse generation method, clock pulse generation device, and clock recovery circuit | |
US4827225A (en) | Fast locking phase-locked loop utilizing frequency estimation | |
EP0877505B1 (en) | Synchronous circuit controller for controlling data transmission between asynchronous circuits | |
JPS6413814A (en) | Phase locking loop locking synchronizer and signal detector | |
US4972160A (en) | Phase-lock loop circuit with improved output signal jitter performance | |
US4930142A (en) | Digital phase lock loop | |
US4661965A (en) | Timing recovery circuit for manchester coded data | |
JP3850063B2 (en) | Method and apparatus for determining feedback division ratio in a phase locked loop | |
US5208839A (en) | Symbol synchronizer for sampled signals | |
US4288874A (en) | Timing data reproduction system | |
US5550878A (en) | Phase comparator | |
EP0360691A3 (en) | Apparatus for receiving digital signal | |
CA1083235A (en) | Digital phase lock loop circuit | |
US6643345B1 (en) | Synchronous control apparatus and method | |
US5339338A (en) | Apparatus and method for data desynchronization | |
US7035253B2 (en) | Communication timing coordination techniques | |
GB2281831A (en) | A programmable pulse generator with phase adjust | |
JP2697371B2 (en) | Staff multiplex communication receiving circuit | |
JP3313318B2 (en) | PLL circuit | |
KR100389845B1 (en) | Device to synchronize digital receiver | |
KR910009669B1 (en) | Apparatus for eliminating jitter noise of telecommunication system | |
US6665362B1 (en) | Digital receive phase lock loop with phase-directed sample selection | |
JP3204175B2 (en) | Clock phase synchronization circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 19960505 |