maxstep
Maximum step size for LMS adaptive filter convergence
Description
Examples
Compute Maximum Step of LMS Adaptive Filter
The maxstep
function computes the maximum step size of the adaptive filter. This step size keeps the filter stable at the maximum possible speed of convergence. Create the primary input signal, x
, by passing a signed random signal to an IIR filter. Signal x
contains 50 frames of 2000 samples each frame. Create an LMS filter with 32 taps and a step size of 0.1.
x = zeros(2000,50); IIRFilter = dsp.IIRFilter('Numerator',sqrt(0.75),... 'Denominator',[1 -0.5]); for k = 1:size(x,2) x(:,k) = IIRFilter(sign(randn(size(x,1),1))); end mu = 0.1; LMSFilter = dsp.LMSFilter('Length',32,... 'StepSize',mu);
Compute the maximum adaptation step size and the maximum step size in mean-squared sense using the maxstep
function.
[mumax,mumaxmse] = maxstep(LMSFilter,x)
mumax = 0.0625
mumaxmse = 0.0536
Input Arguments
lmsFilt
— LMS adaptive filter System object™
dsp.LMSFilter
| dsp.BlockLMSFilter
dsp.LMSFilter
dsp.BlockLMSFilter
LMS adaptive filter, specified as either a dsp.LMSFilter
System object or a dsp.BlockLMSFilter
System object.
x
— Input signal
scalar | column vector | matrix
Columns of the matrix x
contain individual input
signal sequences. The signal set is assumed to have zero mean or close to
zero mean.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
Complex Number Support: Yes
Output Arguments
mumax
— Maximum step size
scalar
Maximum step size value, returned as a scalar. This is the step size you can specify for the adaptive filter without causing the filter to become unstable. For details on how this parameter is calculated, see Algorithms.
Data Types: double
mumaxmse
— Maximum step size in mean squared sense
scalar
Maximum adaptive filter step size to provide convergence of the LMS adaptive filter coefficients in the mean squared sense, returned as a scalar. For details on how this parameter is calculated, see Algorithms.
Data Types: double
Algorithms
The step size of the adaptive filter must satisfy the following equation in order for the adaptive filter to be stable:
where, μmax is the maximum step size.
The value of μmax depends on the LMS filter System object and the adaptive filter algorithm the object uses.
dsp.LMSFilter
LMS
When the Method
property of the
dsp.LMSFilter
object is set to 'LMS'
,
maximum step size μmax is calculated using
the following equation:
where,
xt –– Concatenated columns of the input matrix, x(:).
xt◦xt –– Hadamard or entrywise product of the two vectors.
L –– Length of the filter coefficients.
The maximum step size in mean-square sense, μmaxMSE is computed using the following equation:
where,
sum(λ) –– Sum of the eigenvalues of the input auto correlation matrix.
λmax –– Maximum eigenvalue of the input auto correlation matrix.
Kurt –– Average kurtosis value of eigenvector-filtered signals.
Normalized LMS
When the Method
property of the
dsp.LMSFilter
System object is set to 'Normalized LMS'
:
Maximum step size, μmax = 2.
Maximum step size in mean-square sense, μmaxMSE = 2.
For Other Methods
For all other methods such as Sign-Data LMS
,
Sign-Error LMS
, and Sign-Sign LMS
:
μmax = ∞.
μmaxMSE = ∞.
dsp.BlockLMSFilter
The maximum step size for dsp.BlockLMSFilter
is computed using
the following equation:
where,
xt –– Concatenated columns of the input matrix, x(:).
xt◦xt –– Hadamard or entrywise product of the two vectors.
L –– Length of the filter coefficients.
The maximum step size in mean-square sense, μmaxMSE is computed using the following equation:
References
[1] Hayes, M.H. Statistical Digital Signal Processing and Modeling. New York: John Wiley & Sons, 1996.
Version History
Introduced in R2012a
See Also
Functions
Objects
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)