Kalman filter
The Kalman filter (named after its inventor, Rudolf Kalman) is an efficient recursive computational solution for tracking a time-dependent state vector with noisy equations of motion in real time by the least-squares method. It is used to separate signal from noise so as to optimally predict changes in a modeled system with time. Kalman filtering is an important topic in control theory and control systems engineering. It is in a wide range of engineering applications from radar to computer vision. The filter was developed in papers by Swerling (1958), Kalman (1960) and Kalman and Bucy (1961).
Peter Swerling actually developed a similar algorithm earlier. Stanley Schmidt is generally credited with developing the first implementation of a Kalman filter. It was during a visit of Kalman to the NASA Ames Research Center that he saw the applicability of his ideas to the problem of trajectory estimation for the Apollo program, leading to its incorporation in the Apollo navigation computer.
A wide variety of Kalman filters have now been developed, from Kalman's original formulation, now called the simple Kalman filter, to Schmidt's extended filter, the information filter, and a variety of square-root filters, developed by Bierman, Thornton and many others. Perhaps the most commonly used type of Kalman filter is the phase-locked loop now ubiquitous in radios, computers, and nearly any other type of video or communications equipment.
Implementations and examples
The Kalman filter is a recursive (meaning data is processed as it arrives, not in batches), unbiased (estimation error is assumed [assumed??] to have zero mean), minimum variance (accuracy is the highest achievable) and consistent (estimation error is white with zero mean and variance equal to that calculated by the filter) [1] (http://www.uno.edu/~SAGES/publications/PractitionersKalman.PDF) The filter relies on knowledge of the error and noise statistics of the system. If these are known perfectly, the filter is optimal.
Linear Kalman filter
| Symbol | Name | Description | Type |
|---|---|---|---|
| n | Number of states | Positive integer | |
| m | Number of inputs | Positive integer | |
| l | Number of measurements per time sample | Positive integer | |
| x | Data point | A point in state space | Vector, dim n×1 |
| y | Measured point | Vector, dim | |
| STM | State transition matrix | Relates state in previous time to current state | Matrix, dimensions n×n |
One-dimensional case
- to be written
Multidimensional case
- to be written
Extended Kalman filter
- to be written
Applications
- to be written
References
- Kalman, R. E. A New Approach to Linear Filtering and Prediction Problems, Transactions of the ASME - Journal of Basic Engineering Vol. 82: pp. 35-45 (1960)
- Kalman, R. E., Bucy R. S., New Results in Linear Filtering and Prediction Theory, Tranactions of the ASME - Journal of Basic Engineering Vol. 83: pp. 95-107 (1961)
See also
Compare with: Wiener filter
External links
- Kalman Filters, thorough introduction to several types, together with applications to Robot Localization (http://www.negenborn.net/kal_loc/)
- The Kalman Filter (http://www.cs.unc.edu/~welch/kalman/)
- Kalman Filtering (http://www.innovatia.com/software/papers/kalman.htm)
- Kalman filters (http://ourworld.compuserve.com/homepages/PDJoseph/kalman.htm)