## Documentation Center |

Equalize using linear equalizer that updates weights with signed LMS algorithm

The Sign LMS Linear Equalizer block uses a linear 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. 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 taps** parameter.

The `Equalized` port 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 Adaptive Algorithms 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.

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

**Number of taps**The number of taps in the filter of the linear 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 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 lists the initial weights for the 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 weights.

Was this topic helpful?