**Lecturer: Lucian Busoniu, TA: Zoltan Nagy**

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

The course introduces nonparametric methods for system identification, as well as parametric methods including prediction error and instrumental variables techniques. Completing the control engineer's identification toolbox, input signals, online recursive methods, and model validation are also discussed. The material is described at an appropriate BSc level, and builds in a self-contained manner the required mathematical background. The course is based on the book *System Identification* by Soderstrom and Stoica.

This course is part of the Bachelor program of the Automation Department, UTCluj (3rd year 1st semester). Prerequisites: linear dynamical systems and linear algebra. The lecturer is Lucian Busoniu, while Zoltan Nagy teaches the lab classes for the English line.

Grading:

- 40%=2x20% two lab tests, see their section below for details.
- 30% final exam.
- 30% project, see below.
- 10% lecture quizzes: a short quiz at the end of each lecture except the first, from the material discussed during that particular lecture.

The lab solutions, the two lab tests, and a project solution are all required before being admitted to the exam. The lab solutions are validated by the TA during the lab. It is therefore not enough to be present at the lab in order to validate it; a working, original solution must be developed during the lab. At most two labs can be recovered at the end of the semester; hence, accumulating three or more missing labs means you can no longer become eligibile for the exam during the current year. More details about each component (labs, lab tests, project evaluation) will be found at the appropriate places in their separate descriptions below. You can find your current status here.

Dates and locations:

- Lectures: Wednesdays from 12PM in room 356 (Baritiu street). There are 13 lectures in total.
- Labs & project: Mondays between 12PM and 4PM, and Tuesdays between 11AM and 3PM, in rooms C01 and C13 (Dorobantilor street). Everyone will have 11 labs, 2 lab tests, and 5 project sessions.

Due to interdependencies between lectures, labs, and project classes, as well as other reasons such as national holidays, the actual schedule is slightly different from the official one. For instance, during the test weeks, we will need to use some project slots for the test as well, so that everyone has time to take the test. Please look at the schedule carefully to determine exactly when you should be in class.

Everything takes place in the room and time slot indicated in the official schedule, so you don't need to worry about changes there.

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 (PDF).
- Part 2: Transient Analysis of Step and Impulse Responses (PDF).
- Part 3: Mathematical Background: Linear Regression and Statistics (PDF).
- Part 4: Correlation Analysis (PDF).
- Part 5: ARX Identification. (PDF).
- Part 6: Input Signals (PDF).
- Part 7: General Prediction Error, ARMAX, and OE Methods (PDF).
- Part 8: Instrumental Variable Methods. Closed-Loop Identification (PDF).
- Part 9: Recursive Identification (PDF).
- Part 10: Model Validation and Practical Issues (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: (Re)Introduction to Matlab (PDF) -- two short exercises in order to get re-acquainted with Matlab. For a brief intro to Matlab, have a look at the following document (with thanks to Paula Raica for allowing us to use it) ST_Lab1.pdf. You may also use the automated Matlab tutorial, with thanks to Tassos Natsakis who developed it.
- Lab 2: Transient Analysis of Step Responses (PDF). The data files are: for first-order systems, #1, #2, #3, #4, #5, #6, #7, #8 (where # stands for index). For second-order systems, #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 3: Linear Regression for Function Approximation (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13, #14, #15. #16.
- Lab 4: 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 5: Correlation analysis (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 6: ARX Identification. (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 7: Pseudo-Random Binary Sequences (PDF). Download the system simulator as well: system_simulator.p (Right click, Save as).
- Lab 8: Output Error Identification using the Gauss-Newton Method (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 9: Instrumental Variable Methods (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 10: Recursive ARX Identification (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.
- Lab 11: Closed-Loop Identification. Model Validation. The data files for part 1 are: #1, #2, #3, #4, #5, #6, #7, #8; and for part 2: #1, #2, #3, #4, #5, #6, #7, #8.

Each student is assigned a randomly chosen technique studied in the labs, and a randomly chosen dataset; the student must then apply the technique to the dataset. 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. The test is 1 hour long, and the solution must be developed in the first 50 minutes; the last 10 minutes are reserved for discussing the solution with the lecturer. To ensure the test is solvable in the time slot allowed, some techniques can be applied in a simplified manner. 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. 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.

Update: You can now find your test slots in the online status table, see above for the link. The format of each slot is: day in the week of Nov 19-23 / hour. The test is during the normal lab slot; please note that the halfgroups are separated only approximately, to ensure that no more than 8 students take the test at the same time. Please be on time; the one-hour interval cannot be exceeded since your colleagues are starting the test immediately after that. 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.

A quick look at the timeslots per half-group:

For the second test, the rules are exactly the same as for the first test, but now the subjects are from labs 7-11. We are taking the test in the same weekdays as before, except it is now in the week of 14 January. The overall planning is below, and the specific time slots per students can be found in the status Google Sheet.

See the project description (PDF) for the topic, rules, and deadlines. Please read it carefully. A detailed description of the linear regression method needed in the first part of the project can be found in last year's lecture; this year we talk about it in lecture 3.

Comments, suggestions, questions etc. related to this course or website are welcome; please contact either the lecturer or the TA at the addresses below (given as images for spambot protection).