Extraction of modal parameters from state-space model

2 次查看(过去 30 天)
I have transformed my experiemtnal input - output responses data into a data object
Sample.Data=iddata(y,x,Ts);
where sampling frequency is 2048 Hz. I have then constructed state-space matrices of my system using an estimate 20th model order
ss.System = n4sid(Sample.Data,20,'Ts',Sample.Data.Ts);
How / what is the most efficient method of extracting the modal parameters frequencies (Hz), modal damping ratios (%) and mode shapes from the state-space matrices in matlab? To find the natural frequencies and damping ratios I have written the following however I seem to have issues with my modeshapes:
%Obtain the Eigenvalues and Eigenvectors
[V,D] = eig(ss.System.a);
%Ensure eigen values and vectors are sorted correctly
[d,ind] = sort(diag(D));EigenFreq= D(ind,ind);EigVector=V(:,ind);
% Calculate the frequencies and damping ratios from the eigenvalues of A
for jj=1:1:length(EigenFreq)
wk(jj)=abs(log(EigenFreq(jj,jj)))/Dt;
fk(jj)=wk(jj)/(2*pi);
Dk(jj)=-real(log(EigenFreq(jj,jj)))/(wk(jj)*Dt);
end
%Calculate the mode shapes from eigenvectors and C matrix
UnorderedEig(1:length(EigenFreq))=(ss.System.c*V)';
Phi=UnorderedEig(:,ind);
The mode shapes I obatin are complex numbers and I am unsure of how to convert them to real modeshapes.
Any help on the subject would be greatly appreciated. Thank you in advance

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dynamic System Models 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by