Main Content

Estimate state-space model using subspace method with time-domain or frequency-domain data

estimates a discrete-time state-space model `sys`

= n4sid(`data`

,`nx`

)`sys`

of order
`nx`

using `data`

, which can be time-domain or
frequency-domain data. `sys`

is a model of the following form:

$$\begin{array}{l}\dot{x}(t)=Ax(t)+Bu(t)+Ke(t)\\ y(t)=Cx(t)+Du(t)+e(t)\end{array}$$

*A*, *B*, *C*, *D*,
and *K* are state-space matrices.
*u*(*t*) is the input,
*y*(*t*) is the output,
*e*(*t*) is the disturbance, and
*x*(*t*) is the vector of `nx`

states.

All entries of *A*, *B*, *C*, and
*K* are free estimable parameters by default. For dynamic systems,
*D* is fixed to zero by default, meaning that the system has no
feedthrough. For static systems (`nx = 0`

), *D* is an
estimable parameter by default.

incorporates additional options specified by one or more name-value pair arguments. For
example, to estimate a continuous-time model, specify the sample time
`sys`

= n4sid(`data`

,`nx`

,`Name,Value`

)`'Ts'`

as `0`

. Use the `'Form'`

,
`'Feedthrough'`

, and `'DisturbanceModel'`

name-value
pair arguments to modify the default behavior of the *A*,
*B*, *C*, *D*, and *K*
matrices.

[1] Ljung, L. *System
Identification: Theory for the User*, Appendix 4A, Second Edition, pp. 132–134.
Upper Saddle River, NJ: Prentice Hall PTR, 1999.

[2] van Overschee, P., and B. De Moor.
*Subspace Identification of Linear Systems: Theory, Implementation,
Applications.* Springer Publishing: 1996.

[3] Verhaegen, M. "Identification of
the deterministic part of MIMO state space models." *Automatica*, 1994,
Vol. 30, pp. 61–74.

[4] Larimore, W.E. "Canonical variate
analysis in identification, filtering and adaptive control." *Proceedings of the
29th IEEE Conference on Decision and Control*, 1990, pp. 596–604.

[5] McKelvey, T., H. Akcay, and L.
Ljung. "Subspace-based multivariable system identification from frequency response data."
*IEEE Transactions on Automatic Control*, 1996, Vol. 41, pp.
960–979.

`n4sidOptions`

| `idss`

| `ssest`

| `tfest`

| `procest`

| `polyest`

| `iddata`

| `idfrd`

| `idgrey`

| `canon`

| `pem`