**Lecturer: Lucian Busoniu**

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

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.

Grading:

- 40% two lab tests, each one-hour long, in which randomly chosen methods studied at previous labs must be applied. The solution consists of Matlab code, which must be submitted at the end of the test. The code will be run and verified by the lecturer; any non-original solutions are disqualified. These tests will be announced at least a week in advance.
- 20% project, see its section below for details.
- 40% final exam.

Dates and locations:

- Lectures: starting October 27th, the lectures have been moved (following a poll) to Tuesdays 10AM-12PM, in room C01 (Dorobantilor street); up until and including October 20th they were at 8AM in room 467 (on Daicoviciu street).
- Labs & project: group 1 Tuesdays 12-6PM; group 2 Mondays 2-8PM, all in C01 (Dorobantilor street). Within these six-hour intervals, the sequence is: lab 2nd halfgroup, followed by the project with alternating half-groups, and then finally the lab for the 1st halfgroup.

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.

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.

- Part 1: Introduction to System Identification (covered in lecture 1; PDF).
- Part 2: Step and Impulse Response Graphical Models (covered in lectures 2 and 3; PDF).
- Part 3: Mathematical Background: Linear Regression and Statistics (covered in lecture 4; PDF).
- Part 4: Correlation Analysis (covered in lecture 5; PDF).
- Part 5: Prediction error methods (covered in lectures 6, 7, 8; updated 9 November 2015 with some typo corrections).
- Part 6: Instrumental variable methods (covered in lecture 9; PDF).
- Part 7: Input signals (covered in lecture 10; PDF).
- Part 8: Recursive identification methods (covered in lecture 11; PDF).
- Part 9: Model validation and structure selection (covered in lecture 12; PDF).

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

- T. Soderstrom and P. Stoica.
*System Identification*. Prentice Hall, 1989. The full text of this book is available at: http://user.it.uu.se/~ts/bookinfo.html. This book forms the basis of the course. - L. Ljung,
*System Identification: Theory for the User*, 2nd ed., Prentice Hall, 1999.

- Lab 1: Matlab exercises (PDF) -- two short exercises in order to get re-acquainted with Matlab. For a brief intro to Matlab, have a look at http://rocon.utcluj.ro/ts/st.html.
- Lab 2: Transient Analysis of Step Responses (PDF). The data files are: for first-order systems, #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12 (where # stands for index). For second-order systems, #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12.
- Lab 3: Transient Analysis of Impulse Responses (PDF). The data files are: for first-order systems, #1, #2, #3, #4, #5, #6, #7, #8. For second-order systems, #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 4: Linear regression for function approximation (PDF). Download the rbfapprox function, as well as the lab4_template script. The data files are: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13, #14. #15.
- Lab 5: Correlation analysis (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 6: ARX model identification (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 7: Prediction error methods (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 8: Instrumental variable methods (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 9: Pseudo-random binary sequences (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8. Download the system simulator as well: simulateid.p.
- Lab 10: Recursive identification. Model validation using correlation tests (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.

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).

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 (busoniu.net/teaching/sysid2015): /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.