# Patent

## Title
Precise frequency estimation of short data bursts

## Abstract

The invention performs frequency estimation over both the burst preamble, during which known symbols are transmitted, and also during the burst's data packet, which is subsequent to the preamble and extracted by the local detector. During the preamble, an initial frequency estimate is obtained. This estimate is based on a time average of either phase or correlation samples. Atypical phase or correlation samples, attributable to detector symbol errors during the data packet, are detected and filtered, so as to avoid including the atypical samples in a time-averages used to provide the frequency estimate. In a first embodiment correlation samples are time averaged, and atypical correlation samples are suppressed prior to correlation time averaging. In a second embodiment, phase slope values are time averaged, and atypical values of phase slope are suppressed prior to phase slope time averaging.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 11/626,685 filed on Jan. 24, 2007, which is a continuation of U.S. patent application Ser. No. 09/974,332 filed on Oct. 10, 2001 (now U.S. Pat. No. 7,187,731), which claims priority under 35 U.S.C. 119 based on European Patent Application No. 01400495.6 filed Feb. 26, 2001, the entire disclosures of which are incorporated herein by reference.
BACKGROUND
FIGS. 1A and 1B illustrate a prior-art Hybrid Fiber-Coax (HFC) cable system 100 that is compatible with the cable industry standard Data over Cable System Interface Specification (DOCSIS) for providing Internet access to cable customers via so called Cable Modems (CMs). FIG. 1A is a top-level view of the cable system. FIG. 1B provides additional detail of the Customer Premises Equipment (CPE) of FIG. 1A. In FIG. 1B, CM 4000 provides a computer industry standard Ethernet interface to PC 5000 and bridges the Ethernet interface with the coax distribution of the cable system. CM 4000 internally implements both an RF Modulator and an RF Demodulator for communications over the coax in accordance with the DOCSIS standard.
An RF Modulator 3000 and RF Demodulator 1000, complementary to those of the cable modem, are implemented in a DOCSIS compatible Cable Modem Termination System (CMTS) 500, which as the name implies, provides termination for the Cable Modem of the CPE. Multiple instances of Modulator 3000 and Demodulator 1000 are provisioned to support all customers with CM service. Control, MAC, Framing 2000 bridges all of the provisioned DOCSIS RF interfaces with one or more packet-based networks. These packet networks may include local area networks, intranets, and the Internet. While FIG. 1A shows the CMTS 500 implemented in a Head End or Primary Hub, theoretically it is possible to implement the CMTS anywhere upstream from the CM. Each demodulator 1000 provides outputs to the Control, MAC, Framing 2000 that include Detected Symbols 1200 and a Frequency Offset Estimate 1300.
While the transmitter of the CM upstream modulator and the complementary receiver in the CMTS demodulator are theoretically provisioned for identical frequencies, frequency offsets may occur for a variety of reasons. These reasons include errors in the local oscillators of the CM modulator (used to transmit the signal burst at the provisioned frequency) or CMTS front-end (used to down-convert the received signal burst to baseband) as well as the use of up- and downconversion processes applied to the upstream channels over the path from CM to CMTS. These conversion processes are used to combine and split multiple channels over common communication paths for economic transport. Depending on severity and other system issues, frequency offsets could degrade Bit Error Rates (BERs), increase latencies, or completely prevent signal capture. However, these problems may be avoided by using closed loop methods to minimize or eliminate the offsets.
In CMTS applications, system operation may be conceptually divided into normal data traffic conditions (traffic mode) and so-called ranging periods (ranging mode). Ranging is a closed loop process by which the CMTS manages the timing, power level, offset frequency, and equalization for the transmitter of each CM. Ranging is performed whenever a CM is initialized and registered by the network and also periodically (at regular time intervals) to update its calibration. The ranging calibration process is performed for every CM on the channel and enables the system to smoothly operate at high effective throughput during traffic mode.
As applicable to the cable system of FIG. 1A, during ranging, a Frequency Offset Estimate 1300 is made in Demodulator 1000 of the CMTS and provided to the Control, MAC, and Framing 2000. The control functions of this block then send one or more commands downstream to the corresponding CM, remotely adjusting its transmitter frequency until the frequency offset observed at Demodulator 1000 is reduced to within predefined acceptable limits. Once set during ranging, the offset frequency adjust continues to be used by the CM during subsequent traffic mode operation. The ranging determined offset frequency adjust thus effectively eliminates any frequency offset observed by the CMTS, regardless of the source or sources of the offset.
Ranging represents the most problematic operating condition for determining the frequency offset estimate, as the frequency offset is generally large during ranging and other CM characteristics are not yet calibrated for optimal performance. Accordingly, symbol errors may be frequent. During traffic mode, the CM is operating with a much smaller effective frequency offset due to the compensating offset frequency adjust assigned by the CMTS during ranging and overall CM operation is optimally calibrated. Symbol errors are significantly reduced.
Demodulator Operation
FIG. 2A provides a general conceptual block diagram of the digital burst Demodulator 1000 in the CMTS 500. Front-End 600 isolates one modulated carrier from the carrier multiplex in the Received Spectrum 1100, baseband converts the signal, and passes the resulting signal 1105 to the Burst and Timing Synchronization circuit 1500. (In other contexts the Front-End 600 might be considered as a function prior to, and not part of, the demodulator.) The Recovered Signal Samples 1106, at the output of circuit 1500, are discrete signal samples at the symbol rate.
Equalizer 1600 compensates for signal distortion not compensated by a pre-equalizer in the cable modem (CM) and also suppresses ingress noise. At the output of this stage, the Equalized Signal Samples rk (1107) are given by:

rk=akejφk+wk,

where ak is the transmitted symbol and wk is the additive noise. These samples are not yet synchronized in terms of carrier phase.

Carrier Phase Synchronized Samples 1108 are produced by the Rotator 1700 in conjunctions with Phase Estimator 1900. The carrier phase φk is given by:

φk=2kπΔfTs+φ0.

where Δf is the frequency offset and Ts is the symbol period.

Let {circumflex over (φ)}k be the estimated carrier phase used for symbol k. The equalized signal rk is multiplied by exp(−j{circumflex over (φ)}k) within Rotator 1700 so as to decide symbol ak by Detector 1800. The decision on symbol ak is denoted dk, which is output as Detected Symbols 1200.
The quantity pk=rkd*k is subsequently computed. For CMTS and other applications having a high value of the frequency drift, quasi-differential demodulation is preferred, and the carrier phase recovery algorithm only uses the last value of pk to determine the carrier phase. In such cases, the estimated carrier phase can thus be written as:

{circumflex over (φ)}k=arg(rk−1d*k−1)

Prior Art Frequency Estimators

Frequency Offset Estimator 8000 provides Frequency Offset Estimate 1300, an estimate of the observed frequency offset of the received signal. Prior art frequency estimation techniques for general burst demodulator applications have used phase slope computations and related time averaging, or have been based on the autocorrelation function of the signal. FIG. 2B illustrates a particular prior art Frequency Offset Estimator (8000-PA-AC) based on autocorrelation of the signal. FIG. 2C illustrates a particular prior art Frequency Offset Estimator (8000-PA-PS) based on phase slope computations. FIG. 2D provides additional detail of the Phase Slope Computation 8100, of FIG. 2C.
The prior art frequency estimation techniques provide satisfactory precision for more general burst demodulator applications that use long bursts of known symbols (such as found in long message preambles) or admit to time averaging over multiple consecutive bursts. Unfortunately, both isolated short bursts and symbol errors are characteristics of CMTS applications, particularly during ranging. CMTS applications employ isolated short ranging bursts of approximately 200 symbols, consisting of a very short preamble (typically 20-30 known symbols) and a short data block consisting of symbols extracted by the local detector. Due to noise and other factors, generally including the existence of frequency offsets, the output of the detector will not be free of symbol errors.
In view of the above, it is useful to make a detailed examination of the performance of the prior art frequency estimator based on the autocorrelation function of the signal. As shown in FIG. 2B, the prior art autocorrelation estimator bases the frequency estimation on the computation of δk=pkP*k−L. By proper normalization of the time average of δk, the frequency can be estimated as:




  
    
      Δ
      ⁢
      
        
      
      ⁢
      f
    
    ^
  
  =
  
    
      arg
      ⁡
      
        (
        
          
            ∑
            
              k
              =
              
                L
                +
                1
              
            
            N
          
          ⁢
          
            δ
            k
          
        
        )
      
    
    
      2
      ⁢
      
        
      
      ⁢
      π
      ⁢
      
        
      
      ⁢
      
        T
        s
      
      ⁢
      L
    
  




where N designates the number of symbols in the burst at hand, and L is a delay parameter defined in the Correlator 8620 in FIG. 2B.
Suppose that a symbol error occurs at the k0 decision instant. With the assumed QPSK signal format, this leads to an instantaneous phase error of ±π/2. Furthermore, as quasi-differential demodulation is used, this ±π/2 phase-error appears in all subsequent symbol decisions, and also in all Pk values computed after k0.
Thus, the phase of pk for the theoretical frequency estimator has a constant slope except for one discontinuity of ±π/2 when the error occurs. Consequently, the phase of δk (recall that δk=pkP*k−L) is centered around the desired value, except for L values with an error of ±π/2. The average phase of δk over the burst size is then shifted by ±L(π/2)/(N−L). Since the normalized frequency estimate ΔfTs is obtained by dividing this average phase by 2πL, it clearly contains an error of ±0.25/(N−L).
Consider a particular quantitative example using the foregoing analysis Suppose that we want to have an estimation precision of 10−4 for a burst length of 200. Should a single decision error occur during this burst, this error would result in a normalized frequency estimation error of approximately 0.25/200, or approximately 10−3. This is an order of magnitude greater than the desired accuracy of 10−4. Those skilled in the art will see that a similar analysis, with similar results, can be made for a phase slope based estimator.
The prior art frequency estimation approaches are clearly not well suited to CMTS applications, as it has been seen that even a single symbol error results in substantial errors. Improved frequency estimation methods and devices are needed that provide precise frequency estimates for short bursts in the presence of symbol errors. New frequency estimation approaches are needed that can be performed on one single burst, without the need for averaging the results of several consecutive bursts. In particular, improved frequency estimation techniques are needed that offer superior performance for CMTS applications.



BRIEF DESCRIPTION OF DRAWINGS
FIGS. 1A and 1B illustrate a prior-art HFC cable system. FIG. 1A is a top-level view of the cable system. FIG. 1B provides additional detail of the CPE of FIG. 1A. FIG. 2A provides internal architectural detail of Demodulator 1000 of FIG. 1A. FIG. 2B provides detail of a prior art Frequency Offset Estimator 8000-PA-AC, based on Autocorrelation of the signal, and having application in the Demodulator 1000 of FIG. 2A.
FIG. 2C provides detail of a prior art Frequency Offset Estimator 8000-PA-PS, based on Phase Slope Computation, and having application in the Demodulator 1000 of FIG. 2A.
FIG. 2D provides additional detail of a prior art Phase Slope Computation Function 8100, as used in FIG. 2C.
FIG. 3 provides detail of a first illustrative embodiment (8000-AC) of a Frequency Offset Estimator, based on Autocorrelation, in accordance with the present invention, and having application in the Demodulator of FIG. 2A.
FIG. 4 provides detail of a second illustrative embodiment (8000-PS) of a Frequency Offset Estimator, based on Phase Slope Computation, in accordance with the present invention, and having application in the Demodulator of FIG. 2A.
FIG. 5 provides detail of an illustrative embodiment of an Atypical Samples Filter 9000, suitable for application as either the Discard Atypical Correlation Samples Function 8630 of FIG. 3, or the Discard Atypical Phase Slope Samples Function 8200 of FIG. 4.



SUMMARY
The present invention provides methods and apparatus for generating precise frequency estimates for applications with both short bursts and symbol errors. The invention is practical, easy to implement, robust against decision errors, and requires only one burst to achieve frequency estimation with high precision (around 10−4 in ΔfTs in the illustrative embodiments).
The invention performs frequency estimation over both the burst preamble, during which known symbols are transmitted, and also during the burst's data packet, which is subsequent to the preamble and extracted by the local detector. During the preamble, an initial frequency estimate is obtained. This estimate is based on a time average of either phase or correlation samples. Atypical phase or correlation samples, attributable to detector symbol errors during the data packet, are detected and filtered, so as to avoid including the atypical samples in a time-average used to provide the frequency estimate.
In a first embodiment correlation samples are time averaged, and atypical correlation samples are suppressed prior to correlation time averaging. In a second embodiment, phase slope values are time averaged, and atypical values of phase slope are suppressed prior to phase slope time averaging.
DETAILED DESCRIPTION
Atypical Sample Suppression
Recall that in the presence of a single symbol error, the phase of pk for the prior art autocorrelation frequency estimator of FIG. 2B has a constant slope except for one discontinuity of ±π/2 associated with the symbol error. Consequently, the phase of δk is centered around the desired value, except for L values with an error of ±π/2 The present invention, illustrated in FIGS. 3-5, improves upon the prior art estimator by eliminating the secondary peak via appropriate non-linear filtering. More specifically, the aim of this filtering is to eliminate from the integration on δk the values known to be wrong. These values are those whose argument differs from that of the current average of δk by more than a certain angle v.
In preferred embodiments a preamble of 26 known symbols is used. Thanks to the preamble, it is possible to have a first coarse frequency estimate at the beginning of the data symbols. Using this value, it is possible to determine for each new δk whether it should be kept or not in the sum. If it is, this new value of the sum is used to filter the next symbols. Thus, if the coarse estimate provided by the preamble is precise enough, the secondary peaks are totally eradicated. Simulations of the illustrative embodiments have confirmed that the precision of the coarse frequency estimate provided by the preamble does support elimination of the secondary peaks. Those skilled in the art will appreciate that while the above description has focused on the elimination of atypical correlation samples for an autocorrelation frequency estimator, the invention is equally applicable to elimination of atypical phase slope samples for a phase slope computation frequency estimator
Autocorrelation Embodiment
FIG. 3 shows an Autocorrelation Frequency Estimator (8000-AC) in accordance with the present invention. As the name suggests, the frequency estimation algorithm is based on the computation of Correlation Samples δk=pkp*k−L (8625), which are generated by Correlator 8620.
The discard atypical values and time averaging functions (8630 and 8640, respectively) operate on an exponential function involving the phase slope. At the output of the Correlation Time Averaging stage 8640, we have ρkexp(j2πLΔfkT) 8645, where atypical values have been suppressed by Discard Atypical Correlation Samples 8630. Discard Atypical Correlation Samples 8630 acts such that δk has no effect on the running time average whenever the absolute value of arg[δkexp(−j2πLΔfkT)] is greater than a fixed threshold ν.
Arg(.) 8650 delivers the phase 2πLΔfkT, which is used as unnormalized frequency offset estimate 1300-U. Normalized frequency offset estimate 1300-N may optionally be provided as output.
Phase Slope Computation Embodiment
FIGS. 4 shows a Phase Slope Computation Frequency Estimator (8000-PS) in accordance with the present invention. The Phase Slope Computation 8100 of FIG. 2D, is preferably used as the first stage of the improved Frequency Estimator (8000-PS) of FIG. 4. Within said Phase Slope Computation 8100, the received signal rk 1107 is multiplied (via 8105) by the complex conjugate of the detected symbol dk 1200. The function Arg(.) (i.e., the phase calculation function) 8120 gives the phase difference 8110 between the received and detected signals. Slope Computation 8140 computes the phase slope 8150 from two phase-values separated by L samples.
Phase Slope Time Averaging 8300 outputs an estimate of the frequency offset 2πΔfkT (1300-U) using the phase slope values computed up to time k. This unnormalized frequency offset, or the normalized frequency offset estimate Δfk (1300-N), is updated at the symbol rate.
Discard Atypical Phase Slope Samples 8200 acts to discard the instantaneous phase slope values 8150 which differ from the current unnormalized frequency offset estimate 2πΔfkT (1300-U) by more than a fixed threshold μ. If the difference between the two signals exceeds μ, then this circuit decides that a symbol error has occurred and that the current slope value should not be included in the time-averaging function. That is, λk has no effect on the running time average whenever the absolute value of 2πΔfkT−λk is greater than μ. Either the unnormalized frequency offset 1300-U or normalized frequency offset estimate 1300-N may be provided as output to the Control, MAC, Framing 2000 block of CMTS 500.
Atypical Samples Filter
FIG. 5 provides detail of a conceptual illustrative embodiment of an Atypical Samples Filter 9000, suitable for application as either the Discard Atypical Correlation Samples Function 8630 of FIG. 3, or the Discard Atypical Phase Slope Samples Function 8200 of FIG. 4. This filter acts such that the current sample 9010 has no effect on the running time average of samples whenever the absolute value of the difference between the time average of samples 9020 and current sample 9010 is greater than the typical sample variance 9040. Block 9200 compares Current Sample 9010 with Time Average Of Samples 9020 to generate Current Sample Variance 9250. This in turn is compared against predefined Typical Sample Variance 9040 to produce Current Sample is Typical 9350, a logical binary valued control output. This control can be used directly by a subsequent time averaging circuit to qualify/suppress the use of the current sample. Alternatively, or in combination with direct use, this control can be used to zero the Filter Sample value 9060 provided to the time averaging circuit.
Implementation Considerations
In comparing the two illustrative embodiments, the phase function on which the phase slope based estimator of FIG. 4 operates is a “wrapped” function that is periodic between −π and +π. The significance of this is that boundary tests and conditional calculations must be performed to “unwrap” this function prior to the computation of the phase slope and thereby the frequency offset. The correlation-based estimator of FIG. 3 has no need to perform the extra phase unwrapping operations, and thus may offer implementation advantages.
In considering the implementation boundary between hardware (H/W) and software (S/W), remember that the Demodulator 1000 of FIG. 1A does not use the frequency estimation result. Instead it is sent by the CMTS to the CM as an offset-frequency-adjust to control the CM transmit-frequency. This is not a real time procedure, and only one offset frequency adjust is to be sent per burst. However, the frequency error estimate is extracted from a real-time sampled signal with one sample per symbol. In our preferred implementation, all functions are implemented in hardware except the phase calculation in box 8650 and optional normalization in box 8660 of FIG. 3, and the optional normalization in box 8400 in FIG. 4. The reason is that those computations are performed once per burst, which means that they do not need high-speed electronics.
A fully software implementation would consist of sending the equalized samples rk and detected symbols dk to the software and make all computations in software. While such an implementation is within the scope of the present invention, it is not likely to be an efficient implementation. In general, real-time computations (at the symbol rate) are best made in hardware and low-speed computations (at the burst rate) are best made in software.
Conclusion
Although the present invention has been described using particular illustrative embodiments, it will be understood that many variations in construction, arrangement and use are possible consistent with the teachings and within the scope of the invention. For example, bit-widths, clock speeds, and the type of technology used may generally be varied in each component block of the invention. Also, unless specifically stated to the contrary, the value ranges specified, the maximum and minimum values used, or other particular specifications (such as the desired accuracy of the frequency estimate), are merely those of the illustrative or preferred embodiments, can be expected to track improvements and changes in implementation technology, and should not be construed as limitations of the invention. Functionally equivalent techniques known to those skilled in the art may be employed instead of those illustrated to implement various components or sub-systems. It is also understood that many design functional aspects may be carried out in either hardware (i.e., generally dedicated circuitry) or software (i.e., via some manner of programmed controller or processor), as a function of implementation dependent design constraints and the technology trends of faster processing (which facilitates migration of functions previously in hardware into software) and higher integration density (which facilitates migration of functions previously in software into hardware).
Specific variations within the scope of the invention include, but are not limited to: the use of any of a variety of techniques for identifying atypical samples and for suppressing their impact on sample averages, the use of any of a variety of preamble lengths and not just via the preferred length of 26 symbols, and the use of either or both of the unnormalized and normalized frequency offset.
All such variations in design comprise insubstantial changes over the teachings conveyed by the illustrative embodiments. The names given to interconnect and logic are illustrative, and should not be construed as limiting the invention. It is also understood that the invention has broad applicability to other communications and network applications, and is not limited to the particular application or industry of the illustrated embodiments. The present invention is thus to be construed as including all possible modifications and variations encompassed within the scope of the appended claims.

## Claims

1. A network device comprising:
at least one processor to:
form a plurality of samples from data in a burst that includes a preamble and the data, where the preamble includes a set of known symbols;
filter the plurality of samples, in substantially real time, to form at least one filtered sample, where the at least one processor, when filtering the samples, is further to:
generate a time average based on the set of known symbols in the preamble,
exclude one of the plurality of samples when an absolute value of a sample variance, based on the one of the plurality of samples and the time average, exceeds a particular variance, and
accept the one of the plurality of samples when the absolute value of the sample variance does not exceeds the particular variance; and

estimate, based on the set of known symbols in the preamble and the at least one filtered sample, a frequency offset associated with the burst.

2. The network device of claim 1, where the at least one processor is further to update the time average, in substantially real time, based on the at least one filtered samples.

3. The network device of claim 1, where the set of known symbols in the preamble includes 26 known symbols.

4. The network device of claim 1, where the at least one processor, when forming the plurality of samples, is further to calculate correlation samples.

5. The network device of claim 4, where the at least one processor, when estimating the frequency offset, is further to:
calculate, based on the correlation samples, a phase of the time average,
determine, based on the phase of the time average, an unnormalized frequency offset estimate, and
normalize the unnormalized frequency offset estimate to form a normalized frequency offset estimate.

6. The network device of claim 1, where the at least one processor, when forming the plurality of samples, is further to calculate phase slope samples.

7. The network device of claim 6, where the at least one processor, when estimating the frequency offset, is further to:
determine, based on the phase slope samples, an unnormalized frequency offset estimate, and
normalize the unnormalized frequency offset estimate to form a normalized frequency offset estimate.

8. The network device of claim 1, where the at least one processor is further to:
forward an instruction, to another network device that transmits the burst, to modify an associated transmission frequency based on the frequency offset.

9. The network device of claim 1, where the at least one processor, when excluding the one of the plurality of samples, is further to:
substitute the excluded one of the plurality of samples with a replacement sample that includes a zero value.

10. A method performed by a network device that includes one or more processors, the method comprising:
filtering, via the one or more processors, a plurality of samples associated with a received signal to form filtered samples, where filtering the plurality of samples includes:
accepting a plurality of first samples associated with a first data section of the received signal,
calculating a time average based on the plurality of first samples,
iteratively evaluating a plurality of second samples associated with a second data section of the received signal, where the iterative evaluating includes
accepting one of the plurality of second samples when an absolute value of a sample variance based on the one of the plurality of second samples and the time average does not exceed a particular variance,
discarding the one of the plurality of second samples when the absolute value of the sample variance exceeds the particular variance,
generating an updated time average and an updated sample variance based on accepting the one of the plurality of second samples, and
evaluating a second of the plurality of second samples based on the updated time average and the updated sample variance; and


estimating, via the one or more processors, a frequency offset estimate based on the filtered samples.

11. The method of claims 10, where the plurality of first samples are based on a plurality of predefined symbols.

12. The method of claims 10, further comprising:
correlating the plurality of first samples and the plurality of second samples to generate correlation samples.

13. The method of claims 12, where estimating the frequency offset further includes:
calculating, based on the correlation samples, a phase of the time average,
determining, based on the phase of the time average, an unnormalized frequency offset estimate, and
normalizing the unnormalized frequency offset estimate to form a normalized frequency offset estimate.

14. The method of claim 10, further comprising:
calculating a phase slope of the plurality of first samples and the plurality of second samples to generate phase slope samples.

15. The method of claim 14, where estimating the frequency offset further includes:
determining, based on the phase slope samples, an unnormalized frequency offset estimate, and
normalizing the unnormalized frequency offset estimate to form a normalized frequency offset estimate.

16. The method of claim 10, further comprising:
forwarding an instruction, to another network device that transmits the burst, to modify an associated transmission frequency based on the frequency offset.

17. The method of claim 10, where discarding the one of the plurality of second samples includes:
substituting the one of the plurality of second samples with a replacement sample that includes a zero value.

18. A computer-readable memory device containing computer-executable instructions, comprising:
one or more instructions to filter a sample associated with a received signal to form filtered samples that includes a plurality of known symbols associated with the received signal, where filtering the sample includes comparing a particular variance and a sample variance based on the sample and the plurality of known symbols associated with in the received signal; and
one or more instructions to estimate a frequency offset estimate based on the filtered samples.

19. The computer-readable medium of claim 18, where the sample variance is based on a time average of the filtered samples.

20. The computer-readable medium of claim 18, further comprising:
one or more instructions to calculate at least one of correlation samples and phase samples based on the filtered samples.