| 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 | ![]()  |