Equalize using decision feedback equalizer that updates weights with signed LMS algorithm

Equalizers

The Sign LMS Decision Feedback Equalizer block uses a decision feedback equalizer and an algorithm from the family of signed LMS algorithms to equalize a linearly modulated baseband signal through a dispersive channel.

The supported algorithms, corresponding to the **Update
algorithm** parameter, are

`Sign LMS`

`Sign Regressor LMS`

`Sign Sign LMS`

During the simulation, the block uses the particular signed
LMS algorithm to update the weights, once per symbol. If the **Number
of samples per symbol** parameter is `1`

,
then the block implements a symbol-spaced equalizer; otherwise, the
block implements a fractionally 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 ToolboxUser'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.

**Update algorithm**The specific type of signed LMS algorithm that the block uses to update the equalizer weights.

**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.

When you set this parameter to

`1`

, the filter weights are updated once for each symbol, for a symbol spaced (i.e. T-spaced) equalizer.When you set this parameter to a value greater than

`1`

, the weights are updated once every*N*^{th}sample, for a T/N-spaced equalizer.

**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.

**Step size**The step size of the signed LMS algorithm.

**Leakage factor**The leakage factor of the signed 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 allows 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. For every frame in which the mode input is 1 or not present, the equalizer trains at the beginning of the 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.

[2] Kurzweil, Jack, *An Introduction
to Digital Communications*, New York, Wiley, 2000.

Was this topic helpful?