The Kalman filter is an algorithm that estimates the state of a system from measured data. It was primarily developed by the Hungarian engineer Rudolf Kalman, for whom the filter is named. The filter’s algorithm is a two-step process: the first step predicts the state of the system, and the second step uses noisy measurements to refine the estimate of system state.

There are now several variants of the original Kalman filter. These filters are widely used for applications that rely on estimation, including computer vision, guidance and navigation systems, econometrics, and signal processing.

In computer vision applications, Kalman filters are used for object tracking to predict an object’s future location, to account for noise in an object’s detected location, and to help associate multiple objects with their corresponding tracks.

Tracking the trajectory of a ball. The output of the Kalman filter is denoted by the red circles and the object detection is denoted in black. Notice when the ball is occluded and there are no detections; the filter is used to predict its location.
See example for details.

Kalman filters are commonly used in GNC systems, such as in sensor fusion, where they synthesize position and velocity signals by fusing GPS and IMU (inertial measurement unit) measurements. The filters are often used to estimate a value of a signal that cannot be measured, such as the temperature in the aircraft engine turbine, where any temperature sensor would fail. The filters are also used together with LQR (linear-quadratic-regulator) compensators for LQG (linear-quadratic-Gaussian) control.

Using the Kalman filter to estimate the position of an aircraft.
See example for details.

- Radar Tracking (Example)
- Estimating the Position of an Aircraft (Example)

- Using Kalman Filters for Object Tracking (Example)
- Motion-Based Multiple Object Tracking (Example)

- State Estimation Using Time-Varying Kalman Filter (Example)
- Design and Simulation of Steady-State and Time-Varying Kalman Filters (Case Study)
- Linear-Quadratic-Gaussian (LQG) Design (Getting Started)

- Estimate System Measurements and States Using Kalman Filter (System Object)
- Predict or Estimate States of Dynamic Systems (Simulink Block)

- Kalman Filter for Object Tracking (Class)
- Configuring a Kalman Filter (Function)

- Kalman Filter Design, Kalman Estimator (Function)
- Estimate states of discrete-time or continuous-time linear system (Simulink Block)
- Design Discrete Kalman Estimator for Continuous Plant (Function)
- Linear-Quadratic-Gaussian (LQG) Design (Function)

*See also*:
Computer Vision System Toolbox,
DSP System Toolbox,
Control System Toolbox,
object recognition,
video processing,
PID control,
parameter estimation,
point cloud