Resources on System Identification

System Identification covers a very wide range of techniques for obtaining a system model from inputs and outputs to the system. They can be classed into parametric (e.g. Recursive Least Squares) or non-parametric (e.g. frequency testing).

Recursive Least Squares
  • Here's a simle Matlab script for SISO RLS It will need some modification to be embedded within your own code. But the basics are all there. There are three RLS algorithms available. A MIMO script is also available, as are 'C' code modules for the above.
Pseudo-Random Binary Sequence (PRBS)
  • Within Matlab/Simulink the only way to get a PRBS generating M-file is within the Frequency Domain System Identification Toolbox (called mlbs - Maximum Length Binary Sequence) or in the System Identification Toolbox v4.0 (called idinput). Here's a simple Matlab script written by Rob Lynch to do just that:

      Subject: Re: help.. how to generate a PRBS signal in Matlab??
      Date: 1997/11/10
      Author: Rob Lynch <>

      Here is a simple program to generate pseudo-random bit sequences (you can find polynomials for different-length PRBS' in, for example, Peterson and Weldon, "Error-Correcting Codes" and many other books).

        function z=prbs(init,g)
        %  z=prbs(init,g)
        % 2^n-1-bit PRBS based on initial string 'init'
        % and polynomial represented by vector g (e.g., g=[7 1] => x^7+x+1).
        % Rob Lynch  Quinta Corporation  3/31/97
        for i=(n+1):(2^n-1)
          for j=2:length(g)
          z=[z q];
Commercial Companies
  • Tai-Ji Control A control technology company specialized in industrial process identification. It produces a package called Tai-Ji ID for automatic closed-loop identification based on the ASYM method of identification developed by Yucai Zhu.
  • Adaptics Inc. Makers of ADAPTx an automated multivariable system identification and time series analysis software.
Articles and Books
  • Identification in Closed Loop : A Powerful Design Tool, I.D.Landau, IFAC Journal of Control Engineering Practice, 2001. Describes recent developments in closed loop system identification and how it can yield better, more accurate models for controller design. Also presents robust controllers designed using such identified models, for an experimental drive and flexible transmission system.
  • NNSYSID and NNCTRL: Tools for System Identification and Control with Neural Networks, M.Norgaard, O.Ravn and N.K.Poulsen, IEE Computing & Control Journal, February 2001. Describes two toolboxes for use with Matlab that give neural network system identification and control design, including training algorithms, model validation and model structure selection. These toolboxes are freely downloadable at nnsysid.html and nnctrl.html.
  • Multivariable System Identification for Process control, Yucai Zhu, published by Elsevier Science Ltd, UK, Oct 2001. 372 pages, ISBN: 0-08-043985-3. Matlab software for this book are available for download.
  • Interaction Between Identification and Robust Control, Paul van den Hof, Delf University of Technology.
Links to Other Resources