Main Content

maxstep

Maximum step size for LMS equalizer convergence

Description

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.

Examples

collapse all

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

M = 2; % Modulation order
eqdfe_lms = comm.DecisionFeedbackEqualizer(Algorithm='LMS', ...
    NumForwardTaps=8,NumFeedbackTaps=5,StepSize=0.03, ...
    Constellation=pskmod(0:M-1,M));

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 = pskmod(randi([0 M-1],1000,1),M);
rxsig = conv(x,[1 0.8 0.3]);

Use maxstep to display 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