Skip to content

Questions about Kalman filter

Short answers, pulled from the story.

What is the Kalman filter used for?

The Kalman filter is an algorithm that estimates unknown variables from a series of noisy measurements over time. It is used in aircraft, spacecraft, and ship navigation; cruise missile guidance such as the U.S. Navy Tomahawk; GPS-based positioning; signal processing; econometrics; robotic motion planning; and modeling the central nervous system's control of movement.

Who invented the Kalman filter?

The filter is named for Rudolf E. Kálmán, a Hungarian emigre who published the foundational paper in 1960. Richard S. Bucy of the Johns Hopkins Applied Physics Laboratory contributed to the theory, leading to the name Kalman-Bucy filtering. Thorvald Nicolai Thiele and Peter Swerling developed similar algorithms earlier, and Soviet mathematician Ruslan Stratonovich independently published some of the same linear filter equations before 1961.

How was the Kalman filter first used in the Apollo program?

Stanley F. Schmidt, generally credited with the first implementation of the Kalman filter, recognized its applicability to the nonlinear problem of trajectory estimation during a visit by Kálmán to the NASA Ames Research Center. The filter was incorporated into the Apollo navigation computer, which had only 2k of magnetic core RAM and ran at under 100 kHz, making it one of the very first real applications of the algorithm.

How does the Kalman filter prediction and update process work?

The Kalman filter operates in two alternating phases. In the prediction phase, it uses a mathematical model of the system to project the current state estimate forward in time. In the update phase, a new measurement is combined with the prediction using a weighted average, where estimates with smaller uncertainty receive more weight. The algorithm is recursive, requiring only the previous best estimate and its uncertainty matrix, not the full history of observations.

What is the difference between the Extended Kalman Filter and the Unscented Kalman Filter?

The Extended Kalman Filter handles nonlinear systems by linearizing the transition and observation functions around the current estimate using their Jacobian matrices at each time step. The Unscented Kalman Filter instead selects a set of sample points called sigma points that represent the current mean and covariance, propagates them directly through the nonlinear functions, and reconstructs the mean and covariance from the result, avoiding explicit Jacobian calculations.

Does the Kalman filter require Gaussian noise to work?

No. A common misconception, perpetuated in the technical literature, holds that the Kalman filter requires all noise processes to be Gaussian. In fact, if the process and measurement covariances are known, the Kalman filter is the best possible linear estimator in the minimum mean-square-error sense regardless of the noise distribution. There may be better nonlinear estimators in non-Gaussian cases, but the filter's optimality as a linear estimator does not depend on Gaussianity.