Decision feedback equalizer (DFE)
Keywords
electrical, unidirectional
Ports
Name | Type |
---|---|
input | Electrical Signal |
output | Electrical Signal |
training | Digital Signal |
Properties
General Properties
Name | Default value | Default unit | Range |
---|---|---|---|
name Defines the name of the element. |
Decision Feedback Equalizer | - | - |
annotate Defines whether or not to display annotations on the schematic editor. |
true | - | [true, false] |
enabled Defines whether or not the element is enabled. |
true | - | [true, false] |
type Defines the element unique type (read only). |
Decision Feedback Equalizer | - | - |
description A brief description of the elements functionality. |
Decision feedback equalizer (DFE) | - | - |
prefix Defines the element name prefix. |
DFE | - | - |
model Defines the element model name. |
- | - | - |
library Defines the element location or source in the library (custom or design kit). |
- | - | - |
local path Defines the local path or working folder $LOCAL for the element. |
- | - | - |
url An optional URL address pointing to the element online help. |
- | - | - |
Standard Properties
Name | Default value | Default unit | Range |
---|---|---|---|
training mode Defines whether or not to support a predefined training sequence to provide reference points for the equalization. |
true | - | [true, false] |
training sequence length The sequence length. |
1 | - | [1, +∞) |
bitrate Defines the input signal bitrate. |
%bitrate% | bits/s | [1, +∞) |
samples per bit The number of samples per bit. |
1 | - | [1, 1e+100] |
synchronization delay The time delay to apply to the input signal. |
0 | s | [0, +∞) |
decision point Defines whether or not to automatically determine the decision point for the constellation diagram. |
automatic | - | [automatic, user defined |
decision instant Defines the time instant for the constellation diagram detection decision points. |
0 | s | [0, +∞) |
scale factor The input signal scale factor. |
1 | - | (-∞, +∞) |
load threshold from file Defines whether or not to load a map of input values and correspondent output values from a file or to use the currently stored values. |
false | - | [true, false] |
threshold filename The file containing user defined input values and correspondent output values. Refer to the Implementation Details section for the format expected. |
- | - | - |
threshold table The table allows the user to read or modified input values and correspondent output values. |
<2,2> [0, 1, 0,...] | - | - |
equalizer type Defines the type of the equalizer. |
DFE | - | [FFE, DFE |
equalizer output Defines the equalizer output: 'analog' outputs the signal value at the output of the filter 'quantized' outputs the quantized value at the output of the digital filter. 'decision' outputs the quantized value after the decision state. |
least mean square | - | [none, least mean square |
Standard/Coefficients Properties
Name | Default value | Default unit | Range |
---|---|---|---|
load feedforward filter coefficients from file Defines whether or not to load filter coefficients from an input file or to use the currently stored values. |
false | - | [true, false] |
feedforward filter coefficients filename The file containing the filter coefficient values. Refer to the Implementation Details section for the format expected. |
- | - | - |
feedforward filter coefficients table The table containing the filter coefficient values |
<2,2> [0, 0, 0,...] | - | - |
load feedback filter coefficients from file Defines whether or not to load filter coefficients from an input file or to use the currently stored values. |
false | - | [true, false] |
feedback filter coefficients filename The file containing the filter coefficient values. Refer to the Implementation Details section for the format expected. |
- | - | - |
feedback filter coefficients table The table containing the filter coefficient values |
<2,2> [0, 0, 0,...] | - | - |
Numerical Properties
Name | Default value | Default unit | Range |
---|---|---|---|
algorithm type Defines the type of the equalizer algorithm. |
quantized | - | [analog, quantized, decision |
step size Defines the step size for the least mean squares algorithm. |
0.03 | - | [0, +∞) |
leakage factor Defines the leakage factor for the least mean squares algorithm. |
1 | - | [0, 1] |
overwrite filter coefficients Defines to overwrite current filter coefficients using the updated ones. |
false | - | [true, false] |
Numerical/Digital Filter Properties
Name | Default value | Default unit | Range |
---|---|---|---|
fractional delay Defines whether to use a fractional delay filter or force the delay to be an integer multiple of the sample period. |
true | - | [true, false] |
Diagnostic Properties
Name | Default value | Default unit | Range |
---|---|---|---|
run diagnostic Enables the analysis of the equalizer behavior. |
true | - | [true, false] |
====================================
Implementation Details
A decision feedback equalizer (DFE) is a type of adaptive filter and it uses feedback of detected symbols to produce an estimation of the transmission channel. it contains a forward filter and a feedback filter. The forward filter is a linear filter and the feedback filter is fed with the decisions made on the equalized signal to input to a taped delay line and produces the output which is typically is subtracted from the output of the linear equalizer. The DFE equalizer is often used to recover the inter-symbol interference (ISI) in the channel.
The following figure shows the schematic of a fractionally spaced DFE with L forward weight and N-L feedback weights [1].
As shown in the schematic diagram, besides the decision symbols, the feedback filter can also be fed with training symbols and produce the equalized output.
The derivation of the DFE filter coefficients are calculated using least mean square (LMS) method.
There are three options for the equalizer output:
1. The option "quantized" takes the output from point "y" shown in the schematic diagram, and the output is the quantized result from the equalizer with the sampling rate the same as the bitrate of the input signal.
2. The option "decision" takes the output from point "yd", and the output is the decision made based on the quantized output. The decision levels are defined in the "threshold table".
3. The option "analog" takes the output from point "y", and the output is the quantization result from the equalizer with the sampling rate the same as the sample rate of the input signal.
There are several rules to follow to properly set the DFE for a given channel:
1. The training signal and the input signal should be synchronized (have the same delay).
- Use the property "synchronization delay" to tune the delay of the input signal.
2. The training signal and the input signal should have the same amplitude range.
- Use the property "scale factor" to scale the input signal,
- or use an external gain element/bias element to scale/shift the signal.
3. Training mode must be used if the initial coefficients of the DFE are all zeros.
References
[1] https://www.mathworks.com/help/comm/ug/equalization.html#responsive_offcanvas