Maximum step size for adaptive filter convergence
mumax = maxstep(ha,x)
[mumax,mumaxmse] = maxstep(ha,x)
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
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.
a warning when
ha.stepsize is outside of the range 0 <
maxstep is available for the following adaptive
a different syntax. Refer to the text below.)
mumax = maxstep(ha) [mumax,mumaxmse] = maxstep(ha)
The maximum step size for convergence is fully defined by the
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