System Identification Toolbox | ![]() ![]() |
Construct an idpoly
model for input-output models.
Syntax
m = idpoly(A,B) m = idpoly(A,B,C,D,F,NoiseVariance,Ts) m = idpoly(A,B,C,D,F,NoiseVariance,Ts,'Property1',Value1,... 'PropertyN',ValueN)
Description
idpoly
creates a model object containing parameters that describe the general multi-input-single-output model structure.
A
, B
, C
, D
, and F
specify the polynomial coefficients.
For single-input systems, these are all row vectors in the standard MATLAB format.
A
, C
, D
, and F
all start with 1, while B
contains leading zeros to indicate the delays. See "Polynomial Representation of Transfer Functions in the "Tutorial" chapter.
For multi-input systems, B
and F
are matrices with one row for each input.
For time series, B
and F
are entered as empty matrices.
NoiseVariance
is the variance of the white noise sequence , while
Ts
is the sampling interval.
Trailing arguments C
, D
, F
, NoiseVariance
, and Ts
can be omitted, in which case they are taken as 1. (If B=[]
, then F
is taken as []
.) The property name/property value pairs can start directly after B
.
Ts = 0
means that the model is a continuous-time one. Then the interpretation of the arguments is that
corresponds to the polynomial in the Laplace variable s, and so on. For continuous-time systems
NoiseVariance
indicates the level of the spectral density of the innovations. A sampled version of the model has the innovations variance NoiseVariance/Ts
, where Ts
is the sampling interval. The continuous-time model must have a white noise component in its disturbance description. See the section Spectrum Normalization and the Sampling Interval in the "Tutorial".
For discrete-time models (Ts
>0), note the following: idpoly
strips any trailing zeros from the polynomials when determining the orders. It also strips leading zeros from the B
polynomial to determine the delays. Keep this in mind when you use idpoly
and polydata
to modify earlier estimates to serve as initial conditions for estimating new structures. See the section Initial Parameter Values in the "Tutorial".
idpoly
can also take any single-output idmodel
or LTI-object mi
as input argument. If an LTI-system has an input group with name `Noise
', these inputs will be interpreted as white noise with unit variance, and the noise model of the idpoly
model will be computed accordingly.
Properties
The properties of the idpoly
object can be summarized as follows:
na, nb, nc, nd, nf, nk
: The orders and delays of the polynomials. Integers or row vectors of integers.
a, b, c, d, f
:
The polynomials, described by row vectors and matrices as detailed above.
da, db, dc, dd, df
: The estimated standard deviation of the polynomials. Cannot be set.
InitialState
: How to deal with the initial conditions that are required to compute the prediction of the output: Possible values
'Estimate
':
The necessary initial states are estimated from data as extra parameters
'Backcast
': The necessary initial states are estimated by a backcasting (backwards filtering) process, described in Knudsen (1994)
'Zero
': all initial states are taken as zero
'Auto
':
An automatic choice between the above is made, guided by the data.
In addition, any idpoly
object also has all the properties of idmodel
. See idmodel
properties and Algorithm Properties
.
Note that all properties can be set or retrieved either by set/get
or by subscripts. Autofill applies to all properties and values, and are these case insensitive.
For a complete list of property values, use get(m)
. To see possible value assignments, use set(m)
. See also idprops idpoly
.
Examples
To create a system of ARMAX, type
This gives a system with one delay (nk = 1)
.
Create the continuous-time model
Sample it with T=0.1
and then simulate it without noise.
Note that the continuous time model will automatically be sampled to the sampling interval of the data, when simulated, so the above is also achieved by
See Also
References
See Ljung (1999) Section 4.2 for the model structure family.
T. Knudsen (1994): A new method for estimating ARMAX models. In Proc. 10th IFAC Symposium on System Identification, pp 611-617. Copenhagen, Denmark
![]() | idmodred | idss | ![]() |