The Kalman Filter

Some tutorials, references, and research on the Kalman filter.

This site is maintained by Greg Welch and Gary Bishop, faculty members of the Department of Computer Science at the University of North Carolina at Chapel Hill. Please send additions or comments.

For PDF file viewing.


News & Events


  • [September 30, 2004] With IEEE permission, added an electronic copy of H. W. Sorenson's 1970 IEEE Spectrum article "Least-squares estimation: from Gauss to Kalman."
  • [September 19, 2004] Added information on several upcoming Kalman filter courses including offerings from AIAA and the Applied Technology Institute. See Courses below.
  • [June 28, 2004] Updated information for semiannual course by M. S. Grewal. Next offering is January, 2005.


Quick Links


R.E. Kalman Introductory Paper Java-Based Learning Tool Printed Material Courses Other Sites Software Research & Applications


Reference


Rudolph E. Kalman

  • The man himself, R. E. Kalman, and a little biographical information.
  • More information, thanks to Eduardo Sontag, a former student of R.E. Kalman's.
  • His seminal (1960) paper.

Printed Reference Material

  • For beginners, we highly recommend reading Chapter 1 of this book by Peter S. Maybeck on the subjects of stochastic models, estimation, and control. Although the remaining chapters may appear daunting, the book is thorough and complete.
  • For a somewhat more advanced presentation, we have written "An Introduction to the Kalman Filter," and a more substantial course pack (booklet) for our tutorial on the Kalman filter presented at ACM SIGGRAPH 2001. (Please read the ACM Copyright Notice for the latter.)
  • In addition, here are several other Kalman filter books, and several of the sites below provide reading lists.
  • Kalman's seminal paper (1960).
  • Sorenson's "Gauss to Kalman" article (1970).

Courses

  • November 1-3, 2004, Reston, Virginia, USA
    • Fundamentals of Kalman Filtering
      Paul Zarchan, MIT Lincoln Laboratory
  • January 17-21, 2005, Fullerton Marriott Hotel, California, USA
    • Application of Kalman Filtering to GPS, INS, & Navigation
      Dr. M. S. Grewal, California State University, Fullerton
  • February 7-9, 2005, Colorado Springs, Colorado, USA
    • Radar Tracking, Kalman Filtering & Data Fusion
      Stan Silberman, ATI Courses
  • March 14-16, 2005, Beltsville, Maryland, USA
    • Applications Oriented Kalman Filtering
      Dr. C. Allen Butler, Dr. Donald A. Kelly, ATI Courses
  • March 21-23, 2005, Beltsville, Maryland, USA
    • Radar Tracking, Kalman Filtering & Data Fusion
      Stan Silberman, ATI Courses
  • At ACM SIGGRAPH 2001 we presented a tutorial on the Kalman filter. (Please read the ACM Copyright Notice.)

Other Sites and Electronic Reference

  • "An Introduction to the Kalman Filter" by Greg Welch and Gary Bishop.
  • Course notes from our tutorial on the Kalman filter presented at ACM SIGGRAPH 2001. (Please read the ACM Copyright Notice.)
  • Slides from an older introductory talk by Greg Welch and Gary Bishop.
  • Our very own Java-based Kalman Filter Learning Tool.
  • In a 1997 Innovation column of GPS World, Larry J. Levy wrote a very nice introduction to the Kalman filter titled "The Kalman Filter: Navigation's Integration Workhorse." (Also available as PDF file.) Levy provides some historical perspective, a non-mathematical explanation, and of course a mathematical explanation with examples.
  • Kevin Murphy, a postdoc in the MIT AI Lab, has a nice Kalman filter web page. There he provides several MatLab toolboxes, including a Kalman filter toolbox. (MatLab is a product of The MathWorks.)
  • Eric Wan, Rudolph van der Merwe, and their Neural Speech Enhancement group (Center for Spoke Language and Understanding at OGI) maintain a very nice web site on signal processing research including work on Unscented Kalman Filters. (The idea for the UKF was originally introduced by Simon Julier and Jeff Uhlmann.) Their site contains papers and some MatLab toolkit of functions and scripts for the Kalman filter, particle filters (in general), and the Unscented Kalman Filter. (MatLab is a product of The MathWorks.) Here are the slides from a June 2002 talk Rudolph gave at a CSLU weekly seminar.
  • "Engineers Look to Kalman Filtering for Guidance," an article by Barry Cipra, SIAM News, Vol. 26, No. 5, August 1993.
  • Innovatia Software's Kalman Filtering Page, provided by Dr. Dan Simon.
  • Peter D. Joseph's Home Page containing material on Kalman filters.
  • Intel's OpenCV Reference Manual includes some introductory Kalman filter prose and library functions.
  • R. W. R. Darling has a very nice online survey of nonlinear filtering.
  • Harmonic Software sells a Kalman Filter Interface Pack (KBF) for their O-Matrix product. KBF is a GUI-based environment for graphically designing, building, and analyzing Kalman filters using the Kalman filter functions available in O-Matrix.
  • Jean-Philippe Drecourt, a PhD student working on the DHI Data Assimilation in Hydrological and Hydrodynamic Models site project, wrote a literature review on Kalman filtering with references to hydrological modelling. He reviews the Kalman filter itself, and some of the most important suboptimal schemes.

Software

  • A zip file of some MatLab source code for a prototype of our Java-based Kalman Filter Learning Tool.
  • Chapter 19 of Intel's OpenCV Reference Manual includes some Kalman Filter functions accompanied by some introductory prose. The entire library can be downloaded after agreeing to their license. The home page for the site is here.
  • Michael Stevens (a Senior Research Engineer at the Australian Centre for Field Robotics) has developed a nice library of C++ Bayesian Filtering Classes. The classes represent and implement a wide variety of numerical estimation algorithms for Bayesian/Kalman Filtering. The classes provide tested and consistent numerical methods and the class hierarchy explicitly represents the variety of filtering algorithms and model types.
  • Kevin Murphy (see above) provides several MatLab toolboxes, including a Kalman filter toolbox. (MatLab is a product of The MathWorks.)
  • Magnus Norgaard provides a MATLAB toolbox for design of Kalman filters for nonlinear systems. There you will find implementations of a new (and clever!) filter that performs very well and is easy to use compared to, e.g., the extended Kalman filter. (MatLab is a product of The MathWorks.)
  • The DHI Data Assimilation in Hydrological and Hydrodynamic Models site includes their DAIHM Matlab toolbox. The toolbox is designed for data assimilation and ensemble modelling. Even though the toolbox has been developped for hydrological models, they believe it is very general and can be used in other domains/applications.
  • Got an HP 48G graphing calculator? Martin Murillo of Idaho State University has written some Kalman filter code for you.
  • Navtech sells some Kalman filtering software tools developed by Lupash Consulting.
  • Eric Wan and Rudolph van der Merwe (see above) maintain a MatLab toolkit of functions and scripts for the Kalman filter, particle filters (in general), and the Unscented Kalman Filter. (MatLab is a product of The MathWorks.)
  • Klaas Gadeyne, a Ph.D. student in the Mechanical Engineering Robotics Research Group at K.U.Leuven, has developed a C++ Bayesian Filtering Library that includes software for Sequential Monte Carlo methods, Kalman filters, particle filters, etc.

Research & Applications

  • Here at UNC we are using an Kalman filters and related estimators to track users' heads and limbs in virtual environments. See for example our 1997 ACM SIGGRAPH paper and our 2001 Presence journal article.
  • Simon Julier and Jeff Uhlmann have done some great work on nonlinear filtering. In particular check out “A New Extension of the Kalman Filter to Nonlinear Systems,” SPIE AeroSense Symposium, April 21–24, 1997. Orlando, FL, SPIE. In addition here are some other papers on non-linear filtering work by Simon and Jeff.
  • The kalman filter has been used extensively for data fusion in navigation, but Joost van Lawick shows an example of scene modeling with an extended Kalman filter.
  • Hugh Durrant-Whyte and researchers at the Australian Centre for Field Robotics do all sorts of interesting and impressive research in data fusion, sensors, and navigation. Browse their publications for related articles.
  • From Zhengyou Zhang's Image and Vision Computing Journal paper (1996) "Parameter Estimation Techniques: A Tutorial with Application to Conic Fitting," some information about the Kalman filter as applied to image processing.
  • The Danish organization DHI, maintains a relevant site on their Data Assimilation in Hydrological and Hydrodynamic Models project. There you will find results of their work, publications, and their DAIHM Matlab toolbox. (See above in "Software" for more information.)
  • Dr. Stephen Pollock (Department of Economics, Queen Mary, University of London) is investigating the use of signal processing and stochastic estimation in economics. For example, he is investigating the use of filters (including the Kalman filter) on short non-stationary econometric data sequences to extract such components as the trends and seasonal fluctuations.
  • Bjarne Hansen and colleagues at the Meteorological Service of Canada (Français) are working on an "Ensemble Kalman Filter" (Français) for assimilation of observations in atmospheric models.

Site Meter

<a href="http://sm4.sitemeter.com/stats.asp?site=sm4kalmanfilter" target="_top"><img src="http://sm4.sitemeter.com/meter.asp?site=sm4kalmanfilter" alt="Site Meter" border="0"></a>  accesses since March 24, 1997. Click the Site Meter icon to view more detailed statistics.

Return to Greg Welch's home page.

Last modified: Tuesday, October 5, 2004