| Filter Design Toolbox | ![]() |
Create a delayed LMS FIR adaptive filter object
Syntax
Description
ha = adaptfilt.dlms(l,step,leakage,delay,errstates,coeffs,... constructs an FIR delayed LMS adaptive filter
states)
ha.
Input Arguments
Entries in the following table describe the input arguments for adaptfilt.dlms.
Input Argument
Description
lAdaptive filter length (the number of coefficients or taps) and it must be a positive integer.
l defaults to 10.stepLMS step size. It must be a nonnegative scalar. You can use
maxstep to determine a reasonable range of step size values for the signals being processed. step defaults to 0.leakageYour LMS leakage factor. It must be a scalar between 0 and 1. When
leakage is less than one, adaptfilt.lms implements a leaky LMS algorithm. When you omit the leakage property in the calling syntax, it defaults to 1 providing no leakage in the adapting algorithm.delayUpdate delay given in time samples. This scalar should be a positive integer--negative delays do not work.
delay defaults to 1.errstatesVvector of the error states of your adaptive filter. It must have a length equal to the update delay (
delay) in samples. errstates defaults to an appropriate length vector of zeros.coeffsVector of initial filter coefficients. it must be a length
l vector. coeffs defaults to length l vector with elements equal to zero.statesVector of initial filter states for the adaptive filter. It must be a length
l-1 vector. states defaults to a length l-1 vector of zeros.
adaptfilt.dlms Object Properties
In the syntax for creating the adaptfilt object, the input options are properties of the object you create. This table list all the properties for the block LMS object, their default values, and a brief description of the property.
Example
System identification of a 32-coefficient FIR filter. Refer to the figure that follows to see the results of the adapting filter process.
x = randn(1,500); % Input to the filter b = fir1(31,0.5); % FIR system to be identified n = 0.1*randn(1,500); % Observation noise signal d = filter(b,1,x)+n; % Desired signal mu = 0.008; % LMS step size. delay = 1; % Update delay ha = adaptfilt.dlms(32,mu,1,delay); [y,e] = filter(ha,x,d); subplot(2,1,1); plot(1:500,[d;y;e]); title('System Identification of an FIR Filter'); legend('Desired','Output','Error'); xlabel('Time Index'); ylabel('Signal Value'); subplot(2,1,2); stem([b.',ha.coefficients.']); legend('Actual','Estimated'); xlabel('Coefficient #'); ylabel('Coefficient Value'); grid on;
See Also
adaptfilt.adjlms, adaptfilt.filtxlms, adaptfilt.lms
Reference
J.J. Shynk, "Frequency-Domain and Multirate Adaptive Filtering," IEEE Signal Processing Magazine, vol. 9, no. 1, pp. 14-37, Jan. 1992.
| adaptfilt.blmsfft | adaptfilt.fdaf | ![]() |
Learn more about the latest releases of MathWorks products: |
| © 1994-2009 The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |