**Lecturer: Lucian Busoniu, TAs: Zoltan Nagy, Matthias Rosynski**

Navigation: [Versiunea romana|Evaluation rules|Schedule|Lectures|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. 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 year, we will use a mix of online platforms to teach the course: Microsoft Teams for interacting with students, Matlab Grader for the labs, and ClassMarker to take the quizzes. As a unique ID for each student, please use an email address that is associated to a Mathworks and ClassMarker account. Microsoft Teams can be associated with the different, Didatec email address. Details on how we are using these platforms can be found under the specific type of activity below.

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. Zoltan Nagy and Matthias Rosynski teach the lab classes for the English line. Zoltan teaches the project classes.

Grading:

- 30%=2x15% two lab tests, see their section below for details.
- 10% lab quizzes: a short quiz with two questions, at the start of each lab except the first, from the material relevant to that lab.
- 30% final exam.
- 30% project (15% part 1 + 15% part 2), see below for details.
- 10% lecture quizzes: short quizzes during each lecture, from the material discussed during that particular lecture.

Eligibility conditions: Solutions to all labs except the first one; the two lab tests; and solutions to both parts of the project are all required before being admitted to the exam.

Note that while the lab solutions are not explicitly graded, they are required starting from lab 2; they are validated automatically by Matlab Grader. It is therefore not enough to be present at the lab in order to validate it; a complete, working, and original solution must be developed during the lab. See the Teams channel for the specific rules on how many labs you can recover.

You can check your current status in the Google sheet table here, updated in near-real-time.

Lectures are Mondays from 12PM, labs and projects on Tuesdays and Thursdays. See the overall schedule on http://www.aut.utcluj.ro/ for details.

Due to interdependencies between lectures, labs, and project classes; as well as lab tests and project deadlines, the actual schedule is slightly different from the official one. The following main changes are performed:

- During lab test weeks, we will need to use project slots for the test as well, so that everyone has time to take the test.
- For project session 4, odd and even halfgroups are swapped, to avoid having a too long interval between two project sessions. The labels "odd" and "even" in the table refer to the official halfgroups, so "odd" includes 2.1 (group 2 halfgroup 1), 2.2, and 3.2, while "even" includes 1.1, 1.2, and 3.1. You should come to the project class when you see your label in the table. This should be feasible given your overall schedule; if incompatible changes occur, we will revisit the planning.
- Since the week of 30 Nov has two national holidays, we will simply skip the entire week, as recovering from 2 missing days in a coherent way is nearly impossible.
- One week of project and lecture slots are reserved for presenting part 2 of the project.

Please look at the schedule below carefully to determine exactly when you should be in class. **Update 22 Oct 2020:** Monday 26 Oct we have two lectures, to free up the spot next Monday for Control Engineering.

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

Lectures are taught online, using Microsoft Teams. Please make sure you have a valid Teams account, as you will be unable to access the course activities without it.

Throughout each lecture, short quizzes will be given at random intervals, from the material of that lecture, using the ClassMarker platform. These are graded! So, you should pay attention during the lectures. If you answer all the questions in every lecture correctly, you get 1 point in your grade; lower scores scale linearly to between 0 and 1 points in the grade.

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. An advanced graduate-level textbook.

Labs will be taken in Matlab Grader: https://grader.mathworks.com/. Brief instructions follow. PDF descriptions of the labs are given on this website. You will write your solution as a Matlab function in a browser window. For each lab except a few, you will get a datafile index, which must be set inside your function. Your function must produce certain outputs, which will automatically be validated by Grader. You can **pretest** these outputs, and once you are sure everything works correctly, you will **submit** your solution. Pretesting can be done as many times as you need, but each solution can only be submitted once. See also the full Grader documentation.

Half-group boundaries are strict, for example you cannot access the quiz to the lab unless you are present during the lab slot of your halfgroup; and you cannot submit your solution at the deadline of other half-groups.

Supervision, discussions with students, quiz handling etc. are done in Teams. You need to participate during your lab slot! Each half-group gets its own channel in Teams.

You need an email address associated to a Mathworks account to participate in Grader. A list of email addresses will be collected beforehand and you will be invited to Grader. You do NOT need to have a Matlab license to participate in Grader (only if you want to run your solution offline).

Very preferably, do not edit the "Code to call your function". It should be identical to the first, locked line of the function that you are supposed to create. Editing it runs the risk of breaking the solution tests.

Each lab except the first starts with a 2-minute quiz containing 2 short questions, which tests you on the material relevant to that particular lab. If you answer everything correctly for all the labs, you get 1 point in your grade; lower scores scale linearly, as for the lecture quizzes. So, you should arrive prepared. Quizzes are taken in ClassMarker, for which you also need an account; please use the same email address as for the Mathworks account.

The deadline for submission is at the end of the second day following the day in which you took the lab. So, for instance, if your lab was on Tuesday, you must submit at the latest on Thursday at a quarter to midnight - 23:45 (not 23:59! due to limitations of the Grader platform).

The solutions to each lab are run through an automated plagiarism check. Each suspicious case is examined by the TA, and if it becomes clear that the lab is copied, both the source and the destination lab are invalidated. In addition, we are also imposing this year a "two strikes - you're out" rule. Namely, the first lab copied is only invalidated, and you can recover it at the end. The second lab copied invalidates the full set of solutions, you forfeit the discipline and have to take it next year.

- 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.
- Lab 2: Transient Analysis of Step Responses (PDF). In case you want to solve the assignment in regular Matlab as well (not just in Grader), 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: 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). The data files are: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13, #14, #15, #16.
- 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, and the validation input: uval.mat.
- Lab 8: Identification of OE models with 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 Identification (PDF). The data files are: #1, #2, #3, #4, #5, #6, #7, #8.

**Lab test 1:** Everyone takes the test (and must therefore be present) in their lab slot. Keep in mind that the lab tests are required for eligibility.
You must have a working camera and microphone (if your laptop does not, then login to Teams from the phone, for instance). The lab test requires that both are activated. The test will have three components, described and graded as follows:

- 3 points: a ClassMarker quiz with 9 questions, graded linearly (e.g. 6 questions get you 2 points), at the beginning of the lab slot. This part is eliminatory for the remainder, as follows. Anyone not getting at least 4 questions right cannot take any other part of the test. Anyone not getting at least 6 questions right cannot take part 3 of the test. After the quiz, we will start talking to people in order of their quality of the ClassMarker result. Each person gets up to 7 minutes for the remainder of the test. You can turn off your camera and microphone in-between parts 1 and 2, but you have to remain available and turn them back on when you are called.
- 5 points: one-on-one code discussions, on the submitted solutions of that student.
- 2 points: one-on-one question(s), testing the higher-level insight about the methods in the labs. Bonus points are possible if you demonstrate that you understand the topics significantly above the expected level.

- 8 points: a ClassMarker quiz with 10 questions, some easier (for 1 subpoint each) and some more difficult (for 3 subpoints each); some of the questions will be free-form. To get the full 8 points in the grade, you need to answer 6 easy questions, and 4 difficult ones (so 18 subpoints = 8 points in the lab test grade). The length of the test will be tuned so that you have just enough time to answer the required set of questions. However, the test contains more questions, and you can continue answering during the time limit if you can manage it. Don't worry if you can't finish all the questions; that's by design. Anyone not getting at least 14 subpoints cannot take the second part of the test.
*Important:*the test takes place for everyone at once, during the lecture slot in week 14 (11th January). - 2 points: one-on-one discussions with each student.

The rest of the procedure is the same as for lab test 1.

The grade at each lab test is added with a 0.15 weight to the final grade, irrespective of its value.

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; we will talk about it in lecture 4.

Guidelines for writing your report and developing and giving your presentation are also available.

The schedule for part 2 presentations is available. A Teams meeting in General will be started for the presentations. Please be in this meeting at least 15 minutes in advance of your slot, and reserve at least 15 minutes after in case of delays with teams before you. Turn on your camera during your group's talk.

The exceptional exam is taken Monday 21st June from 10. Please contact the lecturer if you are eligible, terminal year, and want to join, and you will receive a Teams meeting link.

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