System Identification Toolbox | ![]() ![]() |
Connections Between the Control System Toolbox and the System Identification Toolbox
The objects and functions of the Control System Toolbox, are quite similar to those of the System Identification Toolbox. This means that the two toolboxes can be run efficiently together.
Function Calls
The function calls are the same for many essential functions. bode, nyquist, step, impulse, ssdata, tfdata, zpkdata, freqresp, minreal, etc., all do the same things with essentially the same syntax. The System Identification Toolbox commands however also handle model uncertainty. The System Identification Toolbox commands will be used whenever at least one of the objects in the argument list is an idmodel
or idfrd
object.
Also, subreferencing channels and concatenations follow the same syntax.
Moreover, most of the LTI-commands for model manipulation, like G1+G2, G1*G2
, feedback
, append
, balreal
, augstate
, canon
, etc, will work (using the Control System Toolbox) in the expected way, returning idmodel
objects. However, covariance information is in most cases lost.
Object Relations
Since the System Identification Toolbox can be run without the Control System Toolbox, there are no formal parent/child relations between the objects in the two toolboxes. There are however easy transformations between them. The command that creates idmodel
, idss
, and idpoly
will accept any LTI object, zpk
, tf
or ss
. idfrd
can similarly be created from frd
objects. If the LTI object has an InputGroup
named 'noise'
these input will be treated as normalized white noise, when creating the idmodel
object with correct disturbance model information.
Analogously, ss
, zpk
, tf
, and frd
accept any idmodel
or idfrd
(in case of frd
) object. The covariance information is then not stored in the LTI objects, but all disturbance information will be translated to a group of extra input channels with the group name 'noise'
. If these are interpreted as normalized white noise, the LTI objects have the same disturbance properties as the original imdmodel
object.
These simple relations also mean that it is easy to use any LTI command in the Control System Toolbox and return to System Identification Toolbox objects.
Plot Relations
Although the calls bode
, step
etc., have essentially the same syntax, the plots look different. The System Identification Toolbox commands show, when required, confidence regions, and typically show the different input/output channels as separate plots. The sorting of the channels is based on the InputName
and OutputName
properties. Therefore the System Identification Toolbox commands allow any mix of models not necessarily of the same sizes.
The System Identification Toolbox plot commands do not offer the same options and plot interaction facilities as ltiview
. However, applying view to one or several idmodel
objects invokes the LTI Viewer.
Here is an example of the interplay between the functions in the two toolboxes.
m0 = drss(4,3,2) m0 = idss(m0,'NoiseVar',0.1*eye(3)) u = iddata([], idinput([800 2],'rbs')); e = iddata([], randn(800, 3)); y = sim(m0, [u e]) Data = [y u]; m = pem(Data(1:400)) tf(m) compare(Data(401:800),m) view(m)
![]() | Periodic Inputs | Memory/Speed Trade-Offs | ![]() |