What Is a Kalman Filter?
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.
Guidance, Navigation, and Control
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.
Computer Vision
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.
Examples and How To
Control Systems
Computer Vision
Sensor Fusion and Tracking
Software Reference
Control Systems
Simulink Blocks
MATLAB Functions
Computer Vision
Signal Processing
Sensor Fusion and Tracking
Kalman Filter FAQs
The Kalman filter is an algorithm that estimates the state of a system from measured data using a two-step process: predicting the system state and then refining the estimate using noisy measurements.
The filter operates in two steps: first, it predicts the state of the system, and second, it uses noisy measurements to refine the estimate of system state.
Kalman filters are widely used in guidance and navigation systems, computer vision for object tracking, sensor fusion (such as GPS and IMU), econometrics, and signal processing.
In computer vision, Kalman filters are used for object tracking to predict an object's future location, account for noise in detected locations, and help associate multiple objects with their corresponding tracks.
Kalman filters synthesize position and velocity signals by fusing measurements from multiple sensors, such as GPS and IMU (inertial measurement unit) data in guidance and navigation systems.
Yes, Kalman filters are often used to estimate signal values that cannot be measured directly, such as the temperature in an aircraft engine turbine where any temperature sensor would fail.
There are several variants including the extended Kalman filter for nonlinear systems, the unscented Kalman filter, and the particle filter, all available in MATLAB and Simulink products.
Yes, MATLAB provides Kalman filter functions, Simulink blocks, and toolboxes including Control System Toolbox, Computer Vision Toolbox, and Sensor Fusion and Tracking Toolbox for designing and implementing Kalman filters.
See also: object recognition, video processing, PID control, parameter estimation, point cloud, battery state of charge, SLAM (simultaneous localization and mapping)