Abstract:
A method of recovery timing information and a clock recovery system for digital data signals are described, in which a digital data signal is assessed to determine the occurrence of a peak in part of the signal and the suitability of that peak for providing timing information. In the clock recovery systems described a peak evaluator has a maximum peak detector for determining the maximum oversampled value in a symbol period and the sampling point at which that maximum occurred, and peak score calculator for establishing a measure of the suitability of the peak by assessing the gradients of parts of the peak. The peak score associated with a maximum in the signal is compared with a similarly established minimum peak score by a comparator and the larger provided to a switch which, if the selected score exceeds a threshold, updates a phase lock loop, with the sampling point at which that peak occurred.

Description:
BACKGROUND OF THE INVENTION CLOCK RECOVERY 
     1. Field of the Invention 
     The present invention relates to the recovery of timing information from a digital data signal, in particular, though not exclusively, to the recovery of timing information from analogue processed digital data signals. 
     2. Related Art 
     Accurate recovery of timing information is necessary for the processing of digital data. Where digital data has undergone some form of analogue processing e.g. to form a radio frequency signal, that recovery becomes difficult. With modulation techniques such as Quadrature Amplitude Modulation (QAM) accurate clock recovery is essential because of its multilevel constellation. A particular problem for QAM transmissions over mobile radio links is that where a high symbol rate is employed e.g. 8 MBd, significant Inter Symbol Interference (ISI) occurs. This ISI produces a number of complications which render many conventional clock recovery schemes unsuitable. In addition to ISI, the carrier is suppressed in QAM, and the symbol timing is difficult to track because of the deep fades and the violent phase changes that accompany these fades in mobile radio channels. The ISI distorts the received waveform, but equalization prior to the clock recovery circuit cannot be used to remove this distortion as the equalizer would be required to work before the clock recovery system could operate properly, and almost all equalizers require accurate clock recovery for correct operation. 
     The present invention seeks in particular though not exclusively to provide a clock recovery system which operates on signals corrupted with ISI. This would make receiver operation more robust, allow an equalizer to function in isolation, and thereby avoid the problems caused by clock recovery/equalizer interaction. 
     A known method is early-late (EL) clock recovery. As the correct sampling time in most modulation schemes is at the peaks of the incoming signal and these peaks are normally symmetrical, the EL clock recovery system tries to detect any asymmetry in the incoming signal around the current sampling point. It does this by taking two samples of the incoming waveform, one just before the current sampling time, and one just after it. If the pulse is symmetrical and the sampling time is correct then the magnitude of these two samples will be the same. The EL system subtracts one sample from the other and uses the difference signal to update a phase locked loop (PLL). The incoming signal must first be squared to make all peaks positive as otherwise the error signals would have different polarities for positive and negative peaks. 
     A major problem with EL clock recovery for QAM transmissions is that not all QAM sequences result in peaks occurring every sampling period. Further, half the peaks are of the wrong polarity for the clock recovery technique. This problem is illustrated in FIGS.  1 ( a )- 1 ( c ) where the polarity of the early signal minus the late signal is considered for a number of QAM sequences when in all cases the sampling point is too early. Consequently, the early signal minus the late signal should be negative, and this is represented in FIGS.  1 ( a ) and( c ) as “E-L Negative”. In these examples we consider only the I channel for simplicity. The practical implementation of this scheme would have independent EL recovery systems for both the I and Q channels, except that they would drive the same PLL. 
     In FIG.  1 ( a ) we observe the QAM sequences 1,3,1 and −1, −3, −1, where the first number refers to the modulation level on the channel I transmitted in the symbol period prior to the one in which we are attempting peak detection. The second number in the sequence refers to the modulation level in the symbol period in which we attempt peak detection, while the third number refers to the modulation level in the symbol period after the one in which we attempt peak detection. Note we are not considering an oversampled waveform but three independent symbols. Squaring these sequences, which is an integral part of EL process, results in correct E-L polarity. 
     In FIG.  1 ( b ) we observe the sequences 3,1,3 and −3, −1, −3 It can be seen that despite sampling occurring early as in ( a ), the E-L value is of the opposite polarity to ( a ). 
     Also problematic are sequences such as −1, 1, 3 and 3,−1, 3 shown in FIG.  1 ( c ) where the monotonic waveform leads to negative early-late difference signals regardless of whether the sampling is early or late. 
     The consequence of this is that the early-late difference signal which should be negative in this case, is correct for only a fraction of the transmitted symbols. The peaks of the type in FIG.  1 ( b ) will cause an incorrect signal to be generated, and the monotonic waveforms of FIG.  1 ( c ) will on average cause an equal distribution of correct and incorrect signals. This makes it difficult for the system to maintain lock. 
     BRIEF SUMMARY OF THE INVENTION 
     According to a first aspect the invention provides a method of recovering timing information from a digital data signal, characterized by periodic assessment of the signal to determine the suitability of a part of the signal for providing timing information. 
     According to a second aspect the invention provides a method of recovering timing information from a digital data signal, comprising the steps of: 
     a) assessing whether a part of the signal has one or more characteristics indicative of the suitability of that part of the signal for providing timing information; and 
     b) determining a timing point from a part of the signal having said at least one characteristic. 
     According to a third aspect of the invention there is provided a clock recovery system for recognising timing information from a digital data signal comprising: 
     a peak detector for establishing the occurrence of a peak in a part of the signal; 
     a peak evaluator for determining the suitability of the peak for providing timing information; and 
     means for providing timing information for updating a clock on the basis of the occurrence of a suitable peak in the digital data signal. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Preferred embodiments of the invention will be now be described by way of example, and with reference to the accompanying drawings, wherein: 
     FIGS.  1 ( a )- 1 ( c ) illustrates the potential application of Early-Late clock recovery to QAM sequences; 
     FIG. 2 illustrates schematically, in general terms, a first embodiment of the invention; 
     FIG. 3 illustrates schematically part of a clock recovery system of the FIG. 2 embodiment; and 
     FIGS.  4 ( a ) and  4 ( b ) illustrate schematically a clock recovery system of another embodiment of the invention. 
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     Referring to FIGS. 2 and 3, and initially in particular to FIG. 2, a clock recovery system of the first preferred embodiment has positive and negative peak evaluators  1  and  2  connected to receivers as input oversampled measurements of a received QAM signal. The positive and negative peak detectors each have their output connected to a comparator  3  which is connected to switch  4  which is in turn connected to a phase lock loop controlled  5  for a system clock (not illustrated). The positive peak evaluator  1  is illustrated in more detail in FIG. 3, and it will be appreciated that: the negative peak evaluator  2  is essentially the same as the positive peak detector with appropriate changes in polarity. 
     The positive peak evaluator  1  shown in FIG. 3 has two main parts: a peak detector  11  and a peak score calculator  12 . 
     The peak detector  11  has a comparator  21  and storage units, store address  22  and store value  23 . The peak detector is for ascertaining at which oversampling period during the current symbol period the maximum input value occurred. The current input value is compared by comparator  21  with the current maximum value observed during a symbol period, the latter being stored in the unit store value  23 . If the current input value exceeds the current maximum value then the comparator triggers the store value unit  23  to be updated with the new maximum value and also triggers the store address unit  23  to store the oversample point at which this maximum value occurred. The maximum oversampling point is used when the overall timing is updated, and provided as output “Max” from peak detector  11 . 
     The peak score calculator  12  has an n-stage shift register  31 , where n corresponds to the oversampling rate per symbol period. The shift register  31  is coupled to by an array of six 16-way switches  32 - 1  to  32 - 6  to an array of six subtractors  33 - 1  to  33 - 6  for forming partial peak scores under the control of controller  34  as will be described below. The subtractors  33  are connected to an adder and polarity checker unit  35  for assessing the partial peak scores and providing a positive peak score as output to comparator  3 . 
     Generally, the oversampled input values are supplied to the shift register  31  so that at the end of a symbol period the input for each over-sample period is available. The subtractors  33  form the partial peak scores as described below, and the final peak score is formed by the adder and sum calculator  35  as also described below. The output from positive peak calculator  12  is a rating of the peak, labelled “Positive Peak Score” in the figure, and this and a “Negative Peak Score” derived in a near-identical way by the negative peak evaluator  2  apart from polarity changes in the comparator and subtractors, are compared by comparator  3  to determine which peak is the strongest and the results of this comparison are passed to switch  4 . The switch  4  compares the chosen peak score with a set threshold and if the threshold is not exceeded then the peak is judged to be unsatisfactory and no-update is provided to the PLL  5 . If the peak is satisfactory then depending on whether the positive or negative peak has been chosen, the appropriate maximum or minimum oversampling address “Max” or “Min”, is selected and used to advance, retard or maintain the state of a PLL  5  appropriately. 
     The operation of the system in general and the method of derivation of the partial peak scores and the final peak scores derived by the peak calculators will now be given. 
     The clock recovery system of the first embodiment waits until all n of the oversampled observations for a symbol period have been made and held in shift register  31 . The n observations are equally spaced around the current sampling point. The sample point associated with the maximum (and the minimum) sample during that period are held in the store address unit  22  of the peak detector  11 . If the maximum is at either end of the sampling period, the search for a positive pulse is discontinued since this implies there cannot be a valid positive peak in the current sampling period. The same applies if the minimum is at either end of the sampling period, indicating there could not be a valid negative peak in the oversampling period. 
     If there is a valid maximum sample, the gradient on both sides of the peak is calculated and the peak is rated (as described below) depending on the local gradient. A similar rating is calculated for the negative pulse if there is a valid minimum. The peak score calculator  12  selects oversampled values from the symbol period according to the following algorithm for rating the positive peaks: 
     
       
         
           G 
           +2 
           =R 
           p 
           −R 
           p+2 
         
       
     
     
       
         
           G 
           +3 
           =R 
           p 
           −R 
           p+3 
         
       
     
     
       
         
           G 
           −2 
           =R 
           p 
           −R 
           p−2 
         
       
     
     
       
         
           G 
           −3 
           =R 
           p 
           −R 
           p−3 
         
       
     
     
       
         
           G 
           +23 
           =R 
           p+2 
           −R 
           p+3 
         
       
     
       G   −23   =R   p−2   −R   p−3   
     where R p  is the amplitude of the incoming waveform at the peak p and R p+k  is the amplitude at the points k oversamples removed from p where k takes the values ±2, ±3. The six G values represent gradients and are the intermediate partial peak scores. We only accept the presence of a positive peak if all of these quantities are positive. This implies that on both sides of the peak the received waveform falls away, and does so with increasing steepness. We do not use the values of R at p±1 as, due to the nature of the pulse shaping, these are very similar to R at p and so the gradient can easily be distorted by noise. If all the past peak scores are positive then we score the peak according to 
     
       
         
           p 
           score 
           =G 
           +2 
           +G 
           +3 
           +G 
           −2 
           +G 
           −3 
         
       
     
     where P score  is the positive peak score. 
     Similarly for the negative peaks 
     
       
         
           G 
           +2 
           =R 
           p+2 
           −R 
           p 
         
       
     
     
       
         
           G 
           +3 
           =R 
           p+3 
           −R 
           p 
         
       
     
     
       
         
           G 
           −2 
           =R 
           p−2 
           −R 
           p 
         
       
     
     
       
         
           G 
           −3 
           =R 
           p−3 
           −R 
           p 
         
       
     
     
       
         
           G 
           +23 
           =R 
           p+3 
           R 
           p+2 
         
       
     
     
       
         
           G 
           −23 
           =R 
           p−3 
           −R 
           p−2 
         
       
     
     and if all these quantities are positive we form 
     
       
         
           N 
           score 
           =G 
           +2 
           +G 
           +3 
           +G 
           −2 
           +G 
           −3 
         
       
     
     where N score  is the negative peak score. 
     The peak score with lowest value is then discarded by comparator  3 . If there is a valid peak remaining exceeding a predetermined value, the difference between the current sampling time and that associated with the peak is used by switch  4  to update a variable internal clock, the phase locked loop (PLL) system  5 . Otherwise the PLL is allowed to continue running at its current level. 
     A functional block diagram of the second preferred embodiment is shown in FIGS.  4 ( a ) and  4 ( b ). In the second embodiment the evaluation of maximum and minimum peaks are carried out together, rather than in separate sub-units as in the first preferred embodiment. 
     In this implementation the incoming sampled waveform in, by way of example, 8-bit digital form is fed into a delay block  101  which provides as output the input samples at times T=0, T=−1 and T=−2, i.e. the sample values at the current, and two preceding sampling periods, to a pair of subtracters  102 ,  103  which calculate respectively the difference between the input at T=−1 and T=0, and at T=−1 and T=−2, representing this difference as a 7 −bit number. The 8th bit of each subtractor&#39;s output is used to signal the polarity of the difference. The unsigned difference signals are passed to adder  104 , while the polarity signals are passed to polarity checker  105  which determines whether the difference polarity signals are the same or not. The outputs of adder  104  and polarity checker  105  are provided to peak score stores  106  and  107 . 
     The output from delay block  101  at T=−1 is also provided to maximum detector  110  and minimum detector  111 , which assess whether the data sample at T=−1 is a maximum or minimum, respectively, in the current symbol period. The maximum detector  110  provides an output to peak store  106 , and to a maximum value store  108 , while the minimum detector  111  provides an output to peak score store  107 , and a minimum value store  109 . The maximum and minimum value stores  108 ,  109  each store the appropriate maximum or minimum value and its sampling point. 
     The peak score stores  106 ,  107  are connected to provide outputs to a comparator  112  which in turn provides an output to threshold detector  113 . The output of threshold detector  113  is provided to sampling point update unit  114  which is also provided with the maximum and minimum oversampling points from stores  108 ,  109 . The sampling point update unit provides an output to a clock circuit, e.g. to a phased lock loop of the clock circuit. 
     The operation of the systems second embodiment will now be described. At the start of each symbol period the stores  106 ,  107 ,  108  and  109  are reset. 
     Each maximum detector  110 ,  111  compares the input at T=−1 with the maximum or minimum in the symbol period so far, and if a new maximum or minimum is observed then the value of this maximum or minimum is stored, along with the oversample point at which it occurred, in store  108  or  109  as appropriate. Also, if a maximum or minimum has occurred, and the polarities from the subtraction process are different as determined by polarity checker  105  a peak has occurred, and then the sum of the differences from adder  104 , the “peak score”, is stored in store  106  or  107  as appropriate. The difference between subsequent samples are calculated at each sample period as distinct from the first embodiment where calculations are made when a peak is found after all samples for symbol period were collected. In this second embodiment these differences are only stored if a peak has been found. Separate calculations are not required for positive and negative peaks because unsigned differences are used. If no peak has occurred the peak score stores  106 ,  107  will still be reset, i.e. storing zero at the end of the symbol period. 
     At the end of the symbol period, comparator  112  compares the score for the maximum peak with the score for the minimum peak from stores  106  and  107 , and the larger is selected. Threshold detector  113  compares the selected score with a threshold and if the selected score is large enough the current sample point is updated by unit  114  towards the sample point associated with the selected peak. 
     This implementation requires only standard digital ICs. Approximately 30-40 simple digital ICs will be required, representing a circuit of low to medium complexity.