Fundamentals of Kalman Filtering: A Practical Approach

Instructor: Paul Zarchan, MIT Lincoln Lab

Daniel Hotel, Herzlia

March 9-11, 2010



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. Attendees will receive a complete set of course notes. The course language is English.



About the Course Instructor:

Paul Zarchan has more than 40 years of experience designing, analyzing, and evaluating missile guidance systems. He has worked as Principal Engineer for Raytheon Mission Systems Division and has served as Senior Research Engineer with the Israel Ministry of Defense and has worked as Principal Member of the Technical Staff at C.S. Draper Laboratory. Mr. Zarchan is currently working on problems related to theater missile defense as a Member of the Technical Staff for MIT Lincoln Laboratory. He is an Associate Fellow of AIAA, author of Tactical and Strategic Missile Guidance, Fourth Edition and co-author of Fundamentals of Kalman Filtering: A Practical Approach Second Edition, both of which are books in the AIAA Progress in Astronautics and Aeronautics Series.



Who Should Attend:

Engineers, scientists, mathematicians, programmers and managers at all levels who work with or need to learn about Kalman filtering. No background in Kalman filtering is assumed. The Kalman Filter is a versatile tool that has found numerous applications in control, navigation, signal processing, computer vision, forecasting, and financial engineering. The course will provide a basic understanding of the Kalman Filter principles and applications, that should be of interest to anyone working in the above-mentioned areas.  Engineers and programmers will find the detailed course material and many source code listings (FORTRAN, MATLAB and TrueBASIC) invaluable for both learning and reference.



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.

1.      Drag and Falling Object. Designing two different extended filters for this problem.

2.      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.

3.      Tracking a Sine Wave. Developing three different extended Kalman filter formulations and comparing performance of each in terms of robustness.

4.      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.

5.      Biases. Filtering techniques for estimating biases in a satellite navigation problem. How adding extra satellite measurements helps alleviate bias problem.

6.      Linearized Kalman Filtering. Develop equations for linearized Kalman filter and illustrate performance with examples. Comparing performances and robustness of linearized and extended Kalman filters.

7.      Miscellaneous Topics. Detecting filter divergence in the real world and a practical illustration of inertial aiding.



Under the auspices of IEEE Israel, CS/CAS Chapter