Academic Year 2020-2021



Office hours (A. Garulli): Wednesday at 17.00
Office hours (M. Casini): Monday at 9.00


April 11: published notes on part 1.3 (stochastic processes and time series), with exercises; published notes on part 2.1 (system identification); published solutions of homework on time series.

For infos about the homeworks (see below). Download LaTex and test it on the report template.

Link to online classes:

Video lectures 2020-2021

How the exam works: things you must know about the exam organization


What do I need to know before starting?
- Linear algebra and calculus.
- Basics of probability theory and random variables (though there will be a very short review).
- Basics of dynamic systems theory: input-output and state space representations; transfer function; Z-transform (discrete-time systems).
- Basics of Matlab language.
Some useful links are given below.

How to pass the exam

In order to pass the exam, you have to perform three steps:
- (A) the system identification homework;
- (B) the state estimation homework;
- (C) the oral exam.
Steps (A) and (B) must be done before step (C). Details and schedule of steps (A) and (B) will be comunicated by the instructors during the course. In any case, the reports of homeworks (A) and (B) must be delivered at least 7 days before the oral exam.The dates of the oral exams are published in segreteriaonline: to participate, you must sign up at least 7 days before the oral exam (a more detailed schedule may appear in the News section above).
The oral exam involves the discussion of the homeworks and questions about all the topics treated during the course (yes, all!).

Students taking the Data Analysis course (6 CFU) have to do only steps (A) and (C).

How to do the homeworks

Homeworks will require to write a report explaining the adopted methodologies and the obtained results in a well-documented and concise fashion. Such report must be written in LaTeX (a LaTeX tutorial is available here).
A LaTeX template regarding the system identification report is provided here.
Additional information will be provided during the course.

Golden rules


Contents (be careful: always work in progress...)

Part 1: Estimation Theory

1.0 Course introduction.
Material: Slides_introduction

1.1 Random variables. Probability distributions. Mean and covariance. Conditional probability. Gaussian variables.
Ref.: [Soderstrom, 2.1-2.4].

1.2 Estimation theory. Parametric estimation. Properties of estimators. Maximum likelihood estimators. Least squares and Gauss-Markov estimators. Bayesian estimation. Minimum mean square error estimators.
Ref.: [Soderstrom, 5.1-5.3].
Material: Notes_estimation_theory;   Slides_estimation_theory

1.3 Stochastic processes and time-series prediction. Distributions, mean and covariance function. Stationary processes. Frequency domain representation. Stochastic dynamic systems. Time-series models: AR, MA, ARMA. Time-series prediction.
Ref.: [Soderstrom, 3.1-3.4; 4.1-4.3; 7.1-7.2].
Material: Notes_timeseries
Lab session: Lab_session_time_series;   Solution (m-file).
Homework: Homework_time_series;   Solution (pdf-file);   Solution (m-file).

Part 2: System Identification

2.1 System identification theory. Identification of linear systems: prediction error methods. Input-output models: ARX, ARMAX, OE, BJ. Least squares estimator for linear regression models. Model validation.
Ref.: [Ljung, 1.1-1.4; 3.1-3.2; 4.1-4.2; 7.1-7.3; 10.1-10.2; 16.1-16.6].
Material: Notes_system_identification

2.2 Practical system identification. Use of software tools for system identification.
Ref.: [Ljung, 17.1-17.4].
Lab session: Lab session on system identification #1;   Solution (m-file).

Part 3: State Estimation

3.1. State estimation for linear systems. Non stationary stochastic systems. The state estimation problem and the Kalman filter. Asymptotic properties of the Kalman filter. Recursive system identification.
Ref.: [Soderstrom, 3.3; 4.2; 6.1-6.3; 6.7. Ljung, 11.1-11.2].

3.2. State estimation for nonlinear systems. State estimation in nonlinear stochastic systems. The Extended Kalman Filter. Advanced nonlinear filtering techniques: unscented filter; sequential Monte Carlo methods.
Ref.: [Soderstrom, 9.1-9.5].

Useful stuff

Background material

Please report errors or problems to:   garulli  at