System Identification Toolbox    

Selecting Model Structures for Multivariable Systems

A multivariable (MIMO) system is a system with several input and output channels. All model structures in the toolbox support models with one output and several inputs. Polynomial models, idpoly, do not handle multi-output models, however.

Model Structures

Multivariable system offer a potentially richer internal structure. The easiest approach, in the black-box situation, is to think just in terms of input delays and state-space model order. A recommended approach is to get an idea of input delays from the nonparametric impulse response estimate, and determine the vector nk = [nk1,nk2,...,nkm] where nkj is the minimal delay from input j to any of the output channels, and then try state-space models with several orders and with these delays.

The compare plot will reveal which output channels are easy and which are difficult to reproduce.

An alternative to find the delays is to first estimate a parametric model with delays 1, and then examine the impulse responses of this model and determine the delays.

(To test models with delay 0 in a similar way, use Model = pem(Data,'best','nk',zeros(size(nk))). Significant responses at delay 0 must be examined with care, since they may be caused by feedback.)

Note that delays nk larger than 1 will be incorporated in the model structure, and thus increase the state-space model order from the nominal one with sum(max(nk-1,zeros(size(nk)))). An alternative is to use the property 'InputDelay'. This leads to a model that has the same delays as for 'nk', but these are not explicitly shown in the model matrices, but stored as a property to be used when necessary. See idmodel properties in the "Command Reference" chapter.

If you have detailed knowledge about which orders and delays that are reasonable in the different input/output channels, you can use multivariable ARX models, in the idarx model format. This allows you to define the orders of the input and output lags, as well as the delays, independently for the different channels.

Black-box parameterizations of multi-variable systems require many parameters. Therefore, it may be important to incorporate any essential structure knowledge based on physical insight. This is typically done by continuous-time, taylor-made model parameterizations using structured idss models, or idgrey models. See Structured State-Space Models with Free Parameters: the idss Model and State-Space Models with Coupled Parameters: the idgrey Model.

Channel Selection

A particular aspect of multivariable models regards the selection of channels. Models for subselections of input-output channels may be quite useful and informative. Generally speaking the models become "better" when more input channels are used, and "worse" when more output channels are used. The latter observation is due to the fact that such models have "more to explain."

If you build models with several outputs and find, using compare, a certain output channel to be difficult to reproduce, then try to build model of this channel alone. This will reveal if there are inherent difficulties with this output, or that it is just too difficult to handle it together with other outputs.

Analogously, if you see that, using, e.g., step or impulse, a certain input channel seems to have an insignificant influence on the outputs, then remove that channel, and examine if the corresponding model becomes any worse, e.g., in the compare plots.

A main feature of the toolbox's data and model objects is that it gives full support for the bookkeeping required for these channel subselections. Channels are selected by direct subreferencing, and the InputName and OutputName properties form the basis for a correct combination of channels. The subreferencing follows

and typical command sequences may be


  Comparing Different Models Dealing with Data