menmen 发表于 2011-5-6 23:02

【请教】频响函数估计的结果与理论计算结果不一致

我用Matlab仿真(lsim函数)得到了一组位移响应数据,再用Gxf/Gff得到了系统的频响函数的估计结果,可是与由导纳函数得到的理论结果的虚部正负号刚好相反。
查了几遍也不知道是哪里错了,哪位高人帮忙指点一下!!谢谢!!

图中由上至下分别为频响函数的模值、实部、虚部,左侧为估计值,右侧为理论值。

109010051 发表于 2011-5-10 14:24

我现在也遇到这种情况,用这样的实部和虚部得到的相位差正好反过来(一个是从0开始计,另一个是从180开始计),所以我感觉这是因为频响函数计算时相位的处理方式不同造成的,望高人解答。。。

menmen 发表于 2011-5-16 22:33

本帖最后由 menmen 于 2011-5-16 22:39 编辑

下面是仿真数据构造程序,有什么地方错了吗?为什么用构造的位移响应数据,进行频响函数估计,估计公式为H(w)=Gxf(w)/Gff(w),结果会像上面那样,虚部方向了呢?请高人指点。。。
%系统参数
M1 = 3;M2 = 1; M3 = 2;
K1 = 600; K2 = 600; K3 = 800; K4 = 1000; K5 = 200; K6 = 800;
C1 = 5; C2 = 3; C3 = 4; C4 = 1; C5 = 2; C6 = 1;
%系统矩阵
zeroMatric = zeros(3,3);
Mmatric = ;
Kmatric = ;
Cmatric = ;
%状态空间模型:参数矩阵
A = ;
B = ;
C = ;
D = ;
v0 = ;%初始状态
%%%%%%%%%%%%系统输入力%%%%%%%%%%%%%%%%%%%
fs = 2000;%Hz
T = 101;%s %数据时长
t = 0:1/fs:T-1/fs;%s %采用时间
x1Input = ';%输入力
x2Input = ';
x3Input = ';
zeroInput = ';%输入力为零
F = ;%输入力矩阵
= lsim(A,B,C,D,F,t);

menmen 发表于 2011-5-26 21:36

问题已经解决了。是计算互谱时出现了错误,正确的是:H(f)=Gfx/Gff, Gfx=conj(F(f))*X(f).
希望大家不要犯和我一样的错误!
页: [1]
查看完整版本: 【请教】频响函数估计的结果与理论计算结果不一致