Preprocesses frequency-domain data for frequency-domain subspace identification of continuous-time state-space models.


[S,R] = fcordom(H,w,s)


This function performs the initial data compression for continuous-time subspace identification based on measured frequency reponse function (FRF) data. In addition, it delivers information usuable for determining the required model order. The model structure is the following:

$$ \dot{x}(t) = Ax(t) + Bu(t) $$

$$ y(t) = Cx(t) + Du(t) $$

This function acts as a preprocessor to fcmodom. Unlike in the discrete-time case, concatenating multiple data batches are not supported.


H is the measured frequency response function (FRF). This should be a matrix which follows the convention of MATLAB 6; it should be l x m x N in which H(:,:,i) contains the complex FRF at the i th complex frequency.

w is the vector of complex frequencies at which the FRF is measured:

$$ \mathtt{w} = j\omega $$

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


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

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


The MEX-implementation may generate the following warning:

Cholesky-factorization failed; falling back on QR-factorization.

This implies that the fast Cholesky-algorithm failed. The function has automatically fallen back onto a slower QR-algorithm. Results from fcordom can be used without problems if this warning appears.


The continuous-time data compression algorithm in [1] is used. The same factorizations as in the discrete-time function fdordom are used. However, the W and G matrices are formed by Forsythe-recursions to prevents ill-conditioning because the complex frequencies are not of unit magnitude [1,2].

A weighted SVD of the R22 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.

Uses Functions


BLAS-functions DTRMM and DGEMM.

(All built into the executable)

See Also

fcmodom, fdordom


[1] P. van Overschee and B. De Moor, "Continuous-time frequency domain subspace system identification", Signal processing, vol.52, no. 2, pp. 179-194, 1996.

[2] R. Pintelon, "Frequency domain subspace system identfication using non-parametric noise models", in Proceedings of the 40th IEEE Conference on Decision and Control, Orlando, Florida, pp. 3916-3921, Dec 2001.