Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Syllabus for

Academic year
SSY320 - Sensor fusion and nonlinear filtering
Syllabus adopted 2014-02-25 by Head of Programme (or corresponding)
Owner: MPSYS
7,5 Credits
Grading: TH - Five, Four, Three, Not passed
Education cycle: Second-cycle
Major subject: Automation and Mechatronics Engineering, Computer Science and Engineering, Electrical Engineering

The current course round has limited places. Please contact the student center if you are not able to add the course to your selection.
Teaching language: English
Block schedule: B

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0114 Project 3,0 c Grading: TH   3,0 c    
0214 Written and oral assignments 4,5 c Grading: TH   4,5 c    

In programs



Bitr professor  Lennart Svensson

  Go to Course Homepage


In order to be eligible for a second cycle course the applicant needs to fulfil the general and specific entry requirements of the programme that owns the course. (If the second cycle course is owned by a first cycle programme, second cycle entry requirements apply.)
Exemption from the eligibility requirement: Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling these requirements.

Course specific prerequisites

Students must have passed SSY130 Applied Signal Processing, or a similar course. This implies working knowledge of basic probability, statistics, and linear algebra. Basic MATLAB programming skills are also required in order to complete the home assignments and the course projects.


The purpose with this course is to give a thorough introduction to sensor fusion in time-varying settings (also known as filtering or smoothing), i.e., how to perform state estimation using a variety of sensors. Such methods continue to receive considerable attention due to their high versatility; famous examples include that they enabled the landing on the moon and that they are currently important for the development of self-driving cars.

In the course we emphasize on positioning of vehicles, people, mobile phones, robots, etc, though the potential applications go way beyond that. The intention with the course is to provide a solid theoretical background and to give hands-on experience on how to apply the techniques to solve problems of practical importance.

Learning outcomes (after completion of the course the student should be able to)

After the course, students should be able to

  • explain the fundamental principles in Bayesian estimation
  • describe and model commonly used sensors' measurements
  • summarize and compare the most typical motion models in positioning in order to know when to use them in practical problems
  • derive the expression for an optimal filter
  • describe the essential properties of the Kalman filter (KF) and apply it on linear state space models
  • implement the key nonlinear filters (above all the extended Kalman filter, unscented Kalman filter and the particle filter) in Matlab, in order to solve problems with nonlinear motion and/or sensor models
  • select a suitable filter method by analyzing the properties and requirements in an application
  • apply the linear and nonlinear Rauch-Tung-Striebel smoothers to general smoothing problems
  • describe a statistical model using a factor graph and apply the sum-product algorithm
  • solve a variety of important real-world filtering and smoothing problems, by employing and adapting the above knowledge to a variety of applications.


The overall problem is to use data from several different types of sensors to estimate an unknown state (here often containing position, velocity, etc). We cover the main concepts, models and methods: 

  • Bayes rule and Bayesian estimation (e.g., MMSE estimators)
  • Optimal filtering and optimal smoothing
  • Models of discrete time systems with uncertainty: both both motion models (e.g., the constant velocity model) and sensor models.
  • Sigma point methods
  • Linear and nonlinear Kalman filters (KF, EKF, UKF, CKF, etc)
  • Particle filters
  • Linear and nonlinear Rauch-Tung-Striebel smoothers
  • Factor graphs and the sum-product algorithm
  • Application of all of the above on various problems


The course comprises on-line lectures (to watch before the class), practice sessions (where we review material from the corresponding lecture), home assignments, projects, tutorial sessions (related to the home assignments and projects) and two oral exams.


We mainly use
Simo Särkkä, Bayesian Filtering and Smoothing. Cambridge University Press, 2013.
which is available online


There is no written exam in this course. Instead the students are evaluated individually based on their performance in the different activities in the course; more specifically, the grade is obtained by weighting the results on hand-ins, projects and oral examinations and the degree of attendance.

Page manager Published: Thu 04 Feb 2021.