Code covered by the BSD License  

Highlights from
Stochastic Subspace Realization

5.0

5.0 | 2 ratings Rate this file 13 Downloads (last 30 days) File Size: 2.18 KB File ID: #19788
image thumbnail

Stochastic Subspace Realization

by Yi Cao

 

01 May 2008 (Updated 02 May 2008)

A tool to identify a state space model from stochastic signals

| Watch this File

File Information
Description

This code provides a tool to identify a state space model from stochastic signals using a subspace approach.

The code is implemented in two steps using a nested function. The first step returns a vector of subspace singular values, from which a user can determine an appropriate order for the state space to be identified. Then by calling the nested function using the returned function handle the matrices of the state space model are obtained.

Acknowledgements

The author wishes to acknowledge the following in the creation of this submission:
Multivariable Subspace Identification: MOESP

MATLAB release MATLAB 7.6 (R2008a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (2)
05 Apr 2009 V. Poor  
28 Dec 2011 M H

Dear Mr Cao,
I am dealing with 20 channels of 50 Hz acceleration data to perform system identification and extraction of modal parameters. I found your code very helpful!
A short question:
- during the for-loop (line 51 to 54 in the code) You fill the future- and past-Block-Hankel matrix (Yf,Yp) with shifted blocks of the time series.

for k=1:d
    Yp((d-k)*ny+1:(d-k+1)*ny,:)=sy(:,k:k+N-1);
    Yf((k-1)*ny+1:k*ny,:)=sy(:,d+k:d+k+N-1);
end

I was wondering if the order within the past-matrix "Yp" is changed due to the LQ-decomposition?
Here, Yp is filled from bottom to top, "max past" is at the bottom "min past" is at the top. As far as I understand some papers "max past" is at the top and "min past" is at the bottom, so that there is only one time shift between the bottom of Yp and the top of Yf when performing Yh=[Yp;Yf]?

Yp could be filled analogue to Yf?:
Yp((k-1)*n_y+1 : k*n_y, :) = sy(:, k : k+N-1);

the results seem to be pretty equal...

Best regards,
Moritz Häckell

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
system identification Yi Cao 22 Oct 2008 09:59:52
stochastic realization Yi Cao 22 Oct 2008 09:59:52
subspace identification Yi Cao 22 Oct 2008 09:59:52

Contact us at files@mathworks.com