Kalman Filter Boot Camp (and State Estimation)
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Kalman Filter Boot Camp (and State Estimation)
This course is part of Applied Kalman Filtering Specialization
Instructor: Gregory Plett
4,265 already enrolled
Included with
Learn more
Ask Coursera
26 reviews
Recommended experience
26 reviews
Recommended experience
Skills you'll gain
Tools you'll learn
Details to know
28 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 4 modules in this course
Introduces the Kalman filter as a method that can solve problems related to estimating the hidden internal state of a dynamic system. Develops the background theoretical topics in state-space models and stochastic systems. Presents the steps of the linear Kalman filter and shows how to implement these steps in Octave code and how to evaluate the filterβs output.
This week, you will learn what a Kalman filter is and generally what it does. You will be introduced to the roadmap for the course and the specialization, and will learn some applications that use Kalman filters.
What's included
6 videos11 readings6 assignments1 discussion prompt
6 videosβ’Total 84 minutes
- 1.1.1: Welcome to the course!β’14 minutes
- 1.1.2: What are some key Kalman-filter concepts?β’16 minutes
- 1.1.3: Working through a Kalman-filter example at a high levelβ’16 minutes
- 1.1.4: Roadmap to this course; context within the specializationβ’17 minutes
- 1.1.5: What are some applications that use Kalman filters?β’18 minutes
- 1.1.6: Summary of "What is the Purpose of a Kalman Filter?" module plus next stepsβ’3 minutes
11 readingsβ’Total 92 minutes
- Frequently Asked Questionsβ’10 minutes
- Course Resourcesβ’10 minutes
- How to Use Discussion Forumsβ’10 minutes
- Earn a Course Certificateβ’10 minutes
- Are you interested in earning an online MSEE degree?β’10 minutes
- Notes for Lesson 1.1.1β’1 minute
- Notes for Lesson 1.1.2β’1 minute
- Notes for Lesson 1.1.3β’10 minutes
- Notes for Lesson 1.1.4β’10 minutes
- Notes for Lesson 1.1.5β’10 minutes
- Notes for Lesson 1.1.6β’10 minutes
6 assignmentsβ’Total 80 minutes
- Practice assignment (quiz) for Lesson 1.1.1β’10 minutes
- Practice assignment (quiz) for Lesson 1.1.2β’10 minutes
- Practice assignment (quiz) for Lesson 1.1.3β’10 minutes
- Practice assignment (quiz) for Lesson 1.1.4β’10 minutes
- Practice assignment (quiz) for Lesson 1.1.5β’10 minutes
- Graded assignment for week 1β’30 minutes
1 discussion promptβ’Total 10 minutes
- Introduce Yourselfβ’10 minutes
Kalman filters estimate the "state" of a system that is described using a "state-space model." This week, you will learn the background concepts in state-space models that are required in order to implement a Kalman filter.
What's included
8 videos9 readings8 assignments2 ungraded labs
8 videosβ’Total 183 minutes
- 1.2.1: What is a state-space model and why do I need to know about them?β’19 minutes
- 1.2.2: Example continuous-time state-space models used for tracking applicationsβ’24 minutes
- 1.2.3: Understanding the time-domain response of a state-space modelβ’26 minutes
- 1.2.4: Illustrating the time-domain responseβ’25 minutes
- 1.2.5: Converting continuous-time state-space models to discrete-timeβ’27 minutes
- 1.2.6: How do I simulate a discrete-time state-space model?β’27 minutes
- 1.2.7: Is it even possible for a Kalman filter to estimate this model's state?β’32 minutes
- 1.2.8: Summary of "What do I need to know about state-space models?" module plus next stepsβ’3 minutes
9 readingsβ’Total 90 minutes
- Notes for Lesson 1.2.1β’10 minutes
- Notes for Lesson 1.2.2β’10 minutes
- Introducing a new element to the course!β’10 minutes
- Notes for Lesson 1.2.3β’10 minutes
- Notes for Lesson 1.2.4β’10 minutes
- Notes for Lesson 1.2.5β’10 minutes
- Notes for Lesson 1.2.6β’10 minutes
- Notes for Lesson 1.2.7β’10 minutes
- Notes for Lesson 1.2.8β’10 minutes
8 assignmentsβ’Total 100 minutes
- Practice assignment for Lesson 1.2.1β’10 minutes
- Practice assignment for Lesson 1.2.2β’10 minutes
- Practice assignment for Lesson 1.2.3β’10 minutes
- Practice assignment for Lesson 1.2.4β’10 minutes
- Practice assignment for Lesson 1.2.5β’10 minutes
- Practice assignment for Lesson 1.2.6β’10 minutes
- Practice assignment for Lesson 1.2.7β’10 minutes
- Graded assignment for week 2β’30 minutes
2 ungraded labsβ’Total 30 minutes
- Jupyter notebook used in conjunction with practice quizβ’15 minutes
- Jupyter notebook used in conjunction with practice quizβ’15 minutes
Systems whose state we would like to estimate are affected by unknown inputs ("disturbances" or "process noises") and their measurements are affected by sensor noises. These noises are modeled by random variables. This week, you will learn the background concepts in random variables that are required in order to implement a Kalman filter.
What's included
8 videos8 readings8 assignments1 ungraded lab
8 videosβ’Total 172 minutes
- 1.3.1: Understanding uncertainty via mean and covarianceβ’23 minutes
- 1.3.2: Understanding joint uncertainty of two unknown quantitiesβ’19 minutes
- 1.3.3: Understanding time-varying uncertain quantitiesβ’23 minutes
- 1.3.4: Simulating correlated Gaussian random vectorsβ’28 minutes
- 1.3.5: Discrete-time dynamic systems having random inputsβ’27 minutes
- 1.3.6: Continuous-time dynamic systems having random inputsβ’27 minutes
- 1.3.7: Relating SigmaW to Sw precisely; a little trick (also, relating SigmaV to Sv)β’21 minutes
- 1.3.8: Summary of "What do I need to know about random variables?" module plus next stepsβ’3 minutes
8 readingsβ’Total 80 minutes
- Notes for Lesson 1.3.1β’10 minutes
- Notes for Lesson 1.3.2β’10 minutes
- Notes for Lesson 1.3.3β’10 minutes
- Notes for Lesson 1.3.4β’10 minutes
- Notes for Lesson 1.3.5β’10 minutes
- Notes for Lesson 1.3.6β’10 minutes
- Notes for Lesson 1.3.7β’10 minutes
- Notes for Lesson 1.3.8β’10 minutes
8 assignmentsβ’Total 100 minutes
- Practice assignment for Lesson 1.3.1β’10 minutes
- Practice assignment for Lesson 1.3.2β’10 minutes
- Practice assignment for Lesson 1.3.3β’10 minutes
- Practice assignment for Lesson 1.3.4β’10 minutes
- Practice assignment for Lesson 1.3.5β’10 minutes
- Practice assignment for Lesson 1.3.6β’10 minutes
- Practice assignment for Lesson 1.3.7β’10 minutes
- Graded assignment for week 3β’30 minutes
1 ungraded labβ’Total 15 minutes
- Lab to help computing results for the practice quizβ’15 minutes
Even though we have not yet derived the steps of the Kalman filter, it is instructive to gain insight into a Kalman filter's operation by watching it run. This week, you will learn how to implement a Kalman filter in Octave and see cases where it works well and where it fails (next course, you will learn why!).
What's included
6 videos6 readings6 assignments4 ungraded labs
6 videosβ’Total 69 minutes
- 1.4.1: What are the linear Kalman-filter steps?β’13 minutes
- 1.4.2: Preparing a model for use with the linear Kalman filterβ’15 minutes
- 1.4.3: How do I implement the Kalman-filter steps in Octave?β’18 minutes
- 1.4.4: More Kalman-filter examples for state estimation of a linear systemβ’13 minutes
- 1.4.5: What can cause a Kalman filter to fail?β’8 minutes
- 1.4.6: Summary of "State-estimation application of a Kalman filter" module plus next stepsβ’3 minutes
6 readingsβ’Total 60 minutes
- Notes for Lesson 1.4.1β’10 minutes
- Notes for Lesson 1.4.2β’10 minutes
- Notes for Lesson 1.4.3β’10 minutes
- Notes for Lesson 1.4.4β’10 minutes
- Notes for Lesson 1.4.5β’10 minutes
- Notes for Lesson 1.4.6β’10 minutes
6 assignmentsβ’Total 80 minutes
- Practice assignment for Lesson 1.4.1β’10 minutes
- Practice assignment for Lesson 1.4.2β’10 minutes
- Practice assignment for Lesson 1.4.3β’10 minutes
- Practice assignment for Lesson 1.4.4β’10 minutes
- Practice assignment for Lesson 1.4.5β’10 minutes
- Graded assignment for week 4β’30 minutes
4 ungraded labsβ’Total 80 minutes
- Lab to simulate the spring-mass-damper systemβ’20 minutes
- Lab to implement the linear Kalman filterβ’20 minutes
- Lab to implement open-loop state estimation and demonstrate bad initializationβ’20 minutes
- Lab to demonstrate some causes for Kalman-filter failureβ’20 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Offered by
Explore more from Electrical Engineering
- Status: Free TrialU
University of Colorado System
Course
- Status: Free TrialU
University of Colorado System
Course
- Status: Free TrialU
University of Colorado System
Course
- Status: Free TrialU
University of Colorado System
Specialization
Why people choose Coursera for their career
Learner reviews
- 5 stars
92.30%
- 4 stars
7.69%
- 3 stars
0%
- 2 stars
0%
- 1 star
0%
Showing 3 of 26
Reviewed on Oct 17, 2025
Very clear explanation of mathematical concepts required for understanding of linear Kalman filters. Thanks!
Reviewed on Mar 10, 2026
Great overview of the basic math elements to understand what the KF does. I would add some programming assignment besides the quizzes to enforce deeper understanding of the concepts.
Reviewed on May 22, 2026
Great course, but it is advanced. You need a decent math background: calculus, linear algebra, probability and somewhat of differential equations.
Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you canβt afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, youβll find a link to apply on the description page.
More questions
Financial aid available,
