sys = iv4(data,[na
nb nk]) estimates an ARX polynomial model, sys,
using the four-stage instrumental variable method, for the data object data. [na
nb nk] specifies the ARX structure orders of the A and B polynomials
and the input to output delay. The estimation algorithm is insensitive
to the color of the noise term.

sys is an ARX model:

$$A(q)y(t)=B(q)u(t-nk)+v(t)$$

Alternatively, you can also use the following syntax:

sys = iv4(___,Name,Value) estimates
an ARX polynomial with additional options specified by one or more Name,Value pair
arguments.

sys = iv4(___,opt) uses
the option set, opt, to configure the estimation
behavior.

Input Arguments

data

Estimation time series data.

data must be an iddata object.

[na nb nk]

ARX polynomial orders.

For multi-output model, [na nb nk] contains
one row for every output. In particular, specify na as
an Ny-by-Ny matrix, where each
entry is the polynomial order relating the corresponding output pair.
Here, Ny is the number of outputs. Specify nb and nk as Ny-by-Nu matrices,
where Nu is the number of inputs. For more details
on the ARX model structure, see arx.

opt

Estimation options.

opt is an options set that configures the
estimation options. These options include:

Specify optional comma-separated pairs of Name,Value arguments.
Name is the argument
name and Value is the corresponding
value. Name must appear
inside single quotes (' ').
You can specify several name and value pair
arguments in any order as Name1,Value1,...,NameN,ValueN.

'InputDelay'

Input delay for each input channel, specified as a scalar value
or numeric vector. For continuous-time systems, specify input delays
in the time unit stored in the TimeUnit property.
For discrete-time systems, specify input delays in integer multiples
of the sampling period Ts. For example, InputDelay
= 3 means a delay of three sampling periods.

For a system with Nu inputs, set InputDelay to
an Nu-by-1 vector. Each entry of this vector is
a numerical value that represents the input delay for the corresponding
input channel.

You can also set InputDelay to a scalar value
to apply the same delay to all channels.

Default: 0

'ioDelay'

Transport delays. ioDelay is a numeric array
specifying a separate transport delay for each input/output pair.

For continuous-time systems, specify transport delays in the
time unit stored in the TimeUnit property. For
discrete-time systems, specify transport delays in integer multiples
of the sampling period, Ts.

For a MIMO system with Ny outputs and Nu inputs,
set ioDelay to a Ny-by-Nu array.
Each entry of this array is a numerical value that represents the
transport delay for the corresponding input/output pair. You can also
set ioDelay to a scalar value to apply the same
delay to all input/output pairs.

Default: 0 for all input/output pairs

'IntegrateNoise'

Specify integrators in the noise channels.

Adding an integrator creates an ARIX model represented by:

$$A(q)y(t)=B(q)u(t-nk)+\frac{1}{1-{q}^{-1}}e(t)$$

where,$$\frac{1}{1-{q}^{-1}}$$ is the integrator
in the noise channel, e(t).

IntegrateNoise is a logical vector of length Ny,
where Ny is the number of outputs.

Default: false(Ny,1), where Ny is
the number of outputs

Output Arguments

sys

Identified polynomial model of ARX structure.

sys is an idpoly model which encapsulates the identified
polynomial model.

Examples

Estimate a two-input, one-output system with different delays
on the inputs u_{1} and u_{2}.

z = iddata(y, [u1 u2]);
nb = [2 2];
nk = [0 2];
m= iv4(z,[2 nb nk]);

Estimation is performed in 4 stages. The first stage uses the arx function. The resulting model generates
the instruments for a second-stage IV estimate. The residuals obtained
from this model are modeled as a high-order AR model. At the fourth
stage, the input-output data is filtered through this AR model and
then subjected to the IV function with the same instrument filters
as in the second stage.

For the multiple-output case, optimal instruments are obtained
only if the noise sources at the different outputs have the same color.
The estimates obtained with the routine are reasonably accurate, however,
even in other cases.

References

[1] Ljung, L. System Identification: Theory for
the User, equations (15.21) through (15.26), Upper Saddle
River, NJ, Prentice-Hal PTR, 1999.