Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

An identified linear model is used to simulate and predict
system outputs for given input and noise signals. The input signals
are measured while the noise signals are only known via their statistical
mean and variance. The *general form* of the
state-space model, often associated with Kalman filtering, is an example
of such a model, and is defined as:

$$\begin{array}{c}x(t+1)=A(\theta )x(t)+B(\theta )u(t)+w(t)\\ \text{\hspace{1em}}\text{\hspace{0.17em}}y(t)=C(\theta )x(t)+D(\theta )u(t)+v(t),\end{array}$$ | (13-1) |

where, at time *t*:

*x*(*t*) is the vector of model states.*u*(*t*) is the measured input data.*y*(*t*) is the measured output data.*w*(*t*) is the process noise.*v*(*t*) is the measurement noise.

The noise disturbances are independent random variables with zero mean and covariances:

$$\begin{array}{c}E\left[w(t){w}^{\u22ba}(t)\right]={R}_{1}(\theta )\\ \text{\hspace{0.05em}}\text{\hspace{0.05em}}\text{\hspace{0.17em}}\text{\hspace{0.05em}}E\left[v(t){v}^{\u22ba}(t)\right]={R}_{2}(\theta )\\ E\left[w(t){v}^{\u22ba}(t)\right]={R}_{12}(\theta )\end{array}$$

The vector *θ* parameterizes the model,
including the coefficients of the system matrices and the noise covariances.
However, all elements of the model are not necessarily free. If you
have physical insight into the states of the system and sources of
noise, the model can have a specific structure with few parameters
in the vector *θ*.

For a given value of *θ*, you want to
predict the best estimates of *x*(*t*)
and *y*(*t*) in the presence of
any disturbances. The required *predictor model* equations
are derived from the Kalman filtering technique:

$$\begin{array}{c}\widehat{x}(t+1,\theta )=A(\theta )x(t)+B(\theta )u(t)+K(\theta )\left[y(t)-C(\theta )\widehat{x}(t,\theta )-D(\theta )u(t)\right]\\ \text{\hspace{1em}}\text{\hspace{0.17em}}\widehat{y}(t,\theta )=C(\theta )\widehat{x}(t)+D(\theta )u(t),\end{array}$$ | (13-2) |

where $$\widehat{x}(t,\theta )$$ is
the predicted value of the state vector *x*(*t*)
at time instant *t*, and $$\widehat{y}(t,\theta )$$ is
the predicted value of output *y*(*t*).
The variables *u*(*t*) and *y*(*t*)
in the above equation represent the measured input and output values
at time *t*. The *Kalman Gain* matrix, *K*(*θ*),
is derived from the system matrices and noise covariances as follows:

$$K(\theta )=\left[A(\theta )\Gamma (\theta ){C}^{\u22ba}(\theta )+{R}_{12}(\theta )\right]{\left[C(\theta )\Gamma (\theta ){C}^{\u22ba}(\theta )+{R}_{2}(\theta )\right]}^{-1},$$

where $$\Gamma (\theta )$$ is the covariance of the state estimate error:

$$\Gamma (\theta )=\overline{E}\left[\left[x(t)-\widehat{x}(t,\theta )\right]{\left[x(t)-\widehat{x}(t,\theta )\right]}^{\u22ba}\right].$$

$$\Gamma (\theta )$$ is
the solution of an algebraic Riccati equation. For more information,
see `dare`

and [1]

Denoting the output prediction error as $$e(t)=y(t)-\widehat{y}(t,\theta )$$, you can write the general state-space model in a simpler form:

$$\begin{array}{c}x(t+1,\theta )=A(\theta )x(t)+B(\theta )u(t)+K(\theta )e(t)\\ \text{\hspace{1em}}\text{\hspace{0.17em}}y(t)=C(\theta )x(t)+D(\theta )u(t)+e(t).\end{array}$$ | (13-3) |

This simpler representation is the *innovations form* of
the state-space model, and has only one unique disturbance source, *e*(*t*).
This form corresponds to choosing *R _{2}*=

Both the general and innovations form of the model lead to the
same predictor model as shown in Equation 13-2. Use the `predict`

command
to compute the predicted model response and to generate this predictor
system.

The identification task is to use input and output measurement
data to determine the parameterization vector, *θ*.
The approach to take depends on the amount of prior information available
regarding the system and the noise disturbances.

When only input-output data measurements are available, and
you have no knowledge of the noise structure, you can only estimate
the model in the innovations form. To do so, we use the one-step ahead
prediction error minimization approach (PEM) to compute the best output
predictor. For this approach, the matrix *K* is parameterized
independently of the other system matrices, and no prior information
about the system states or output covariances is considered for estimation.
The estimated model can be cast back into the general model structure
in many nonunique ways, one of which is to assume *R _{2}*=

Estimate state-space models in the innovations form using the `n4sid`

, `ssest`

,
and `ssregest`

commands. The system
matrices *A*, *B*, *C*, *D*,
and *K* are parameterized independently and the identification
minimizes the weighted norm of the prediction error, *e*(*t*).
For more information, see Estimating State-Space Models Using ssest, ssregest and n4sid and
the estimation examples in `ssest`

.

In this case, the estimation algorithm chooses the model states arbitrarily. As a result, it is difficult to imagine physically meaningful descriptions of the states and the sources for the disturbances affecting them.

In some situations, in addition to the input-output data, you
know something about the state and measurement disturbances. To make
the notion of state disturbances meaningful, it is necessary that
the states be well-defined, such as the positions and velocities in
a mechanical lumped-mass system. Well-defined states and known noise
sources result in a *structured* state-space model,
which you can then parameterize using the general model structure
of Equation 13-1.

To identify such models, use a grey-box modeling approach, which
lets you use any prior knowledge regarding the system parameters and
noise covariances. For example, you may know that only the first element
of *R _{1}* is nonzero, or that
all the off-diagonal terms of

To estimate a grey-box model with parameterized disturbances:

Create a MATLAB

^{®}function, called the ODE file, that:Computes the parameterized state-space matrices,

*A*,*B*,*C*, and*D*, using the parameter vector*θ*, which is supplied as an input argument.Computes the noise covariance matrices

*R*,_{1}*R*, and_{2}*R*. Each of these matrices can be completely or partially unknown. Any unknown matrix elements are defined in terms of parameters in_{12}*θ*.Uses the system matrices

*A*and*C*, and the noise covariances with the`kalman`

command to find the Kalman gain matrix,*K*.[~,K] = kalman(ss(A,eye(nx),C,zeros(ny,nx),Ts),R1,R2,R12);

Here,

`nx`

is the number of model states,`ny`

is the number of model outputs, and`Ts`

is the sample time. The`kalman`

command requires Control System Toolbox™ software.Returns

*A*,*B*,*C*,*D*, and*K*as output arguments.

Create an

`idgrey`

model that uses the ODE function and an initial guess value for the parameter vector,*θ*.Configure any estimation options using the

`greyestOptions`

command.Estimate

*θ*using`greyest`

command.

For an example of using parameterized disturbances with grey-box modeling, see Estimate Discrete-Time Grey-Box Model with Parameterized Disturbance.

Use the innovations form if all you have is measured input-output data. It is worthwhile to use the general form only if you can define a system parameterization with meaningful states, and you have nontrivial knowledge about the noise covariances. In this case, use grey-box estimation to identify the state-space model.

Both the general form and the innovations form lead to the same predictor. So, if your end goal is to deploy the model for predicting future outputs or to perform simulations, it is more convenient to use the innovations form of the model.

[1] Ljung, L. “State-Space Models.”
Section 4.3 in *System Identification: Theory for the User*.
2nd ed. Upper Saddle River, NJ: Prentice Hall, 1999, pp. 93–102.

`greyest`

| `idgrey`

| `n4sid`

| `predict`

| `ssest`

| `ssregest`

Was this topic helpful?