|
The Kalman Filter |
Kristof Van Laerhoven
|
|
|
The Kalman filter |
||
|
The Kalman filter is an on-line, recursive algorithm trying to estimate the true state of a system where only (noisy) observations or measurements are available. In Bayesian terms, we want to propagate the conditional probability density of the true state, given knowledge on previous measurements.
|
||
|
The discrete Kalman filter |
||
|
The Kalman filter contains a linear model for the process, as well as a linear model for the measurement. The former model describes how the current state of the tracker is changing, given the previous instance: with A the state transition matrix and ~p the process noise vector. The measurement model of the filter is straightforward as well: with H the measurement matrix and ~m the measurement noise vector. H described how the measured data relates (linearly) to the state. We define
and
as the covariance matrices of the process and measurement noise respectively. We start in the initial state:
and define
and update the Kalman variables in a two-step predict-correct loop, until we run out of data:
Predict: Predict the next state:
Predict the next error
covariance:
Correct using the measurements: Compute Kalman gain: Update estimated state with
measurement: Update the error covariance:
|
||
|
Example (in Matlab) |
||
|
% simple kalman filter example A = textread('C:\Documents and Settings\vl\My
Documents\object-C_m.txt'); DIM = size(A,2);
|
||
|
References |
||
Compiled by Kristof Van Laerhoven.