Abstract:
Received data information is converted into digital data by sampling the data information and making a determination of the digital state for each bit. It is important that the clock which controls the time at which each data decision is made occurs at an optimal time, i.e. at the maximum signal to noise ratio of the received data information. This invention provides an improved clock control apparatus in which the clock timing is updated only upon receipt of one of a predetermined set of data sequences to enhance optimal timing.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to communications systems in which timing information needed to recover data transmitted over the system must be derived. It is especially suited for timing recovery in systems where phase distortion due to the transmission channel causes asymmetrical distortion of the data waveform. 
     It is known in a modem data receiver to detect zero crossings of the baseband signal to determine a time reference. A baseband sampling clock can be phase locked to the zero crossings with a one half cycle delay to yield a clock for data sampling at the mid point in the cycle. However, due to transmission distortions and imperfect processing of the received signal at the receiver, the zero crossings may lead the desired sampling point by more or less than one half cycle. Such conditions produce less than optimum results since the sampling time is not at the best point. 
     The desired time to sample the received data signal is at the maximum signal-to-noise ratio (SNR), sometimes referred to as the maximum eye opening. Even if the sample point could be kept at the mid-cycle point, this will not produce optimum results where phase distortion has caused the data waveform to have a maximum SNR at other than the mid-cycle point. 
     In U.S. Pat. No. 3,440,548 the choice of the sampling instant for a synchronous digital data receiver is based on the use of the time derivative of the received data signal rather than its threshold crossings. Pattern sensitivity problems are addressed in U.S. Pat. No. 4,797,900. 
     It is an object of the present invention to provide an improved timing recovery apparatus which uses only selected data information from which to control the data sampling time to maximize performance. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a data communications device having a data receiver which incorporates an embodiment of the present invention. 
     FIG. 2 is a block diagram of an embodiment of a timing recovery circuit according to the present invention. 
     FIG. 3 is a flow diagram illustrating the steps for practicing a method according to the present invention. 
     FIGS. 4A-4D each represent a data waveform with a superimposed derivative waveform illustrating phase error detection according to the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1 illustrates a digital communications apparatus 10 such as a modem which includes a transmitter 12 which receives data from a data source and transmits it over communication channel 14. A receiver 16 receives digital information over communication channel 14 and converts it to digital data. Receiver 16 must demodulate or recover data information from channel 14. The data may be transmitted over the channel from a remote transmitter by using a variety of techniques including quadrature amplitude modulation, frequency modulation, phase modulation, or direct DC signalling. Regardless of the method, receiver 16 must derive timing information in order to determine the optimum instance at which to recover the sequentially sent data. 
     FIG. 2 illustrates an embodiment of an apparatus according to the present invention for providing improved timing recovery in a data receiver. It will be apparent to those skilled in the art that the illustrative embodiment of a timing recovery circuit will be utilized with other conventional circuits and functions in a data receiver. A received signal 18 is filtered by bandpass filter 20 to provide a filtered baseband signal 22. A derivative circuit 24 generates the derivative signal 26 of baseband signal 22. Of course if the derivative signal is available from other circuitry the derivative stage 24 could be omitted. Comparators 28 and 30 process the baseband signal 22 and derivative signal 26, respectively, and generate binary digital signals representative of each signal. 
     Latches 32 and 34 are used to latch or hold the binary output of comparator 28 and 30, respectively, as determined by timer 36. The DATA output of latch 32 and the DERIV output of latch 34 comprise the sampled binary output of the baseband signal and the derivative of the baseband signal, respectively. This information is utilized by phase error detector 38 which is preferably implemented by a microprocessor associated with the data receiver. The detector 38 provides an output that controls timer load selector 40 which is utilized to load timer 36 with a variable parameter which corresponds to the sampling time instant to be utilized to detect incoming data. This parameter may consist of a number that is loaded into a counter associated with the timer. 
     FIG. 3 illustrates a flow diagram of a program for implementing the phase error detector function. The &#34;wait for timer rollover&#34; step 42 inhibits operation until the end of a data timing cycle. The &#34;reload timer&#34; step 44 causes the timer to be reloaded with a timing variable which will determine the start of the sampling sequence which includes the DATA sample point. In the &#34;initialize next timer load to standard load&#34; step 46, the timing variable which will be used in the next cycle is initialized to a predetermined standard time interval which corresponds to the anticipated data rate. 
     In step 48, at least the sign of the time derivative of the received signal, just prior to step 50, is stored as DERIVA for later use. In the preferred method, this information consists of a binary true or false state. In step 50 the baseband signal is sampled and a data state determination made and stored as DATA. In step 52 the derivative signal is again sampled just after step 50 and stored as DERIVB. It will be understood that steps 48, 50, and 52 occur in a time sequence such that the derivative is determined just before and after the sampling of the data (step 50). These derivatives define a range around the maximum SNR of the received data signal. This range is small relative to a bit time interval. 
     In step 54 the decision is determined if DERIVA and DERIVB are equal. That is, are they both false or both true? If the decision is NO, then step 56 determines that the current data bit phase is correct. If the decision is YES, then step 58 determines that the current data bit phase is incorrect. Regardless of the phase being correct or incorrect, step 60 determines if a complete 1-0-1 or 0-1-0 sequence has occurred. This sequence refers to a received data sequence. If the decision is NO, control passes to step 42 which results in the standard time being utilized for timing. If the decision is YES, a determination is made by decision step 62 as to whether the previous data bit phase was correct. This step uses the decision made by steps 56 and 58 for the preceding data cycle. If the previous phase was correct (YES), control passes to step 42 and the timer will utilize the standard time variable. If the decision is NO, the previous data bit DATA and DERIVA are exclusive-or&#39;ed (EXOR). This step determines whether the time variable, and hence sample clock, is to be increased or decreased. In step 66 the time variable is adjusted so that the next timer reload 44 will not be the standard time load but will be an adjusted value as determined by the need to increase or decrease the clock. In the illustrative embodiment, the amount of each increase or decrease may consist of a predetermined amount. Following step 66, control passes to step 42 wherein the cycle is repeated. 
     An important aspect of the present invention resides in the recognition that if the DATA and DERIV signals were used to update the timer for every data bit, optimal sampling time would not result. For example, in a binary data transmission system, if the previous data sample point was substantially at the optimal point, use of the next data bit update would cause the sample point to change slightly from the optimal point since some &#34;correction&#34; would occur. This results in moving the sampling point from a better position to a worse position. 
     The present invention contemplates that the baseband data signal and derivative of that signal provide the most accurate information in which to base timing when the received data sequence is 1-0-1 or 0-1-0. These two sequences provide a symmetrical waveform relative to the middle data bit. Updating the sample clock only upon these sequences eliminates timing decisions based upon a sequence of data consisting of the same data state in which the time derivative does not provide needed information. 
     Returning to FIG. 3, steps 60-64 require the storage of DATA for two preceding cycles and DERIVA and DERIVB for one preceding cycle. This stored information is utilized in conjunction with the current cycle information so that the decision in step 60 and the function in step 64 can be performed. It will be recognized that if such a sequence has not occurred then no timer adjustment is made. If one of the two defined sequences has occurred as determined by step 60, step 62 makes the further determination if the previous or middle in the three data bit sequence had the correct phase. If it did have the correct phase (YES), then the timer is not adjusted. If it was not correct, then the timer adjustment is made as determined by step 64. The use of an EXOR function for the middle data bit DATA and DERIVA is utilized to determine if the clock needs to be increased or decreased. 
     FIGS. 4A-4D illustrate the two data waveform sequences satisfying the 1-0-1 or 0-1-0 sequence. FIGS. 4A and 4B illustrate a 0-1-0 data sequence represented by waveform 70. The binary waveform 72 is the sign of the time derivative (DERIV) of corresponding waveform 70. FIG. 4A illustrates the sample point or clock 74 as being late relative to waveform 70, that is, it does not occur at the maximum SNR of waveform 70 as indicated by the earlier transition of waveform 72. At the sample point, DATA=1, DERIV=0, EXOR of DATA with DERIV=1 which corresponds to the need to speed up the clock timing. FIG. 4B illustrates the sample point 76 as being early. At the sample point, DATA=1, DERIV=1, and EXOR or DATA and DERIV=0 which indicates the timing needs to be slowed down. 
     FIGS. 4C and 4D represent a 1-0-1 data sequence. FIG. 4C illustrates the data waveform 78 relative to the DERIV waveform 80. Sample point 82 is late relative to the maximum SNR of waveform 78. As shown at the sample point, DATA=0, DERIV=1 and EXOR of DATA and DERIV=1 indicating a need to speed up the clock. FIG. 4D illustrates sample point 84 occurring early wherein DATA=0, DERIV=0 and EXOR of DATA and DERIV=0 indicating the need to slow down the timing. 
     It will be seen by comparing the EXOR functions for the examples shown in FIGS. 4A-4D, an EXOR=1 indicates the need to speed up and a 0 the need to slow down for both the 0-1-0 and 1-0-1 data sequences. This corresponds to step 64 of FIG. 3 in which the change of speed determination is made. Either DERIVA or DERIVB could be utilized for the EXOR function in step 64 since both must have same state in order to reach step 64. This results from step 62 wherein a determination that the previous phase is correct, i.e. DERIVA and DERIVB having opposite states, would prevent the implementation of step 64. 
     Determining the derivative just prior to and just after the data sample point according to steps 48-52 allows a correct or incorrect phase decision to be made. The decision made by step 62 prevents &#34;over correcting&#34; the sample point, i.e. causing it to move away from the optimal point. This logic inhibits unnecessary corrections when the current state of operation is within acceptable limits. 
     Although an illustrative embodiment of the present invention has been described and illustrated in the drawings, the scope of the invention is defined by the claims which follow.