Overview
The Kalman filter is a mathematical algorithm that produces estimates of unknown variables by combining a model of a system with a sequence of noisy measurements. It operates recursively: each output becomes the input for the next step. The method is prized for producing accurate, real‑time estimates while working efficiently with limited memory and computation.
Core concept and components
At its heart the Kalman filter treats the unknown quantities as a state that evolves over time according to a dynamic model, and it links that state to measurements through an observation model. The filter maintains two basic pieces of information: a current best estimate of the state and an associated uncertainty (covariance). Each cycle of the algorithm has two alternating phases: prediction and update.
Prediction step: the filter projects the current estimate forward using the system model to predict the next state and how uncertain that prediction is. Update step: when a new measurement arrives, the filter computes a weighted combination of the prediction and the measurement; the weight, known as the Kalman gain, depends on their relative uncertainties. The result is a revised estimate and a new uncertainty that feed the next cycle.
How it works (simple outline)
- Start with an initial state estimate and covariance.
- Predict the next state and covariance using the system model.
- Receive a measurement and compute the innovation (difference between measured and predicted observation).
- Compute the Kalman gain from predicted covariance and measurement noise.
- Update the state estimate and covariance with the measurement.
- Repeat as new measurements arrive.
History and theoretical basis
The method is named for Rudolf E. Kálmán, who was a key figure in its development in the mid‑20th century. It is grounded in probability and linear algebra and can be viewed as an application of Bayesian updating for linear systems with Gaussian noise. Under those assumptions the Kalman filter is optimal in the sense of minimizing mean‑square estimation error. Its recursive nature and optimality made it attractive for early guidance and control applications.
Variants and extensions
Real systems are often nonlinear or have non‑Gaussian errors. Common extensions include the Extended Kalman Filter (EKF), which linearizes nonlinear models around the current estimate, and the Unscented Kalman Filter (UKF), which approximates distributions by transforming a set of sample points. There are many other adaptations for high‑dimensional, constrained, robust or distributed estimation problems.
Applications and examples
The Kalman filter and its variants are used widely: fusing inertial sensors and GPS for vehicle navigation; tracking aircraft, ships, or people; attitude and orbit estimation for spacecraft; sensor fusion in robotics; audio and communications signal processing; and some economic and financial time series applications. Practical use typically involves careful modeling of process and measurement noise and tuning of covariance parameters.
Limitations and notable facts
While powerful, the Kalman filter depends on the accuracy of the system and noise models. If the assumed noise statistics are wrong or if the system is highly nonlinear, estimates can be biased or divergent. The algorithm is computationally efficient and well suited to embedded and real‑time systems, and it remains a foundational tool in control theory, estimation, and many engineering fields.
For further technical detail and implementation guidance, consult standard texts on state estimation and control theory or practical resources that show step‑by‑step examples and code.