DSP Blockset
  Go to block:
    Search    Help Desk 
Kalman Adaptive Filter    See Also

Compute filter estimates for an input using the Kalman adaptive filter algorithm.

Library

Adaptive Filters, in Filtering

Description

The Kalman Adaptive Filter block computes the optimal linear minimum mean-square estimate (MMSE) of the FIR filter coefficients using a one-step predictor algorithm. This particular Kalman filter algorithm is based on the following physical realization of a dynamical system:

The Kalman filter assumes that there are no deterministic changes to the filter taps over time (i.e., the transition matrix is identity), and that the only observable output from the system is the filter output with additive noise. The corresponding Kalman filter is expressed in matrix form as:

The variables are as follows

Variable
Description
n
The current algorithm iteration
u(n)
The buffered input samples at step n
K(n)
The input covariance matrix at step n
g(n)
The vector of Kalman gains at step n

The vector of filter-tap estimates at step n
y(n)
The filtered output at step n
e(n)
The estimation error at step n
d(n)
The desired response at step n
QM
The correlation matrix of the measurement noise
QP
The correlation matrix of the process noise
.

The correlation matrices, QM and QP, are specified in the parameter dialog box by scalar variance terms to be placed along the matrix diagonals, thus ensuring that these matrices are symmetric. The filter algorithm based on this constraint is sometimes called the random-walk Kalman filter.

Note that the implementation of the algorithm in the block does not precisely parallel the above equations; symmetry of the input covariance matrix K(n) is exploited to decrease the total number of computations by a factor of two.

The block icon has port labels corresponding to the inputs and outputs of the Kalman algorithm.

Block Ports
Corresponding Variables
In
u, the scalar input, which is internally buffered into the vector u(n) used by the algorithm

Out
y(n), the filtered scalar output

Err
e(n), the scalar estimation error

Taps
, the vector of filter-tap estimates

An optional Adapt input port is added when the Adapt input check box is selected in the dialog box. When this port is enabled, the block continuously adapts the filter coefficients while the Adapt input is nonzero. A zero-valued input to the Adapt port causes the block to stop adapting, and to hold the filter coefficients at their current values until the next nonzero Adapt input.

The FIR filter length parameter specifies the length of the filter that the Kalman algorithm estimates. The Measurement noise variance and the Process noise variance parameters specify the correlation matrices of the measurement and process noise, respectively. The Measurement noise variance is specified by a scalar to be repeated for the diagonal elements of the matrix. The Process noise variance can be a vector of values to be placed along the diagonal, or a scalar to be repeated for the diagonal elements.

The Initial value of filter taps specifies the initial value as a vector, or as a scalar to be repeated for all vector elements. The Initial error correlation matrix specifies the initial value K(0), and can be a diagonal matrix, a vector of values to be placed along the diagonal, or a scalar to be repeated for the diagonal elements.

Dialog Box

FIR filter length
The length of the FIR filter.
Measurement noise variance 
The value to appear along the diagonal of the measurement noise correlation matrix.
Process noise variance 
The value to appear along the diagonal of the process noise correlation matrix.
Initial value of filter taps
The initial FIR filter coefficients.
Initial error correlation matrix
The initial value of the error correlation matrix.
Adapt input
Enables the Adapt port.

References

Oppenheim, A. V. and R. W. Schafer. Discrete-Time Signal Processing. Englewood Cliffs, NJ: Prentice Hall, 1989.

Proakis, J. and D. Manolakis. Digital Signal Processing. 3rd ed. Englewood Cliffs, NJ: Prentice-Hall, 1996.

See Also

LMS Adaptive Filter
RLS Adaptive Filter


[ Previous | Help Desk | Next ]