声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1289|回复: 4

ssi程序有点问题,请高手检查!!!

[复制链接]
发表于 2009-1-3 23:17 | 显示全部楼层 |阅读模式

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

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

x
%hankel矩阵
clear
clc
close all hidden
d=100     %采样频率
n1=20     %行(2*n1)
n2=40     %列
load Y.txt %响应数据数列
y=Y';
yy=zeros(2*n1,n2);    %空hankel矩阵
for i=1:n2
    yy(:,i)=y(i:i+2*n1-1) %hankel矩阵第i列
end
hankel_a=yy/((n2)^0.5)     %最后的hankel矩阵
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求奇异值
yp=hankel_a(1:n1,:);
yf=hankel_a(n1+1:2*n1,:);
pref=yf*yp'*pinv(yp*yp')*yp;
[r,c]=size(pref);
pi=pref(1:r-1,:);   
[p0 d0 q0]=svd(pi); %奇异值分解得d0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%定阶
%假如阶数为i
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%参数识别
pr=p0(:,1:i);    %U1
dd=d0(1:i,1:i);  %S1
dr=dd^0.5;       %S1^0.5
qr=q0(:,1:i);    %V1’

oi=pr*dr;        %U1*S1^0.5
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);  %A

[v,z]=eig(a);
z1=diag(z);  
z2=log(z1);  
fr=abs(z2)*d;
damp=real(z2)./fr*d;
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-1-3 23:17 | 显示全部楼层
算出来结果和实际值差别很大
 楼主| 发表于 2009-1-6 09:14 | 显示全部楼层
怎么没有人来了????都回家过年了吗
 楼主| 发表于 2009-1-8 15:29 | 显示全部楼层
高手,你在哪里???
发表于 2010-4-26 16:09 | 显示全部楼层
楼主不知道你这个信号Y是几个通道的数据,看你的语句Y就是单通道的信号了,单个通道数据怎么能识别出阵型呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-26 04:50 , Processed in 0.054282 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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