Preprocesses time-domain data for PI-MOESP subspace identification of discrete-time LTI state-space models. Delivers an order-estimate.


[S,R] = dordpi(u,y,s)

[S,R] = dordpi(u,y,s,Rold)


This function performs the initial data compression for PI-MOESP subspace identification based on measured input-output data [1]. In addition, it delivers information usuable for determining the required model order. The model structure is the following

$$ x(k+1) = Ax(k) + Bu(k) $$

$$ y(k)   = Cx(k) + Du(k) + v(k) $$

Here, v(k) is zero-mean noise of arbitary color, independent of the noise-free input u(k) . Several data batches can be concatenated, as shown below. This function acts as a preprocessor to dmodpi.


u,y is the measured input and output data of the system to be identified.

s is the block-size parameter. This scalar should be >n.

Rold is the (optional) data-matrix resulting from a previous call to dordpi.


S is the first s singular values of the rank-deficient R32 matrix (see below).

R is a compressed data matrix containing information about the measured data, as well as information regarding the system dimensions.


The discrete-time data compression algorithm in [1] is used. The following RQ-factorization is made:

The meaning of the various matrices can be found in the cited article. A weighted SVD of the R32 matrix is made, and its left singular vectors are appended to the R-matrix. Its first s singular values are returned in S.

Used By

This a top-level function that is used directly by the user.

See Also

dordpo, dmodpo, dmodpi, dordrs, dmodrs


[1] M. Verheagen, "Identification of the deterministic part of MIMO state space models given in innovations form from input-output data", Automatica, vol. 30, no. 1, pp. 61-74, 1994.