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:
- 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.
- 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
- No prior assumptions are made regarding the signal to be estimated.
- 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).
Suppression of maternal ECG component in fetal ECG (
Figure 2).
y is an estimate of the maternal ECG signal present in the abdominal signal (
Figure 4).
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
yk=w1xk+w2x<apply><minus></minus>k1</apply>+…+wpx<apply><plus></plus><apply><minus></minus>kp</apply>1</apply>(1)
Impulse response of the filter:
…,0,0,w1,w2,…wp,0,0,…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=()(xk,yk) are jointly stationary with zero-mean.
E[ek2] | = | E[(yk−xkTw)2] |
| = | E[yk2]−2wTE[xkyk]+wTE[xkxkT]w |
| = | Ryy−2wTRxy+wTRxxw |
(4)Where
Ryy is the variance of
yk2,
Rxx is the covariance matrix of
xk, and
Rxy=E[xkyk] is the cross-covariance between
xk and
ykThe MSE is quadratic in
W which implies the MSE surface is "bowl" shaped with a unique minimum point (
Figure 8).
Minimize MSE:
(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(yk−xkTw)] | = | E[xkek] |
| = | 0 |
(7)Which shows that the error signal is orthogonal to the input
xk (by the
orthogonality principle of minimum MSE estimator).
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).
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− μ (E[ek2])|w=w0(9) Where
μ is the step size and tells us how far to move in the negative gradient direction (
Figure 10).
Generalizing this idea to an iterative strategy, we get
wk=wk−1− μ (E[ek2])|w=wk−1(10) and we can repeatedly update
w:
w0,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: