System Identification 2015

Lecturer: Lucian Busoniu

Navigation: [Schedule|Course material|Labs|Lab tests|Project|Contact]          [Back to Lucian Busoniu's webpage]

About this course

Based on the book by Soderstrom and Stoica, the course introduces nonparametric methods for system identification, as well as parametric methods including prediction error and instrumental variables techniques. It describes the material at an appropriate BSc level, and builds in a self-contained manner the required mathematical background.

This course is part of the Bachelor program of the Automation Department, UTCluj (3rd year 1st semester). Prerequisites: linear dynamical systems, linear algebra, statistics. The lecturer is Lucian Busoniu.


The lab tests and an original project solution are required before being admitted to the exam.


Dates and locations:

Detailed schedule:
Week; start day Lab group 2 (Monday) Lecture (Tuesday) Lab group 1 (Tuesday) Project group 2 (Monday) Project group 1 (Tuesday)
#1; 28 Sept 1 1 1 -- --
#2; 5 Oct skip (lect 2 needed) 2 2 -- Halfgroup 1 Session 1
#3; 12 Oct 2 3 3 Halfgroup 1 Session 1 Halfgroup 2 Session 1
#3; 19 Oct 3 4 4 Halfgroup 2 Session 1 Halfgroup 1 Session 2
#5; 26 Oct 4 5 5 Halfgroup 1 Session 2 Halfgroup 2 Session 2
#6; 2 Nov 5 6 Lab test 1 (group 1) Halfgroup 2 Session 2 Halfgroup 1 Session 3
#7; 9 Nov Lab test 1 (group 2) 7 6 Halfgroup 1 Session 3 Halfgroup 2 Session 3
#8; 16 Nov 6 8 7 Halfgroup 2 Session 3 Halfgroup 1 Session 4
#9; 23 Nov 7 9 8 Halfgroup 1 Session 4 Halfgroup 2 Session 4
#10; 30 Nov free 10 - to reschedule free
#11; 7 Dec 8 11 9 Halfgroup 2 Session 4
+Wed, whole group Session 5
Whole group Session 5
#12; 14 Dec free free free -- --
Winter holidays -- -- -- -- --
#13; 4 Jan 9 12 10 -- --
#14; 11 Jan 10 Lab test 2 (group 2) Lab test 2 (group 1) -- --

There are 12 lectures and 10 labs in total, plus two lab tests. Green boldface is used to highlight the lab tests. Red means some of the items must be skipped or rescheduled, e.g. due to course constraints, or national holidays. Starting with the Tuesday of week 2 of the course, every group also has a project class, and there are 5 project sessions in total. The 5th session is an optional `wrap-up' session for final questions and issues, and it is held with the whole group together, on the last week before the deadline. In particular, this session is set for group 2 on Wednesday at 2PM, outside the regular schedule, so that they can have it before the deadline.

Follow this section over the next couple of weeks, as things clarify small changes may still occur.

Course material

The lecture slides are mandatory reading; they will be written down in detail to give a self-contained, complete picture of the topics. They are made available here in time for each lecture.

In addition to the slides, followers may optionally consult the following books:


Lab tests

The first lab test will take place on 3 November 2015 (group 1) and 9 November 2015 (group 2), in the regular lab slots. Each student is assigned a randomly chosen technique studied in labs 2-5, and a randomly chosen dataset; the student must then apply the technique to the dataset. The solution must be developed in the first 50 minutes; the last 10 minutes are reserved for discussing the solution with the lecturer. Please be on time; the one-hour interval cannot be exceeded since your colleagues are starting the test immediately after that.

The solution consists of Matlab code, which must be submitted at the end of the test, and will be run and verified by the lecturer. To ensure the time slot is not exceeded, some techniques can be applied in a simplified manner, e.g. for step response analysis, values can be read directly on the graph rather than programatically computed. These simplifications will be explicitly indicated in the test material.

You are free to use the course material, including lecture slides, lab descriptions and data, and the startup example code which was made available for some labs. All this will be available offline on the computer on which you will take the test. The complete Matlab documentation is of course also available. However, the internet connection is disabled on the computer and you are not allowed to use internet-connected devices, or to reuse the solutions you developed for the labs.

For the first test, the slots are assigned as follows: Lab test 1 schedule (PDF), where the format is: date (3 or 9, both in November 2015) / hour. If for well-founded reasons you cannot make it on the assigned slot, please contact the lecturer as soon as possible with a request to change the slot. Reassignments cannot be made if they result in more than 8 students taking the test in the same time slot. Note that before test 1, everyone should have labs 2-5 submitted; if not please correct this ASAP. A label of "OK" means the lab was submitted on time, "late" means it was late; being late does not invalidate the solution, it simply means it is being checked more carefully.

The second lab test will be held on 12 January 2015 for both groups, from labs 6-10, following the same rules and procedure as for the first test. The slots are assigned as follows: Lab test 2 schedule (PDF). Note that before test 2, everyone should have labs 6-10 submitted; if not please correct this ASAP (in the PDF, please ignore any empty slots for labs that you worked on starting 4 January, because those are not yet recorded).

Project: Black-box modeling using neural networks

The project aims to move beyond the linear-system case treated in the lectures. Nonlinearities characterize virtually every real system, and in certain circumstances they cannot be sufficienty approximated by linear dynamics, making nonlinear models necessary. This project deals with a neural-network based method for the black-box identification of nonlinear systems.

The assignment is Matlab-based and consists of two problems, both using feedforward neural networks. In the first problem the neural network is used to model the behavior of an unknown nonlinear but static function, where the outputs are affected by noise. This problem is a stepping stone to the dynamical modeling case, and also serves to familiarize the students with neural networks. The second problem concerns data-driven black-box modeling of an unknown dynamical system.

The project will be performed in groups of two students, and every group gets their own data files. The deliverables include a PDF report and the Matlab code. More details, including the deadlines, can be found in the project description (PDF). Please read it carefully. In order to obtain the first two reference documents on neural networks, append the following to the course website address ( /projectfiles/nnref_Babuska.pdf, /projectfiles/nnref_Jainetal.pdf and then save the files on your computer.


Comments, suggestions, questions etc. related to this course or website are welcome; please contact the lecturer.