1 / 9

Assignment: personal.reading.ac.uk/~sis01xh/teaching/CS3assignment.htm

Assignment: http://www.personal.reading.ac.uk/~sis01xh/teaching/CS3assignment.htm

tausiq
Download Presentation

Assignment: personal.reading.ac.uk/~sis01xh/teaching/CS3assignment.htm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Assignment: http://www.personal.reading.ac.uk/~sis01xh/teaching/CS3assignment.htm The assignment has three parts, all relating to least squares system identification. Part A develops software to do recursive least squares identification. Part B provides some real data and allows you to identify a mechanical "master" robot of a master/slave tele-manipulator. Part C (worth 20% of the marks) extends the RLS algorithm to either include instrument variables or a PLS noise model based on the Moving Average Model, or both. You can treat part C as optional. It is recommended that you use Matlab for the assignment, although you will not be penalised for using other programming languages. CY3A2 System identification

  2. Files WWW/Central university computer Matlab and data files are available at WWW address: http://www.personal.rdg.ac.uk/~sis01xh/teaching/Sysid/datafiles/Datasets.htm Here you will also find the files loadass.m (will load the data into a suitable vector), crib.m (available as a skeleton for your program) and dord2.m (a way of generating a test system) Copy this program into an appropriate directory and run it under Matlab. Enter a file name and you will then have a variable y in the Matlab workspace containing the corresponding response data. CY3A2 System identification

  3. Skeleton code for recursive least squares estimate (see crib.m) % A skeleton for a recursive identification algorithm. Since the assignment % assumes an ARX model this code does likewise. % You need to set Na, Nb (number of a and b coefficients) and LN (large % number). Nc is not needed if this is an ARX model. You also need to %supply the algorithm! % The code assumes that the data is in a vector y and the input is in a %vector u theta_nminus1=zeros(Na+Nb,1); % Initialise the estimate of theta to zero P_nminus1=LN.*eye(Na+Nb); % Initialise P where LN is a large number % Theta=[]; % history of theta starts here % Step through data and for each new point generate a new estimate for n=1:10 % Change 10 to length(y) once you have the code working % set py to the previous Na y values py=zeros(1,Na); for i=n-1:-1:n-Na if i>0 py(n-i)=y(i); end end CY3A2 System identification

  4. % set pu to the previous Nb u values pu=zeros(1,Nb); for i=n-1:-1:n-Nb if i>0 pu(n-i)=u(i); end end % Construct varphi from py' and pu' % varphi= ... % Use varphi(n), y(n) theta(n-1) and P(n-1) to iterate the next estimate % epsilon= ... % P= P_nminus1 - ... % K= ... % theta=theta_nminus1 + ... % get ready for the new iteration theta_nminus1=theta; P_nminus1=P; % To get a history of theta set Theta=[Theta; theta'] end % and so it ends % If you have recorded parameter evolution you can plot with % plot(Theta) CY3A2 System identification

  5. General form of Recursive algorithms • where is a vector of model parameters • is the difference between the measured output and the estimated output at time n • is the scaling - sometimes known as the Kalman Gain • Supose we have all the data collected upto time n. Then consider the formation of the matrix at time n as CY3A2 System identification

  6. Derivation of Recursive Least Squares Given that is the collection Thus the least squares solution is Now what happens when we increase n by 1, when a new data point comes in, we need to re-estimate this requires repetitions calculations and recalculating the inverse (expensive in computer time and storage) CY3A2 System identification

  7. Lets look at the expression and and define CY3A2 System identification

  8. (1) (2) The least squares estimate at data n (3) (4) ( Substitute (4) into (3) ) ( Applying (1) ) CY3A2 System identification

  9. RLS Equations are But we still require a matrix inverse to be calculated in (8) CY3A2 System identification

More Related