Summary

We have derived all five Kalman Filter equations in matrix notation. Let us put them all together on a single page.

The Kalman Filter operates in a “predict-correct” loop, as shown in the diagram below.

Predict-Update Diagram

Once initialized, the Kalman Filter predicts the system state at the next step. It also provides the uncertainty of the prediction.

Once the measurement is received, the Kalman Filter updates (or corrects) the prediction and the uncertainty of the current state. As well the Kalman Filter predicts the following states, and so on.

The following diagram provides a complete picture of the Kalman Filter operation.

The Kalman Filter Diagram

The following table describes all Kalman Filter Equations.

Equation Equation Name Alternative names
Predict ˆxn+1,n=Fˆxn,n+Gun State Extrapolation Predictor Equation
Transition Equation
Prediction Equation
Dynamic Model
State Space Model
Pn+1,n=FPn,nFT+Q Covariance Extrapolation Predictor Covariance Equation
Update
(correction)
ˆxn,n=ˆxn,n1+Kn(znHˆxn,n1) State Update Filtering Equation
Pn,n=(IKnH)Pn,n1(IKnH)T+KnRnKTn Covariance Update Corrector Equation
Kn=Pn,n1HT(HPn,n1HT+Rn)1 Kalman Gain Weight Equation
Auxiliary zn=Hxn Measurement Equation
Rn=E(vnvTn) Measurement Covariance Measurement Error
Qn=E(wnwTn) Process Noise Covariance Process Noise Error
Pn,n=E(eneTn)=E((xnˆxn,n)(xnˆxn,n)T) Estimation Covariance Estimation Error

The following table summarizes notation (including differences found in the literature) and dimensions.

Term Name Alternative term Dimensions
x State Vector nx×1
z Measurements Vector y nz×1
F State Transition Matrix Φ,A nx×nx
u Input Variable nu×1
G Control Matrix B nx×nu
P Estimate Covariance Σ nx×nx
Q Process Noise Covariance nx×nx
R Measurement Covariance nz×nz
w Process Noise Vector y nx×1
v Measurement Noise Vector nz×1
H Observation Matrix C nz×nx
K Kalman Gain nx×nz
n Discrete-Time Index k

Dimensions notation:

  • nx is a number of states in a state vector
  • nz is a number of measured states
  • nu is a number of elements of the input variable
Previous Next

Cookies

This website uses Google Analytics third-party cookies to analyze web traffic. Read more about cookies