Main Content


Maximum step size for LMS equalizer convergence

Since R2019a


mumax = maxstep(eq,x) predicts a bound on the step size to provide convergence of the mean values of the coefficients of the equalizer defined by the eq System object™. The set input signal sequences in x are assumed to have zero mean or nearly so.


collapse all

Create a BPSK modulator and an equalizer System object™, specifying a decision feedback LMS equalizer having eight forward taps, five feedback taps, and a step size of 0.03.

bpsk = comm.BPSKModulator;
eqdfe_lms = comm.DecisionFeedbackEqualizer('Algorithm','LMS', ...

Change the reference tap index of the equalizer.

eqdfe_lms.ReferenceTap = 4;

Build a set of test data. Receive the data by convolving the signal.

x = bpsk(randi([0 1],1000,1));
rxsig = conv(x,[1 0.8 0.3]);

Use maxstep to find the maximum permitted step size.

mxStep = maxstep(eqdfe_lms,rxsig)
mxStep = 0.1028

Equalize the received signal. Use the first 200 symbols as the training sequence.

y = eqdfe_lms(rxsig,x(1:200));

Input Arguments

collapse all

Equalizer object, specified as a comm.LinearEqualizer or comm.DecisionFeedbackFEqualizer System object.

Input signal, specified as a column vector. The input signal vector length must be equal to an integer multiple of the InputSamplesPerSymbol property. For more information, see Symbol Tap Spacing.

Data Types: double
Complex Number Support: Yes

Output Arguments

collapse all

Prediction of maximum step size for LMS equalizer convergence, returned as a scalar.

Version History

Introduced in R2019a