Fundamentals of Kalman Filtering: A Practical Approach

ATI Courses Logo

Broaden Your Knowledge & Increase Productivity

Training Rocket Scientists Since 1984

(410) 956-8805
(888) 501-2100

Fundamentals of Kalman Filtering: A Practical Approach


In this intensive 3-day course a pragmatic and non intimidating approach is taken in showing participants how to build both linear and extended Kalman filters by using numerous simplified but non trivial examples. Sometimes mistakes are intentionally introduced in some filter designs in order to show what happens when a Kalman filter is not working properly. Design examples are approached in several different ways in order to show that filtering solutions are not unique and also to illustrate various design tradeoffs. The course is constructed so that participants with varied learning styles will find the courses practical approach to filter design to be both useful and refreshing.

Key Topics:

  • Learn how to build both linear and extended Kalman filters
  • How process noise can save many filter designs from failing
  • Why some choices of filter states are better than others
  • Advantages and disadvantages of filtering in different coordinate systems
  • Why linear filters are sometimes better than extended filters for some nonlinear problems
  • Use source code to explore issues beyond the scope of the course

Who Should Attend:

    Managers, scientists, mathematicians, engineers and programmers at all levels who work with or need to learn about Kalman filtering. No background in Kalman filtering is assumed. The heuristic arguments and numerous examples will give managers an appreciation for Kalman filtering so that they can interact effectively with specialists. Engineers and programmers will find the detailed course material and many source code listings (FORTRAN, MATLAB and TrueBASIC) invaluable for both learning and reference. Attendees will receive a complete set of course notes.

Course Outline:

  1. Numerical Techniques. Presentation of the mathematical background required for working with Kalman filters. Numerous examples to illustrate all important techniques.
  2. Method of Least Squares. How to build a batch processing least squares filter using the original method developed by Gauss. Illustration of various properties of the least squares filter.
  3. Recursive Least Squares Filtering. How to make the batch processing least squares filter recursive. Develop closed-form solutions for the variance reduction and truncation error growth associated with different order filters.
  4. Polynomial Kalman Filters. Showing the relationship between recursive least squares filtering and Kalman filtering. How to apply Kalman filtering and Riccati equations to different real world problems with several examples.
  5. Kalman Filters in a Non Polynomial World. How polynomial Kalman filters perform when they are mismatched to real world. How process noise can fix broken filters.
  6. Continuous Polynomial Kalman Filter. Illustrating the relationship between continuous and discrete Kalman filters. Examples of how continuous filters can be used to help understand discrete filters through such concepts as transfer function and bandwidth.
  7. Extended Kalman Filtering. How to apply extended Kalman filtering and Riccati equations to a practical nonlinear problem in tracking. Showing what can go wrong with several different design approaches and how to get designs to work. Why choice of states can be important in a nonlinear filtering problem.
  8. Drag and Falling Object. Designing two different extended filters for this problem.
  9. Cannon Launched Projectile Tracking Problem. Developing extended filters in the Cartesian and polar coordinate systems and comparing performance. Showing why one must not always pay attention to the academic literature. Comparing extended and linear Kalman filters in terms of performance and robustness.
  10. Tracking a Sine Wave. Developing three different extended Kalman filter formulations and comparing performance of each in terms of robustness.
  11. Satellite Navigation (Two-Dimensional GPS Examples). Determining receiver location based on range measurements to several satellites. Showing how receiver location can be determined without any filtering at all. How satellite spacing influences performance. Illustration of filter performance for both stationary and moving receivers.
  12. Biases. Filtering techniques for estimating biases in a satellite navigation problem. How adding extra satellite measurements helps alleviate bias problem.
  13. Linearized Kalman Filtering. Develop equations for linearized Kalman filter and illustrate performance with examples. Comparing performances and robustness of linearized and extended Kalman filters.
  14. Miscellaneous Topics. Detecting filter divergence in the real world and a practical illustration of inertial aiding.
  15. Fixed Memory Filter. A fixed memory filter remembers a finite number of measurements from the past and can easily be constructed from a batch processing least squares filter. The performance of the fixed memory filter will be compared to a Kalman filter
  16. Chain Rule and Least Squares Filtering. We shall study the chain rule from calculus and see how it related to the method of least squares. Simple examples will be present showing the equivalence between the two approaches. Finally, a 3 dimensional GPS example will be used to show how the chain rule method is used in practice to either initialize an extended Kalman filter or to avoid filtering.
  17. Multiple Model Filters For Estimating Frequency of Sinusoid. We shall show how a bank of linear sine wave Kalman filters, each one tuned to a different sine wave frequency, can also be used to estimate the actual sine wave frequency and obtain estimates of the states of the sine wave when the measurement noise is low. The technique makes use of Bayes’s rule and the likelihood function to estimate sine wave frequency from a filter bank.

    This course is not on the current schedule of open enrollment courses. If you are interested in attending this or another course as open enrollment, please contact us at (410) 956-8805 or at and indicate the course name and number of students who wish to participate. ATI typically schedules open enrollment courses with a lead time of 3-5 months. Group courses can be presented at your facility at any time. For on-site pricing, request an on-site quote. You may also call us at (410) 956-8805 or email us at

Register Now Without Obligation.


Paul Zarchan has more than 40 years of experience designing, analyzing, and evaluating missile guidance systems. He has worked as Principal Engineer for Raytheon Missile Systems Division, has served as Senior Research Engineer with the Israel Ministry of Defense and was a Principal Member of the Technical Staff for C.S. Draper Laboratory. Mr. Zarchan is currently a Member of the Technical Staff at MIT Lincoln Laboratory and is working on problems related to missile defense. He is the author of Tactical and Strategic Missile Guidance, Fifth Edition and the co-author of Fundamentals of Kalman Filtering: A Practical Approach, Third Edition.

Contact this instructor (please mention course name in the subject line)