Kalman Filter
The Kalman filter is a recursive algorithm that estimates the hidden state of a dynamic system from a sequence of noisy measurements. Rudolf E. Kalman published it in 1960 in the paper "A New Approach to Linear Filtering and Prediction Problems" [1]. At each time step the filter predicts where the system should be according to a motion model, then corrects that prediction with whatever the sensors report, weighting each side by how much it can be trusted. For a linear system driven by Gaussian noise this simple predict-and-correct loop is not an approximation: it computes the exact Bayesian posterior over the state, and it does so with a fixed amount of memory and computation per step [4].
That combination of optimality and cheapness made the Kalman filter one of the most widely deployed algorithms of the twentieth century, and it remains a workhorse in the systems that surround modern AI. It flew to the Moon in the Apollo program's navigation stack [3], it fuses GPS and inertial data in cars and aircraft [3][19], and it sits inside SLAM systems, multi-object trackers, and autonomous driving pipelines today [10][13][15]. It is also a useful conceptual anchor: the Kalman filter is the continuous, linear-Gaussian counterpart of the hidden Markov model [16], and recent work grafts neural networks onto its structure to get filters that learn from data [17].
History
Rudolf Emil Kalman was born in Budapest on May 19, 1930, emigrated to the United States, and took bachelor's and master's degrees in electrical engineering at MIT before completing a doctorate at Columbia University in 1957 [18]. He developed the filter while working as a research mathematician at the Research Institute for Advanced Studies (RIAS) in Baltimore [18]. The 1960 paper appeared, somewhat improbably for one of the most cited results in engineering, in the Journal of Basic Engineering, an ASME mechanical engineering journal [1]. Its contribution was to drop the stationarity assumptions of Norbert Wiener's earlier filtering theory and give a sequential, state-space solution to the time-varying linear filtering problem, a formulation that happened to suit the digital computers and spaceflight problems of the era [3]. A 1961 follow-up with Richard Bucy extended the theory to continuous time; that version is known as the Kalman-Bucy filter [2].
The filter found its first application almost immediately. Engineers in the Dynamics Analysis Branch at NASA Ames Research Center, led by Stanley F. Schmidt, had been studying midcourse navigation for a circumlunar mission since late 1959 and had concluded that the existing tools did not fit the problem: iterative weighted least squares was too heavy for the onboard computers of the era, and Wiener theory could not handle the nonlinear dynamics or the irregular optical sightings the crew would take [3]. In the fall of 1960 Kalman, an acquaintance of Schmidt's who was unaware of the Ames work, arranged a visit and presented his new paper to the group [3]. Schmidt's team combined Kalman's linear theory with the perturbation methods they were already using, split the algorithm into separate time-update and measurement-update steps so measurements could arrive at arbitrary times, and then made the change that mattered most: relinearizing around the current best estimate rather than a fixed reference trajectory. That modification became known as the extended Kalman filter [3]. By early 1961 simulations on an IBM 704 showed the approach could match weighted least squares accuracy with far less onboard memory and computation [3].
The Ames results spread quickly. Richard Battin's group at the MIT Instrumentation Laboratory, which built the Apollo guidance system, adopted the recursive approach for spacecraft navigation, and Battin credited Schmidt in print with the original application of Kalman's work to space navigation [3]. James Potter at MIT devised the first square-root formulation, a numerically robust variant that could run on the short word length of the Apollo onboard computer [3]. Apollo's primary navigation was ultimately done from the ground using radar tracking, a decision supported by Ames filter studies, with the onboard system as backup [3]. Kalman filtering then moved into aircraft: the Lockheed C-5A carried what McGee and Schmidt describe as the first real-time airborne Kalman filter, blending inertial data with other navigation aids, and the first flight test of an airborne square-root filter followed in 1972 [3].
Kalman received the IEEE Medal of Honor in 1974, the Kyoto Prize in 1985, the Draper Prize in 2008, and the National Medal of Science in 2009 [18]. He died in Gainesville, Florida on July 2, 2016 [18].
How it works
The filter assumes a linear state-space model. The state is a vector x that captures whatever the system needs to remember, such as position and velocity. Between steps the state evolves as x(k) = F x(k-1) + w, where F is the transition matrix and w is process noise with covariance Q. Sensors deliver measurements z(k) = H x(k) + v, where H maps states to measurements and v is measurement noise with covariance R [1][4]. The filter maintains two objects: the state estimate itself and a covariance matrix P that quantifies how uncertain the estimate is. Because the model is Markovian, these two objects summarize everything the past has to say about the present, which is what makes the recursion possible [4].
Each cycle has two steps [3][4]:
| Step | What happens |
|---|---|
| Predict (time update) | The estimate is pushed forward through the dynamics (multiply by F), and the covariance P grows by the process noise Q. Uncertainty accumulates while no measurement arrives. |
| Update (measurement update) | The filter forms the innovation, the difference between the actual measurement and the measurement predicted from the state. It computes the Kalman gain K = P Hᵀ (H P Hᵀ + R)⁻¹, adds K times the innovation to the state estimate, and shrinks the covariance accordingly. |
The gain is the heart of the algorithm. It compares the filter's own uncertainty P against the sensor's uncertainty R and sets the blend automatically: noisy sensors get a small gain and barely move the estimate, precise sensors get a large gain and dominate it. When the model is linear and both noises are Gaussian, the posterior distribution over the state stays exactly Gaussian, and the Kalman recursions propagate its mean and covariance without any approximation; the filter is the closed-form solution of the Bayesian filtering equations [4]. The filter can also be derived without any Gaussian assumptions at all, as the best linear unbiased estimator of the state [4].
Filtering answers the online question: what is the state now, given measurements up to now. When the whole measurement record is available afterward, a companion algorithm can revisit each time step using future data as well. The standard version is the Rauch-Tung-Striebel smoother, published by Rauch, Tung, and Striebel in 1965 as a backward sweep over the Kalman filter's stored outputs [8].
Nonlinear and large-scale variants
Real systems are rarely linear, and the most consequential extensions of the filter deal with that.
| Variant | Introduced | Key idea |
|---|---|---|
| Kalman-Bucy filter | 1961 | Continuous-time formulation of the original discrete filter [2] |
| Extended Kalman filter (EKF) | early 1960s | Linearize the nonlinear dynamics and measurement functions around the current estimate at every step [3] |
| Square-root filters | 1960s | Propagate a factor of the covariance instead of the covariance itself for numerical stability on short-word-length hardware [3] |
| Rauch-Tung-Striebel smoother | 1965 | Backward pass that refines filtered estimates using later measurements [8] |
| Particle filter | 1993 | Represent an arbitrary, possibly multimodal posterior with weighted random samples [6] |
| Ensemble Kalman filter (EnKF) | 1994 | Replace the covariance matrix with the spread of a Monte Carlo ensemble of model runs [7] |
| Unscented Kalman filter (UKF) | 1997 | Propagate a small set of deterministically chosen sigma points through the exact nonlinear functions instead of linearizing [5] |
The EKF, born in the Apollo feasibility studies at Ames, is still the default tool for mildly nonlinear problems such as integrated navigation [3][19]. Its weakness is the linearization itself: when the dynamics curve sharply between updates, the Jacobian approximation degrades and the filter can diverge. Simon Julier and Jeffrey Uhlmann's unscented filter avoids Jacobians entirely by pushing a handful of carefully placed sample points through the true nonlinear functions and refitting a Gaussian to the results, which captures the transformed mean and covariance more faithfully at similar cost [5]. Gordon, Salmond, and Smith's bootstrap particle filter goes further and abandons the Gaussian form altogether, at the price of simulating many samples [6]. Geir Evensen's ensemble Kalman filter was designed for the opposite regime, states with millions of dimensions: it estimates the forecast error statistics from an ensemble of model runs and is a standard tool in weather and ocean data assimilation [7].
Applications
Navigation and sensor fusion
The filter's original domain remains its biggest. In an integrated navigation system, an inertial measurement unit provides high-rate but drifting dead reckoning, while GNSS fixes arrive more slowly and can drop out in tunnels and urban canyons; a navigation Kalman filter is the standard machinery for fusing the two, estimating errors in the vehicle's position, velocity, and attitude together with the IMU's own gyroscope and accelerometer errors in a single state vector [19]. The same sensor fusion pattern, high-rate proprioception corrected by lower-rate absolute references, runs from Apollo-era spacecraft and the C-5A to modern road vehicles [3][19].
Robotics and SLAM
State estimation is a core problem in robotics, and the Kalman filter shaped how the field formulated it. The EKF-SLAM framework grew out of Randall Smith, Matthew Self, and Peter Cheeseman's work in the 1980s on estimating uncertain spatial relationships, which put the robot pose and landmark positions into one jointly Gaussian state [9]. Durrant-Whyte and Bailey's 2006 tutorial describes the EKF as one of the two classical solutions to SLAM, alongside particle methods [10]. Andrew Davison's MonoSLAM, an EKF over camera pose and sparse scene points, demonstrated real-time SLAM from a single ordinary camera [11]. The quadratic growth of the covariance matrix with map size pushed later SLAM systems toward graph-optimization back ends, but filtering survives at the front of the pipeline: the multi-state constraint Kalman filter (MSCKF) of Mourikis and Roumeliotis is a widely used EKF formulation for visual-inertial odometry, tracking camera motion without keeping landmarks in the state [12].
Object tracking in computer vision
Tracking-by-detection systems in computer vision lean on the Kalman filter as their motion model. SORT (Simple Online and Realtime Tracking, 2016) pairs a constant-velocity Kalman filter for each object with the Hungarian algorithm for assigning new detections to existing tracks; the tracker itself updates at 260 Hz, which its authors reported as over 20 times faster than other state-of-the-art trackers, because the filter does so little work per frame [13]. DeepSORT extends it with a learned appearance embedding to survive occlusions, cutting identity switches by about 45 percent while keeping the same Kalman filtering core [14]. Descendants of this recipe remain standard baselines in multi-object tracking benchmarks.
Autonomous driving
Self-driving stacks fuse camera, radar, lidar, GNSS, and IMU data, and the fusion can happen at several levels, from raw signals up to independently processed object tracks [15]. Kalman variants remain conventional tools inside this machinery. In high-level fusion architectures, for example, each sensor runs its own processing and a nonlinear Kalman filter then fuses the separately processed radar and lidar data into detected, tracked obstacles [15], while the ego vehicle's own position, velocity, and attitude come from the same GNSS/INS Kalman filtering used in other vehicles [19].
Relation to hidden Markov models and learned filters
The Kalman filter and the hidden Markov model are the same idea instantiated over different state types. Both posit a latent state that evolves with the Markov property and is observed only through noisy emissions; the HMM's forward algorithm and the Kalman filter are the corresponding exact inference recursions, one summing over discrete states, the other propagating a Gaussian over continuous ones. Roweis and Ghahramani's unifying review works this out explicitly, deriving the Kalman filter, the HMM, factor analysis, PCA, and mixture models from a single linear-Gaussian generative framework [16]. The same state-space viewpoint underlies much of modern sequence modeling.
That structural clarity has made the filter a natural scaffold for machine learning. KalmanNet (2021) keeps the predict-and-update flow of the classical filter but replaces the gain computation with a recurrent neural network, which lets the filter cope with model mismatch and unknown noise statistics; its authors report that it outperforms classical filters when the assumed dynamics are wrong or only partially known [17]. Work in this vein, sometimes called differentiable or learned filtering, aims to keep the data efficiency and interpretability of the probabilistic recursion while learning the parts that are hard to specify by hand [17].
Limitations
The filter's guarantees are exactly as strong as its assumptions. The model must be linear (or close enough after linearization), the noises white and mutually uncorrelated with known covariances, and the initial uncertainty Gaussian [4]. In practice Q and R are tuning knobs as much as measured quantities, and a badly chosen Q is a classic failure mode: the Ames engineers documented early on that after a run of accurate measurements the covariance can collapse until the filter effectively ignores new data and diverges from the true state, a problem they countered by injecting artificial process noise [3]. Model mismatch, not arithmetic, is the usual culprit when a Kalman filter fails.
Numerics matter too. Repeated covariance updates can destroy symmetry and positive definiteness in finite precision, which is why square-root formulations were developed for Apollo and, once the C-5A effort had shown how much ad hoc patching the standard algorithm needed on small flight computers, for airborne navigation generally; McGee and Schmidt saw ample reasons for using them in all future applications [3]. Cost is the final constraint: the covariance update scales roughly with the cube of the state dimension, which is trivial for a six-state navigation filter, painful for a large SLAM map [10], and impossible for the million-dimensional states of weather models, which is precisely the gap ensemble methods were invented to fill [7].
See also
References
- ^Kalman, R. E. "A New Approach to Linear Filtering and Prediction Problems." Journal of Basic Engineering, vol. 82, no. 1, 1960, pp. 35-45. doi.org/...1.3662552
- ^Kalman, R. E., and Bucy, R. S. "New Results in Linear Filtering and Prediction Theory." Journal of Basic Engineering, vol. 83, no. 1, 1961, pp. 95-108. doi.org/...1.3658902
- ^McGee, L. A., and Schmidt, S. F. "Discovery of the Kalman Filter as a Practical Tool for Aerospace and Industry." NASA Technical Memorandum 86847, November 1985. ntrs.nasa.gov/...19860003843
- ^Särkkä, S. Bayesian Filtering and Smoothing. Cambridge University Press, 2013. users.aalto.fi/...cup_book_online_20131111.pdf
- ^Julier, S. J., and Uhlmann, J. K. "New Extension of the Kalman Filter to Nonlinear Systems." Proceedings of SPIE 3068, Signal Processing, Sensor Fusion, and Target Recognition VI, 1997. doi.org/...12.280797
- ^Gordon, N. J., Salmond, D. J., and Smith, A. F. M. "Novel Approach to Nonlinear/Non-Gaussian Bayesian State Estimation." IEE Proceedings F (Radar and Signal Processing), vol. 140, no. 2, 1993, pp. 107-113. doi.org/...ip-f-2.1993.0015
- ^Evensen, G. "Sequential Data Assimilation with a Nonlinear Quasi-Geostrophic Model Using Monte Carlo Methods to Forecast Error Statistics." Journal of Geophysical Research: Oceans, vol. 99, no. C5, 1994, pp. 10143-10162. doi.org/...94JC00572
- ^Rauch, H. E., Tung, F., and Striebel, C. T. "Maximum Likelihood Estimates of Linear Dynamic Systems." AIAA Journal, vol. 3, no. 8, 1965, pp. 1445-1450. doi.org/...3.3166
- ^Smith, R., Self, M., and Cheeseman, P. "Estimating Uncertain Spatial Relationships in Robotics." In Autonomous Robot Vehicles, Springer, 1990, pp. 167-193. doi.org/...978-1-4613-8997-2_14
- ^Durrant-Whyte, H., and Bailey, T. "Simultaneous Localization and Mapping: Part I." IEEE Robotics and Automation Magazine, vol. 13, no. 2, 2006, pp. 99-110. doi.org/...MRA.2006.1638022
- ^Davison, A. J., Reid, I. D., Molton, N. D., and Stasse, O. "MonoSLAM: Real-Time Single Camera SLAM." IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 29, no. 6, 2007, pp. 1052-1067. doi.org/...TPAMI.2007.1049
- ^Mourikis, A. I., and Roumeliotis, S. I. "A Multi-State Constraint Kalman Filter for Vision-Aided Inertial Navigation." Proceedings of the 2007 IEEE International Conference on Robotics and Automation, 2007. doi.org/...ROBOT.2007.364024
- ^Bewley, A., Ge, Z., Ott, L., Ramos, F., and Upcroft, B. "Simple Online and Realtime Tracking." arXiv, 2016. arxiv.org/...1602.00763
- ^Wojke, N., Bewley, A., and Paulus, D. "Simple Online and Realtime Tracking with a Deep Association Metric." arXiv, 2017. arxiv.org/...1703.07402
- ^Yeong, D. J., Velasco-Hernandez, G., Barry, J., and Walsh, J. "Sensor and Sensor Fusion Technology in Autonomous Vehicles: A Review." Sensors, vol. 21, no. 6, 2021, article 2140. doi.org/...s21062140
- ^Roweis, S., and Ghahramani, Z. "A Unifying Review of Linear Gaussian Models." Neural Computation, vol. 11, no. 2, 1999, pp. 305-345. doi.org/...089976699300016674
- ^Revach, G., Shlezinger, N., Ni, X., Escoriza, A. L., van Sloun, R. J. G., and Eldar, Y. C. "KalmanNet: Neural Network Aided Kalman Filtering for Partially Known Dynamics." arXiv, 2021 (published in IEEE Transactions on Signal Processing). arxiv.org/...2107.10043
- ^Wikipedia. "Rudolf E. Kálmán." en.wikipedia.org/...Rudolf_E._K%C3%A1lm%C3%A1n
- ^Falco, G., Pini, M., and Marucco, G. "Loose and Tight GNSS/INS Integrations: Comparison of Performance Assessed in Real Urban Scenarios." Sensors, vol. 17, no. 2, 2017, article 255. doi.org/...s17020255
Improve this article
Add missing citations, update stale details, or suggest a clearer explanation. Every suggestion is reviewed for sourcing before it goes live.
v1 · 2,900 words · full history
Fact-checks are independent of edits: a reviewer re-verifies the article against its sources and stamps the date. How we verify
Research and drafting on this wiki are AI-assisted, under named human editorial standards. How AI is used here
Reviewer note: Independent adversarial fact-check at creation (wanted38 campaign, 2026-07-24): every claim verified against primary sources by a dedicated verification agent; corrections applied before publication.
Cite this page: AI Wiki. "Kalman Filter." aiwiki.ai, updated 24 Jul 2026, fact-checked 24 Jul 2026. CC BY 4.0. https://aiwiki.ai/wiki/kalman_filter