Tuesday, December 21, 2010

Introduction to Adaptive Filtering

The Kalman filter is just one of many adaptive filtering (or estimation) algorithms. Despite its elegant derivation and often excellent performance, the Kalman filter has two drawbacks:
  1. The derivation and hence performance of the Kalman filter depends on the accuracy of the a priori assumptions. The performance can be less than impressive if the assumptions are erroneous.
  2. The Kalman filter is fairly computationally demanding, requiring O(P2) operations per sample. This can limit the utility of Kalman filters in high rate real time applications.
As a popular alternative to the Kalman filter, we will investigate the so-called least-mean-square (LMS) adaptive filtering algorithm.
The principle advantages of LMS are
  1. No prior assumptions are made regarding the signal to be estimated.
  2. Computationally, LMS is very efficient, requiring O(P) per sample.
The price we pay with LMS instead of a Kalman filter is that the rate of convergence and adaptation to sudden changes is slower for LMS than for the Kalman filter (with correct prior assumptions).

Adaptive Filtering Applications

Channel/System Identification

Figure 1
Channel/System Identification
Channel/System Identification (csid.png)

Noise Cancellation

Suppression of maternal ECG component in fetal ECG (Figure 2).
Figure 2: Cancelling maternal heartbeat in fetal electrocardiography (ECG): position of leads.
Figure 2 (.png)
Figure 3
Figure 3 (ecg.png)
y is an estimate of the maternal ECG signal present in the abdominal signal (Figure 4).
Figure 4: Results of fetal ECG experiment (bandwidth, 3-35Hz; sampling rate, 256Hz): (a)reference input (chest lead); (b)primary input (abdominal lead); (c)noise-canceller output.
Figure 4 (.png)

Channel Equalization

Figure 5
Channel Equalization
Channel Equalization (ce.png)

Adaptive Controller

Figure 6: Here, the reference signal is the desired output. The adaptive controller adjusts the controller gains (filter weights) to keep them appropriate to the system as it changes over time.
Adaptive Controller
Adaptive Controller (ac.png)

Iterative Minimization

Most adaptive filtering alogrithms (LMS included) are modifications of standard iterative procedures for solving minimization problems in a real-time or on-line fashion. Therefore, before deriving the LMS algorithm we will look at iterative methods of minimizing error criteria such as MSE.
Conider the following set-up: xk:observation yk:signal to be estimated

Linear estimator

yk=w1xk+w2x<apply><minus></minus>k1</apply>++wpx<apply><plus></plus><apply><minus></minus>kp</apply>1</apply>(1)
Figure 7
Figure 7 (fir.png)
Impulse response of the filter: ,0,0,w1,w2,wp,0,0,

Vector notation

yk=xkTw(2)
Where xk=(
xk
x<apply><minus></minus>k1</apply>
x<apply><plus></plus><apply><minus></minus>kp</apply>1</apply>
)
 and w=(
w1
w2
wp
)

Error signal

ek=ykyk
=ykxkTw
(3)

Assumptions

(xk,yk) are jointly stationary with zero-mean.

MSE

E[ek2]=E[(ykxkTw)2]
=E[yk2]2wTE[xkyk]+wTE[xkxkT]w
=Ryy2wTRxy+wTRxxw
(4)
Where Ryy is the variance of yk2Rxx is the covariance matrix of xk, and Rxy=E[xkyk] is the cross-covariance between xk and yk

NOTE: 

The MSE is quadratic in W which implies the MSE surface is "bowl" shaped with a unique minimum point (Figure 8).
Figure 8
Figure 8 (mse.png)

Optimum Filter

Minimize MSE:
w
 (E[ek2])
=-2Rxy+2Rxxw=0
wopt=Rxx-1Rxy
(5)
Notice that we can re-write Equation 5 as
E[xkxkTw]=E[xkyk](6)
or
E[xk(ykxkTw)]=E[xkek]
=0
(7)
Which shows that the error signal is orthogonal to the input xk (by the orthogonality principle of minimum MSE estimator).

Steepest Descent

Although we can easily determine wopt by solving the system of equations
Rxxw=Rxy(8)
Let's look at an iterative procedure for solving this problem. This will set the stage for our adaptive filtering algorithm.
We want to minimize the MSE. The idea is simple. Starting at some initial weight vector w0, iteratively adjust the values to decrease the MSE (Figure 9).
Figure 9
In One-Dimension
In One-Dimension (iterative.png)
We want to move w0 towards the optimal vector wopt. In order to move in the correct direction, we must move downhill or in the direction opposite to the gradient of the MSE surface at the point w0. Thus, a natural and simple adjustment takes the form
w1=w0
1
2
 
μ
w
 (E[ek2])
|w=w0
(9)
Where μ is the step size and tells us how far to move in the negative gradient direction (Figure 10).
Figure 10
Figure 10 (adjust.png)
Generalizing this idea to an iterative strategy, we get
wk=wk1
1
2
 
μ
w
 (E[ek2])
|w=wk1
(10)
and we can repeatedly update ww0,w1,,wk. Hopefully each subsequent wk is closer to wopt. Does the procedure converge? Can we adapt it to an on-line, real-time, dynamic situation in which the signals may not be stationary?

Content actions

GIVE FEEDBACK:

No comments:

Post a Comment