| Filter Design Toolbox | ![]() |
Construct a sign-error algorithm FIR adaptive filter object
Syntax
Description
ha = adaptfilt.se(l,step,leakage,coeffs,states)
constructs an FIR sign-error adaptive filter ha.
Input Arguments
Entries in the following table describe the input arguments for adaptfilt.se.
| Input Argument |
Description |
l |
Adaptive filter length (the number of coefficients or taps) and it must be a positive integer. l defaults to 10. |
step |
SE 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.1 |
leakage |
Your SE leakage factor. It must be a scalar between 0 and 1. When leakage is less than one, adaptfilt.se implements a leaky SE algorithm. When you omit the leakage property in the calling syntax, it defaults to 1 providing no leakage in the adapting algorithm. |
coeffs |
Vector of initial filter coefficients. it must be a length l vector. coeffs defaults to length l vector with elements equal to zero. |
states |
Vector 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.se 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 sign-error SD object, their default values, and a brief description of the property.
Use inspect(ha) to view or change the object properties graphically using the MATLAB Property Inspector.
Examples
Adaptive line enhancement using a 32-coefficient FIR filter running over 5000 iterations.
d = 1; % Number of samples of delay ntr= 5000; % Number of iterations v = sin(2*pi*0.05*[1:ntr+d]); % Sinusoidal signal n = randn(1,ntr+d); % Noise signal x = v(1:ntr)+n(1:ntr); % Input signal (delayed desired % signal) d = v(1+d:ntr+d)+n(1+d:ntr+d); % Desired signal mu = 0.0001; % Sign-error step size ha = adaptfilt.se(32,mu); [y,e] = filter(ha,x,d); subplot(2,1,1); plot(1:ntr,[d;y;v(1+d:ntr+d)]); axis([ntr-100 ntr -3 3]); title('Adaptive Line Enhancement of a Noisy Sinusoidal Signal'); legend('Observed','Enhanced','Original'); xlabel('Time Index'); ylabel('Signal Value'); [pxx,om] = pwelch(x(ntr-1000:ntr)); pyy = pwelch(y(ntr-1000:ntr)); subplot(2,1,2); plot(om/pi,10*log10([pxx/max(pxx),pyy/max(pyy)])); axis([0 1 -60 20]); legend('Observed','Enhanced'); xlabel('Normalized Frequency (\times \pi rad/sample)'); ylabel('Power Spectral Density'); grid on;
See Also
adaptfilt.sd, adaptfilt.ss, adaptfilt.lms
References
Gersho, A, "Adaptive Filtering With Binary Reinforcement," IEEE Trans. Information Theory, vol. IT-30, pp. 191-199, March 1984.
Hayes, M, Statistical Digital Signal Processing and Modeling, New York, Wiley, 1996.
| adaptfilt.sd | adaptfilt.ss | ![]() |
Learn more about the latest releases of MathWorks products: |
| © 1994-2009 The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |