IB01AD | Input-output data preprocessing and finding the system order |
IB01BD | Estimating the system matrices, covariances, and Kalman gain |
IB01CD | Estimating the initial state and the system matrices B and D |
IB01MD | *Upper triangular factor in the QR factorization of the concatenated input and output block-Hankel matrices |
IB01ND | *Singular value decomposition giving the system order |
IB01OD | *Estimating the system order |
IB01OY | *User's confirmation of the system order |
IB01PD | *Estimating the system matrices and covariances |
IB01PX | *Estimating the matrices B and D of a system using Kronecker products |
IB01PY | *Estimating the matrices B and D of a system exploiting the special structure |
IB01QD | *Estimating the initial state and the matrices B and D of a system, using A, C, and the input-output data sequences |
IB01RD | *Estimating the initial state of a system, using (A, B, C, D), and the input-output data sequences |
The documentation of routines are also accessible from the SLICOT Library main index (in case of the drivers, or user-callable routines), or from the SLICOT Supporting Routines index (in case of the auxiliary routines, marked with * in the list). The SLICOT Supporting Routines index is also accessible from the main Library index.
The
SLICOT library is available from the SLICOT homepage www.slicot.de.
All routines in the
above list are included in the files slicot.tar.gz (Unix version) and
slicotPC.zip (Windows version), downloadable from the
SLICOT homepage.
The following table contains the list of mexfiles with their function:
order | Input-output data preprocessing, possibly sequentially, and finding an estimate of the system order |
sident | System matrices, Kalman predictor gain, and covariance matrices estimation, using MOESP, N4SID, or their combination |
findBD | Estimating the initial state and/or the matrices B and D, using A, C, and the input and output trajectories |
These three mexfiles provide
interfaces to the main user-callable identification routines IB01AD, IB01BD,
and IB01CD, respectively.
All functionality available in the SLICOT identification routines has been
implemented.
For users' convenience, several easy-to-use interface
m-functions have been additionally included in the identification toolbox, explicitly
addressing some of supported features. Moreover, whenever possible, these m-functions
allow to work with system objects defined in the Control Toolbox of MATLAB. The
following table contains the list of implemented m-functions:
findR | Input-output data preprocessing, using Cholesky or (fast) QR factorization and MOESP or N4SID identification techniques, and estimating the system order |
findABCD | System matrices and Kalman gain estimation, using MOESP, N4SID, or their combination |
findAC | Estimating the matrices A and C, using MOESP or N4SID |
findBDK | Estimating the matrices B, D, and Kalman gain K (given A and C), using MOESP or N4SID |
findx0BD | Estimating the initial state and/or the matrices B and D, given the matrices A, C, and a set of input-output data |
inistate | Estimating the initial state, given the system matrices, and a set of input-output data |
slmoesp | System matrices and the Kalman gain estimation, using MOESP technique |
sln4sid | System matrices and the Kalman gain estimation, using N4SID technique |
slmoen4 | System matrices and the Kalman gain estimation, using combined MOESP and N4SID techniques: A and C found via MOESP, and B and D, via N4SID |
slmoesm | System matrices, the Kalman gain, and initial state estimation, using combined MOESP and system simulation techniques |
The last four m-functions are method-oriented, while the first five allow to flexibly identify various system and covariance matrices. The method-oriented m-functions also enable to efficiently estimate models of various orders. The executable mexfiles for MATLAB running under WINDOWS 95/98/NT/ME/2000, together with the source code, the above m-files and several MATLAB test scripts are available as ident_mex.zip from the SLICOT homepage
Similar interfaces have been realized to integrate the SLICOT system identification software into Scilab. The implemented Scilab functions are mostly compatible with the MATLAB interface and, in particular, the names of the mex-files and m-files are the same.
A demonstration package for a PC machine is available as slident_demo.zip from the SLCIOT homepage. After decompressing that file in the current directory, the demo can be directly tried by typing slidemo in a MATLAB 6.1 session (from that directory).
Glass furnace model. This data set from the DAISY collection contains data for a glass furnace (Philips); there are 3 inputs, 6 outputs, and 1247 samples. The number of block rows s was chosen 10 and the model order was set to 5. The estimated output follows well the original output. Click here to see the good agreement obtained for the fifth output and its estimate. Standard MOESP approach (the slmoesp m-function) has been used to obtain these results.
Industrial evaporator. The input-output data set for a four-stage evaporator is also included in the DAISY collection; there are 3 inputs (feed flow to the first evaporator stage, vapor flow to the first evaporator stage, and cooling water flow), 3 outputs (dry matter content, flow of the outcoming product, and temperature of the outcoming product), and 6305 samples. The number of block rows s was chosen 10 and the model order was set to 4. The temperature of the outcoming product, and its filtered estimate, obtained using the identified system matrices and Kalman gain, are displayed here. The filtered output follows well the original output. The m-function slmoesm has been used.
CD-player arm. This data set, also from the DAISY collection, contains data for the mechanical construction of a CD-player arm; the system has 2 inputs (the forces of the mechanical actuator), and 2 outputs (tracking accuracy of the arm); 2048 input-output samples are available. The inputs are highly colored. The number of block rows s was chosen 15 and the model order was set to 8. Click here to see the good agreement obtained for the second output and its filtered estimate, obtained using the identified system matrices and Kalman gain. The m-function slmoesm has been used.
Accuracy and efficiency comparisons of the SLICOT identification software and the available subspace-based techniques for 9 applications, including those discussed above, are presented in the report V. Sima. "SLICOT Linear Systems Identification Toolbox", SLICOT Working Note 2000-4, July 2000. Click here to see such a timing comparison when the SLICOT routines used the Cholesky factorization algorithm for the input-output data compression. This algorithm worked for all, but the application #4. In the figure, SLmoesp and SLn4sid denote the SLICOT implementations of the standard MOESP and N4SID approaches, OMOESP denotes a previous MATLAB code using Total Least Squares for finding B and D, and MOESP denotes a new MATLAB code which computes the B and D matrices by solving a large least squares problem built using the matrices A and C, and the input and output trajectories of the system. When successful, the Cholesky factorization algorithm significantly increased the efficiency, while preserving the same accuracy as for the QR factorization algorithm. The speed-up factors vary between 10 and 20 when comparing to the SLICOT QR factorization algorithm, and between 15 and 40 when comparing to MATLAB codes.
Vasile Sima, July 28, 2000