serdes.DFECDR
Description
The serdes.DFECDR
System object™ adaptively processes a sample-by-sample input signal or analytically processes
an impulse response vector input signal to remove distortions at post-cursor taps.
The DFE modifies baseband signals to minimize the intersymbol interference (ISI) at the clock sampling times. The DFE samples data at each clock sample time and adjusts the amplitude of the waveform by a correction voltage.
For impulse response processing, the hula-hoop algorithm is used to find the clock sampling locations. The zero-forcing algorithm is then used to determine the N correction factors necessary to have no ISI at the N subsequent sampling locations, where N is the number of DFE taps.
For sample-by-sample processing, the clock recovery is accomplished by a first order phase tracking model. The bang-bang phase detector utilizes the unequalized edge samples and equalized data samples to determine the optimum sampling location. The DFE correction voltage for the N-th tap is adaptively found by finding a voltage that compensates for any correlation between two data samples spaced by N symbol times. This requires a data pattern that is uncorrelated with the channel ISI for correct adaptive behavior.
To equalize the input signal:
Create the
serdes.DFECDR
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Description
returns a DFECDR
object that modifies an input waveform with the DFE and determines the clock sampling
times. The system object estimates the data symbol according to the Bang-Bang CDR
algorithm.dfecdr
= serdes.DFECDR
sets properties using one or more name-value pairs. Enclose each property name in quotes.
Unspecified properties have default values.dfecdr
= serdes.DFECDR(Name
,Value
)
Example: dfecdr = serdes.DFECDR('Mode',1)
returns a DFECDR object
that applies specified DFE tap weights to input waveform.
Properties
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
Examples
More About
Extended Capabilities
Version History
Introduced in R2019a
See Also
DFECDR | CTLE | CDR | serdes.CTLE
| serdes.CDR