Accelerating the pace of engineering and science

# Documentation Center

• Trial Software
• Product Updates

# maxstep

Maximum step size for adaptive filter convergence

## Syntax

mumax = maxstep(ha,x)
[mumax,mumaxmse] = maxstep(ha,x)

## Description

mumax = maxstep(ha,x) predicts a bound on the step size to provide convergence of the mean values of the adaptive filter coefficients. The columns of the matrix x contain individual input signal sequences. The signal set is assumed to have zero mean or nearly so.

[mumax,mumaxmse] = maxstep(ha,x) predicts a bound on the adaptive filter step size to provide convergence of the LMS adaptive filter coefficients in the mean-square sense. maxstep issues a warning when ha.stepsize is outside of the range 0 < ha.stepsize < mumaxmse/2.

maxstep is available for the following adaptive filter objects:

 Note   With adaptfilt.nlms filter objects, maxstep uses the following slightly different syntax:```mumax = maxstep(ha) [mumax,mumaxmse] = maxstep(ha)```The maximum step size for convergence is fully defined by the filter object ha. Matrix x is not necessary. If you include an x input matrix, MATLAB returns an error.

## Examples

Analyze and simulate a 32-coefficient (31st-order) LMS adaptive filter object. To demonstrate the adaptation process, run 2000 iterations and 50 trials.

```% Specify [numiterations,numexamples] = size(x);
x = zeros(2000,50);
d = x;
obj = fdesign.lowpass('n,fc',31,0.5);
hd = design(obj,'window'); % FIR filter to identified.
coef = cell2mat(hd.coefficients); % Convert cell array to matrix.

for k=1:size(x,2);   % Create input and desired response signal
% matrices.
% Set the (k)th input to the filter.
x(:,k) = filter(sqrt(0.75),[1 -0.5],sign(randn(size(x,1),1)));
n = 0.1*randn(size(x,1),1);  % (k)th observation noise signal.
d(:,k) = filter(coef,1,x(:,k))+n; % (k)th desired signal end.
end
mu = 0.1;                       % LMS step size.
ha = adaptfilt.lms(32,mu);
[mumax,mumaxmse] = maxstep(ha,x);

Warning: Step size is not in the range 0 < mu < mumaxmse/2:
Erratic behavior might result.

mumax

mumax =

0.0623

mumaxmse

mumaxmse =

0.0530```

## See Also

Was this topic helpful?