代写System Identification – Matlab Session代写Matlab编程

- 首页 >> Java编程

System Identification – Matlab Session

Introduction:

The aim of this session is to find a discrete time (z-operator) transfer function (TF) model using the systems identification approach which predicts dynamic behaviour of a motor. This model can be used to design a controller in the next lab session. The data necessary to find this model should be initially generated, for which a Simulink model of a motor should be run.

As a precursor, task 1 aims to do the above, in a simpler system.

Exercise Aims:

1.   To practice the practical use of system identification, using Matlab.

2.   To generate a suitable model of a DC motor (that can be used to design a PIP motor controller - i.e. to feed into lab 3 and the coursework).

How to work:

Work either individually or in pairs and keep notes for your own future reference in your notebook. Save copies of your files so that you can refer back to them and make a note of what is what so that it is useful if you need to come back to it. Make sure you record your final selected model – so that you have it for Lab 3.

IMPORTANT – System Identification of the motor will be reported upon in your control coursework report – which will cover the System Identification and then the PIP Design (next lab).

Files: Create a directory to work and download the files from CANVAS for this exercise.

The Tasks to be undertaken

Task 1 – “warm-up” - To test the methods on a known system similar to in lecture RD7.

Note: You should spend max of 40 minutes on this task

A Model of a “known system” is given. (open known_model.slx)

1.   Run System Identification tests by running the simulation and then estimating a large set of possible models -  ident_test_all.m will allow you to do this, have a good look through the code to see what it is doing

2.   Identify one or few suitable model structure(s) using the guidelines given in the lecture notes.

3.   Once you “select” a structure you can run ident_test.m to calculate the actual parameters for the transfer function and plot the response etc.

a.   Estimate the parameters

b.   Validate the model by running a different test (either change in the known_model_validation_expt.slx or use known_model.slx)

Task 2 – Find the “best” TF model for a DC motor

A Model of a DC motor is given which includes sensor noise. (open Motor_speed.slx). Run System Identification tests to   find TF between Volts and Speed.

1.   Select an appropriate sample time (the closed-loop bandwidth specified in the control part (Lab3) – will be at least 2Hz. In the lecture s we discussed that you'll need to sample somewhere between 30 and 100 times faster than the closed-loop bandwidth frequency.

2.   Select a suitable model structure using ident_test_all.m (This script will need to be modified slightly to allow you to do this).

3.   After correct model structure has been identified you can run ident_test.m (modify this too) to get the actual parameters and plot the response etc.

a.   Estimate the parameters

b.   Validate the model (Convince yourself you have the “correct” model....)  this may mean looking at 2 or 3 structures, comparing error plots etc.

Make sure you have a record of your final model. You can save the A and B polynomials and the sample time dt. e.g. using the MATLAB command

>> save mymodel.mat a b dt

Optional Extra task:

Repeat task 2 to find TF from Volts to Current  you will need to adapt the m-files to do this.

Deliverables:

The results will be discussed during the exercise (with support from tutors).

The results will be part of the assessed coursework report that you will write (see separate coursework report guidance).

Once you have successfully completed this Lab, the coursework will be straightforward (i.e. the system identification part of it is done, apart from generating graphs, diagrams and reporting).


站长地图