In a typical data communications system data is sent from a transmitter to a receiver over a communications media such as a wire or fiber optic cable. In general, the data is encoded in a manner that facilitates effective transmission over the media. For example, data may be encoded as a stream of binary data (e.g., symbols) that are transmitted through the media as a serial signal.
Typically, a separate clock signal is not sent with the serial signal. As a result, a receiver in a serial communication system may include a clock and data recovery circuit (“CDR”) that generates a clock signal that is synchronized with the incoming data stream. For example, the clock and data recovery circuit may process the incoming data stream to generate a clock signal at a frequency that matches the frequency of the data stream. The clock is then used to sample or recover the individual data bits (e.g., “symbols”) from the incoming data stream.
In a typical high speed application, symbols in a data stream are distorted as they pass through the media. For example, bandwidth limitations inherent in the media tend to spread the transmitted pulses. As a specific example, in optical communication systems chromatic dispersion and polarization mode dispersion which result from variation of light propagation speed as a function of wavelength and propagation axes may cause symbol spread.
If the width of the spread pulse exceeds a symbol duration, overlap with neighboring pulses may occur, degrading the performance of the receiver. This phenomenon is called inter-symbol interference (“ISI”). In general, as the data rate or the distance between the transmitter and receiver increases, the bandwidth limitations of the media tend to cause more inter-symbol interference.
To compensate for such problems in received signals, conventional high speed receivers may include filters and/or equalizers that, for example, cancel some of the effects of inter-symbol interference or other distortion. Examples of such components include a decision feedback equalizer (“DFE”) and a finite impulse response filter (“FIR”).
Moreover, some applications use adaptive filters or equalizers that automatically adjust their characteristics in response to changes in the characteristics of the communications media. Typically, the adaptation process involves generating coefficients that control the characteristics of the filter or equalizer. To this end, a variety of algorithms have been developed for generating these coefficients.
In some receiver architectures, it may be necessary to initialize some or all of the components of the system such as the equalization components. For example, when a system is reset the coefficients for these components may be randomly set by transient conditions or noise. However, a given receiver may not operate properly with every possible combination of coefficient values. Hence, it may be necessary to select a particular combination that will cause the receiver to operate properly. It may not be possible, however, to predict in advance which coefficient values will work in a particular operating environment. Consequently, a need exists for effective and efficient techniques for initializing equalization and other components in communication receivers.