Kalman Filter Tutorial

"The road to learning by precept is long, by example short and effective."

Lucius Seneca

About this tutorial

Before exploring the Kalman Filter, let me briefly introduce this tutorial.

Back in 2017, I created an online tutorial based on numerical examples and intuitive explanations to make the topic more accessible and understandable. The online tutorial provides introductory material covering the univariate (one-dimensional) and multivariate (multidimensional) Kalman Filters.

Over time, I have received many requests to include more advanced topics, such as non-linear Kalman Filters (Extended Kalman Filter and Unscented Kalman Filter), sensor fusion, and practical implementation guidelines.

Based on the material covered in the online tutorial, I authored a book.

The original online tutorial is available for free access. The e-book and the source code (Python and MATLAB) for the numerical examples are available for purchase.

The book takes the reader from the basics to the advanced topics, covering both theoretical concepts and practical applications. The writing style is intuitive, prioritizing clarity of ideas over mathematical rigor, and it approaches the subject from a philosophical perspective before delving into quantification.

The book contains many illustrative examples, including 14 fully solved numerical examples with performance plots and tables. Examples progress in a paced, logical manner and build upon each other.

The book also includes the necessary mathematical background, providing a solid foundation to expand your knowledge and help you overcome your math fears.

Upon finishing this book, you will be able to design, simulate, and evaluate the performance of the Kalman Filter.

The book includes four parts:

  • Part 1 serves as an introduction to the Kalman Filter, using eight numerical examples, and doesn't require any prior mathematical knowledge. You can call it "The Kalman Filter for Dummies," as it aims to provide an intuitive understanding and develop "Kalman Filter intuition." Upon completing Part 1, readers will thoroughly understand the Kalman Filter's concept and be able to design a univariate (one-dimensional) Kalman Filter.
    Most of this part is available for free access!
  • Part 2 presents the Kalman Filter in matrix notation, covering the multivariate (multidimensional) Kalman Filter. It includes a mathematical derivation of Kalman Filter equations, dynamic systems modeling, and two numerical examples. This section is more advanced and requires basic knowledge of Linear Algebra (only matrix operations). Upon completion, readers will understand the math behind the Kalman Filter and be able to design a multivariate Kalman Filter.
    Most of this part is available for free access!
  • Part 3 is dedicated to the non-linear Kalman Filter, which is essential for mastering the Kalman Filter since most real-life systems are non-linear. This part begins with a problem statement and describes the differences between linear and non-linear systems. It includes derivation and examples of the most common non-linear filters: the Extended Kalman Filter and the Unscented Kalman Filter.
  • Part 4 contains practical guidelines for Kalman Filter implementation, including sensor fusion, variable measurement uncertainty, treatment of missing measurements, treatment of outliers, and the Kalman Filter design process.
Kalman Filter Book
Example-driven guide to Kalman Filter

About the author

My name is Alex Becker, and I am a radar engineer with over 20 years of experience in wireless technologies, specializing in system engineering, signal processing, and Kalman Filters for tracking applications. Throughout my career, I’ve honed the skill of explaining complex topics in a simple way, making advanced concepts easier to grasp.

Constructive criticism is always welcome. I would greatly appreciate your comments and suggestions. The book's third edition has been enriched based on your insights, offering more comprehensive explanations for challenging topics. Please don't hesitate to email me with your thoughts.

The numerical examples in this tutorial do not exemplify any modes, methodologies, techniques, or parameters employed by any operational system known to the author.
Alex Becker

About the Kalman Filter

Many modern systems utilize multiple sensors to estimate hidden (unknown) states through a series of measurements. For instance, a GPS receiver can estimate location and velocity, where location and velocity represent the hidden states, while the differential time of the arrival of signals from satellites serves as measurements.

One of the biggest challenges of tracking and control systems is providing an accurate and precise estimation of the hidden states in the presence of uncertainty. For example, GPS receivers are subject to measurement uncertainties influenced by external factors, such as thermal noise, atmospheric effects, slight changes in satellite positions, receiver clock precision, and more.

The Kalman Filter is a widely used estimation algorithm that plays a critical role in many fields. It is designed to estimate the hidden states of the system, even when the measurements are imprecise and uncertain. Also, the Kalman Filter predicts the future system state based on past estimations.

The filter is named after Rudolf E. Kálmán (May 19, 1930 – July 2, 2016). In 1960, Kálmán published his famous paper describing a recursive solution to the discrete-data linear filtering problem.

Rudolf E. Kálmán

The following sections explain the Kalman Filter operation through practical examples, which demonstrate its fundamental concepts. The examples start with basic concepts and progress through each step to show how the filter works. The mathematical development begins with one-dimensional equations to simplify understanding before moving to the general multi-dimensional case.

Next