Digital Signal Processing Reference
In-Depth Information
specified to adapt slowly, so that it cannot respond very effectively to the rapid
changes inherently present in the noise component of the signal, only to the
relatively slowly changing components of the true desired signal. For this reason
the choice of y(n) as a reference signal often serves as a very reasonable
replacement for the ideal signal x(n).
3.5.4 The Adaptive LMS Algorithm
The adaptive LMS algorithm is probably the most popular adaptive filtering
technique is use today. In this algorithm the filter coefficients are adapted
according to the 6-line procedure given in the following paragraph. This algorithm
was developed by Widrow & Hoff, and can be shown to realize the optimal Wiener
filtering
e mse ¼Ef½ e ð n Þ 2 g¼Ef½ d ð n Þ
solution
which
minimizes
the
MSE:
x ð n Þ 2 g at every time instant n (see [ 7 ]).
Definition of the Adaptive LMS Algorithm:
h ð k Þ¼½ h o ð k Þ h 1 ð k Þ h 2 ð k Þ; ... ; h M ð k Þ , the filter coefficients at the kth instant.
y ð k Þ¼½ y ð k Þ y ð k 1 Þ y ð k 2 Þ; ... ; y ð k M Þ , observed signal vector at kth
instant.
The algorithm can be described in vector form (MATLAB-like code) as follows:
h(0) = 0; % Initialize the filter coefficients.
for n = 1: N % N = length(y);
x ð n Þ¼ h ð n 1 Þ y T ð n Þ ; % Filter output (this is matrix multiplication).
e ð n Þ¼ d ð n Þ x ð n Þ ;
h ð n Þ¼ h ð n 1 Þþ l e ð n Þ y ð n Þ ; % l is the step-size.
end
3.5.5 Choice of Adaptation (Convergence) Coefficient
and Filter Length
The choice of the adaptation coefficient l affects the estimation accuracy and the
convergence speed of the algorithm. Small values of l give better final accuracy
but slower convergence. Large values do the contrary. Very small or very large
values for l can cause significant errors, and hence, a compromise between these
two extremes is desirable. Because quick convergence is achieved by making l
large, and good final accuracy is attained by making l small, many authors have
proposed that l itself be adapted as the filter runs. At the start of the algorithm l is
made large, and after (approximate) convergence is reached, l is made small. For
the sake of simplicity, however, this topic will assume that l is invariant once the
algorithm commences.
Search WWH ::




Custom Search