声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5032|回复: 18

共享ERA/DC算法和SSI算法程序

[复制链接]
发表于 2007-6-26 22:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function [fr,damp,v,d0]=eradc(n1,n2,h,d);
%  fr:frequecy matrix
%  damp:damp ratio matrix
%  n2:the order of hankel matrix

% generate R-matrix from h
[r,c]=size(h);
r(1:c-n1)=0;
for q=1:c-n1;
    r(q)=0;
    for i=1:n1;
        r(q)=h(q+i)*h(i)+r(q);
    end;
end;

% generate Hankel-matrix from R-matrix
h0=hankel(r(1:n2),r(n2:2*n2-1));
h1=hankel(r(2:n2+1),r(n2+1:2*n2));

% ERA start
[p0 d0 q0]=svd(h0);

%judge value's validlity
i=4;
cr1=3;
cr2=3;
cr3=3;
while (cr1>1.5 | cr2>1.5 | cr3>1.5) & i<20
    cr1=d0(i,i)/d0(i+2,i+2);
    cr2=d0(i+2,i+2)/d0(i+4,i+4);
    cr3=d0(i+4,i+4)/d0(i+6,i+6);
    i=i+2;
end;
i=i-4;

pr=p0(:,1:i);
dd=d0(1:i,1:i);
qr=q0(:,1:i);
dr=dd^(-0.5);

a=dr*pr'*h1*qr*dr;
[v,z]=eig(a);

z1=diag(z);
z2=log(z1);
fr=abs(z2)*d;
damp=real(z2)./fr*d;



n1是自相关函数的平均次数
21是hankel矩阵的阶数
h是脉冲的时程响应
d是采样频率

评分

1

查看全部评分

回复
分享到:

使用道具 举报

 楼主| 发表于 2007-6-26 22:11 | 显示全部楼层

SSI

function [fr,damp,v,d0]=ssi2(n1,n2,h,d);

% generate R-matrix from h
[r,c]=size(h);
r(1:c-n1)=0;
for q=1:c-n1;
    r(q)=0;
    for i=1:n1;
        r(q)=h(q+i)*h(i)+r(q);
    end;
end;

% generate Hankel-matrix from R-matrix
h0=hankel(r(1:n2),r(n2:2*n2-1));

%compute xi
yp=h0(1:n2/2,:);
yf=h0(n2/2+1:n2,:);
pref=yf*yp'*pinv(yp*yp')*yp;
[r,c]=size(pref);
pi=pref(1:r-1,:);
[p0 d0 q0]=svd(pi);

%judge qiyi value
i=4;
cr1=3;
cr2=3;
cr3=3;
while (cr1>1.5 | cr2>1.5 | cr3>1.5) & i<20
    cr1=d0(i,i)/d0(i+2,i+2);
    cr2=d0(i+2,i+2)/d0(i+4,i+4);
    cr3=d0(i+4,i+4)/d0(i+6,i+6);
    i=i+2;
end;
i=i-4;

pr=p0(:,1:i);
dd=d0(1:i,1:i);
dr=dd^0.5;
qr=q0(:,1:i);

oi=pr*dr;
xi=pinv(oi)*pi;

%compuet xi1
clear yf p0 d0 q0 pr dd dr qr

pi=pref(2:r,:);
[p0 d0 q0]=svd(pi);
xi1=pinv(oi)*pi;

a=xi1*pinv(xi);

[v,z]=eig(a);
z1=diag(z);
z2=log(z1);
fr=abs(z2)*d;
damp=real(z2)./fr*d;

评分

1

查看全部评分

 楼主| 发表于 2007-6-26 22:13 | 显示全部楼层

先坐个沙发

这两个程序是我自己编写用来做论文的。
若有不当之处让各位大虾指正
发表于 2007-6-27 08:52 | 显示全部楼层
能否介绍一下是做什么用的,谢谢!
 楼主| 发表于 2007-6-27 09:06 | 显示全部楼层

用于模态参数识别

可以识别频率和阻尼,如果在识别出振型,还需要加入几句语句。
因为我只需要识别频率和阻尼,所以没写关于振型的程序。
发表于 2007-6-27 09:16 | 显示全部楼层
谢谢共享!
发表于 2007-7-2 13:23 | 显示全部楼层
把识别振型语句加进去才算完整的SSI,仁兄不妨把那几个语句也加进去,我们学习下!^_^
 楼主| 发表于 2007-7-8 10:17 | 显示全部楼层
没时间加了
做论文的程序,本不应该贴出来的
如果哪位兄弟想用它发论文,请与我联系一下
体凉
发表于 2007-8-13 21:45 | 显示全部楼层
:@)
楼主可否发一份完整的程序给我啊,正在赶论文~急需
发表于 2008-12-20 22:18 | 显示全部楼层
楼主能否提供详细的n1,n2,h,d
想学习!!!
发表于 2009-9-26 20:59 | 显示全部楼层
楼主极大的促进了国内振动学术研究的进展速度,一点都不夸张!!顶起。SSI 程序 我找了那么久  竟然在这里有。汗啊······
发表于 2010-1-21 19:29 | 显示全部楼层
谢谢!刚刚接触,先试试,非常感谢
发表于 2010-5-13 20:07 | 显示全部楼层
楼主,如果有输入数据h就好了,现在不知道输入数据格式是怎么样的
发表于 2010-5-16 19:14 | 显示全部楼层
楼主你好,稳定图是怎么画的啊?画稳定图的程序有么?
发表于 2010-5-21 16:06 | 显示全部楼层
楼上的,你也是在随机子空间吗?用到稳定图法
我最近也在搞稳定图这方面,方便的话加我:79857660,我们交流一下,
我是华南理工大学的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 17:27 , Processed in 0.086913 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表