Equalize using decision feedback equalizer that updates weights with variable-step-size LMS algorithm

Equalizers

The Variable Step LMS Decision Feedback Equalizer block uses
a decision feedback equalizer and the variable-step-size LMS algorithm
to equalize a linearly modulated baseband signal through a dispersive
channel. During the simulation, the block uses the variable-step-size
LMS algorithm to update the weights, once per symbol. When you set
the **Number of samples per symbol** parameter to `1`

,
then the block implements a symbol-spaced equalizer and updates the
filter weights once for each symbol. When you set the **Number
of samples per symbol** parameter to a value greater than
1, the weights are updated once every *N*^{th} sample,
for a *T*/*N*-spaced equalizer.

The `Input`

port accepts a column vector input
signal. The `Desired`

port receives a training sequence
with a length that is less than or equal to the number of symbols
in the `Input`

signal. Valid training symbols are
those symbols listed in the **Signal constellation** vector.

Set the **Reference tap** parameter so it is
greater than zero and less than the value for the **Number
of forward taps** parameter.

The port labeled `Equalized`

outputs the result
of the equalization process.

You can configure the block to have one or more of these extra ports:

`Mode`

input, as described in Reference Signal and Operation Modes in*Communications System Toolbox™ User's Guide*.`Err`

output for the error signal, which is the difference between the`Equalized`

output and the reference signal. The reference signal consists of training symbols in training mode, and detected symbols otherwise.`Weights`

output, as described in Adaptive Algorithms in*Communications System Toolbox User's Guide*.

To learn the conditions under which the equalizer operates in
training or decision-directed mode, see Adaptive Algorithms in *Communications System Toolbox User's
Guide*.

For proper equalization, you should set the **Reference
tap** parameter so that it exceeds the delay, in symbols,
between the transmitter's modulator output and the equalizer input.
When this condition is satisfied, the total delay, in symbols, between
the modulator output and the equalizer *output* is
equal to

1+(**Reference tap**-1)/(**Number
of samples per symbol**)

Because the channel delay is typically unknown, a common practice is to set the reference tap to the center tap of the forward filter.

**Number of forward taps**The number of taps in the forward filter of the decision feedback equalizer.

**Number of feedback taps**The number of taps in the feedback filter of the decision feedback equalizer.

**Number of samples per symbol**The number of input samples for each symbol.

**Signal constellation**A vector of complex numbers that specifies the constellation for the modulation.

**Reference tap**A positive integer less than or equal to the number of forward taps in the equalizer.

**Initial step size**The step size that the variable-step-size LMS algorithm uses at the beginning of the simulation.

**Increment step size**The increment by which the step size changes from iteration to iteration

**Minimum step size**The smallest value that the step size can assume.

**Maximum step size**The largest value that the step size can assume.

**Leakage factor**The leakage factor of the variable-step-size LMS algorithm, a number between 0 and 1. A value of 1 corresponds to a conventional weight update algorithm, and a value of 0 corresponds to a memoryless update algorithm.

**Initial weights**A vector that concatenates the initial weights for the forward and feedback taps.

**Mode input port**When you select this check box, the block has an input port that enables you to toggle between training and decision-directed mode. For training, the mode input must be 1, for decision directed, the mode should be 0. The equalizer will train for the length of the Desired signal. If the mode input is not present, the equalizer will train at the beginning of every frame for the length of the Desired signal.

**Output error**When you select this check box, the block outputs the error signal, which is the difference between the equalized signal and the reference signal.

**Output weights**When you select this check box, the block outputs the current forward and feedback weights, concatenated into one vector.

[1] Farhang-Boroujeny, B., *Adaptive
Filters: Theory and Applications*, Chichester, England,
Wiley, 1998.

Was this topic helpful?