Preprocesses time-domain data for PO-MOESP subspace identification of discrete-time LTI state-space models. Delivers an order-estimate.
[S,R] = dordpo(u,y,s)
[S,R] = dordpo(u,y,s,Rold)
This function performs the initial data compression for PO-MOESP subspace identification based on measured input-output data . In addition, it delivers information usuable for determining the required model order. The model structure is the following
Here, w(k) and 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 dmodpo.
u,y is the measured input and output data of the system to be identified. DORDPO does handle empty inputs.
s is the block-size parameter. This scalar should be >n.
Rold is the (optional) data-matrix resulting from a previous call to dordpo.
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 data matrix R generated by the M-file implementation of dordpo is incompatible with the R matrix generated by the MEX-implementation of dordpo. Therefore, either the M-files should be used for both dordpo and dmodpo, or the MEX-files should be used for both functions.
The MEX-implementation of dordpo uses the IB01MD and IB01ND functions from the SLICOT library.
The MEX-implementation may return the warning:
Warning: Cholesky failed: using QR for this and any subsequent batches
This implies that a fast Cholesky algorithm failed and that the function has fallen back onto a slower QR algorithm. This warning does not imply that results are invalid; the results can be used without problems.
The discrete-time data compression algorithm in  is used. In the M-file implementation, the following RQ-factorization is made:
The meaning of the various matrices can be found in the cited article. In the MEX-implementation, the following Cholesky-factorization is attempted first:
If this factorization fails, the algorithm falls back on the above RQ-factorization. In all cases, 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.
This a top-level function that is used directly by the user.
SLICOT-functions IB01MD and IB01ND
(All built into the executable)
 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.