声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 11269|回复: 14

关于频响函数估计H1,H2,H3,H4的问题

[复制链接]
发表于 2012-4-18 10:05 | 显示全部楼层 |阅读模式

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

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

x
频响函数估计有H1,H2,H3,H4,就是功率谱求平均,再求频响函数。可是在力锤冲击试验中,锤击力有50N,也有100N的,每次的采样长度也不一样,这样的话功率谱再求平均,还有意义吗?请稍给提示,非常感谢!
回复
分享到:

使用道具 举报

发表于 2012-4-19 19:53 | 显示全部楼层
回复 1 # yuanxingcom 的帖子

频响函数是输出除以输入,相当于求的是归一化的结果,与每次输入的能量大小没有关系的。
 楼主| 发表于 2012-4-20 11:04 | 显示全部楼层
回复 2 # uyuo 的帖子

首先谢谢您的回复。只是每个点我有三组数据,想通过功率谱平均的方法求频响函数,各个组之间的锤击力不一样,能平均吗?
发表于 2012-4-20 11:35 | 显示全部楼层
回复 3 # yuanxingcom 的帖子

频响函数(输出/输入)可以平均,功率谱(单是输出)不能平均。
发表于 2012-4-21 19:53 | 显示全部楼层
回复 3 # yuanxingcom 的帖子

能的,但是每次频响要分别计算,最终采用集总平均法进行计算
发表于 2012-11-17 20:12 | 显示全部楼层
本帖最后由 wdhd 于 2016-8-29 09:31 编辑

关于如何计算频响函数,牵涉到其中的平均问题的讨论由来已久。
目前为止,还有些不确切的说法,所以把老帖子拿出来回复。

在某测点多次触发锤击,以及激振器激励时,如何估算频响函数,牵涉到频域平均,论坛上有疑问:
是每次求完自谱,互谱后,计算频响函数,对频响函数求平均?
还是对互谱、自谱求平均,然后估算频响函数?

准确的答案应该是:
  对激励及响应信号求傅立叶谱后,对进一步得到的功率谱进行平均,再进一步估算频响函数、相干函数等。

具体的理论分析参考下面书籍,p94~p101
2012-11-17 19-48-37.png

另外,其他的资料也给出了同样的答案 —— 先求平均功率谱,再估算频响函数

1. peter avitabile的modal space系列文章之一
2012-11-17 19-51-53.png
文章中的说明估算频响函数的步骤,注意下图中1,2圆圈。
2012-11-17 19-51-53.png

2. 美国辛辛那提大学结构动力学实验室的R.J.Allemang教授提供的计算频响函数(H1,H2,Hv估算子)的matlab源码,也给出了上面的答案,感兴趣的,可以复制到matlab程序,保存后,调试、运行,体会一下。
2012-11-17 20-02-35.png

% v3_frf.m   
%
% This is a script file to compute H1, H2 and Hv
% for a known sdof system given the mass, damping and
% stiffness terms in dimensionless units.  The output
% includes frequency domain plots of the frequency
% response functions.
%
%**********************************************************************
% Author: Randall J. Allemang
% Date:        18-Apr-94
% Structural Dynamics Research Lab
% University of Cincinnati
% Cincinnati, Ohio  45221-0072
% TEL:  513-556-2725
% FAX:  513-556-3390
% E-MAIL: randy.allemang@uc.edu
%*********************************************************************
%
clg, clear
plt=input('Store plots to file (Yes=1): (0)');if isempty(plt),plt=0;end;
mass=input('Mass value: (10)');if isempty(mass), mass=10;end;
stiff=input('Stiffness value: (16000)');if isempty(stiff),stiff=16000;end;
damp=input('Damping value: (1)'); if isempty(damp),damp=1;end;
omega=linspace(0,100,500);
Hmethod=menu('FRF Computation','H (Theory)','H1 Algorithm', ...
'H2 Algorithm','Hv Algorithm','Hv Algorithm','Exit')
%
s=j*omega;
H=1.0./(mass.*s.*s+damp.*s+stiff);
%
GXX=zeros(1,500);
GFF=zeros(1,500);
GXF=zeros(1,500);
GFX=zeros(1,500);
% 求平均功率谱
for Navg=1:25
        F=rand(1,500)+j.*rand(1,500);
        X=H.*F;
        GFF=GFF+F.*conj(F);
        GXX=GXX+X.*conj(X);
        GXF=GXF+X.*conj(F);
        GFX=GFX+F.*conj(X);
end;
%
if(Hmethod==1)
fig1=figure(1);
semilogy(omega,abs(H))
xlabel('Frequency (Hz)'),ylabel('Log Magnitude'),grid
title('Theoretical FRF')
pause
fig2=figure(2);
plot(omega,360./(2.*pi).*angle(H))
xlabel('Frequency (Hz)'),ylabel('Phase (Deg)'),grid
title('Theoretical FRF')
pause
end
%
if(Hmethod==2)
H1=GXF./GFF;
fig3=figure(3);
semilogy(omega,abs(H1))
xlabel('Frequency (Hz)'),ylabel('Log Magnitude'),grid
title('H1 FRF Algorithm')
pause
fig4=figure(4);
plot(omega,360./(2.*pi).*angle(H1))
xlabel('Frequency (Hz)'),ylabel('Phase (Deg)'),grid
title('H1 FRF Algorithm')
pause
end
%
if(Hmethod==3)
H2=GXX./GFX;
fig5=figure(5);
semilogy(omega,abs(H2))
xlabel('Frequency (Hz)'),ylabel('Log Magnitude'),grid
title('H2 FRF Algorithm')
pause
fig6=figure(6);
plot(omega,360./(2.*pi).*angle(H2))
xlabel('Frequency (Hz)'),ylabel('Phase (Deg)'),grid
title('H2 FRF Algorithm')
pause
end
%Hv估计
if(Hmethod==4)
for ii=1:500;
        G=[GXX(1,ii),GFX(1,ii);GXF(1,ii),GFF(1,ii)];
        [x,d]=eig(G);
        orig_lambda=diag(d);
        [Y,I]=sort(real(orig_lambda));
        lambda=orig_lambda(I);
        psi=x(:,I);
        Hv(1,ii)=-psi(2,1)/psi(1,1);
end;
fig7=figure(7);
semilogy(omega,abs(Hv))
xlabel('Frequency (Hz)'),ylabel('Log Magnitude'),grid
title('Hv FRF Algorithm')
pause
fig8=figure(8);
plot(omega,360./(2.*pi).*angle(Hv))
xlabel('Frequency (Hz)'),ylabel('Phase (Deg)'),grid
title('Hv FRF Algorithm')
pause
end
%Hv估计
if(Hmethod==5)
for ii=1:500;
        G=[GFF(1,ii),GXF(1,ii);GFX(1,ii),GXX(1,ii)];
        [x,d]=eig(G);
        orig_lambda=diag(d);
        [Y,I]=sort(real(orig_lambda));
        lambda=orig_lambda(I);
        psi=x(:,I);
        Hv(1,ii)=-psi(1,1)/psi(2,1);
end;
fig9=figure(9);
semilogy(omega,abs(Hv))
xlabel('Frequency (Hz)'),ylabel('Log Magnitude'),grid
title('Hv FRF Algorithm')
pause
fig10=figure(10);
plot(omega,360./(2.*pi).*angle(Hv))
xlabel('Frequency (Hz)'),ylabel('Phase (Deg)'),grid
title('Hv FRF Algorithm')
pause
end
%
if(Hmethod==6)
break
end
if plt==1
print -deps -f1 v3_frfa.eps
print -deps -f2 v3_frfb.eps
print -deps -f3 v3_frfc.eps
print -deps -f4 v3_frfd.eps
print -deps -f5 v3_frfe.eps
print -deps -f6 v3_frff.eps
print -deps -f7 v3_frfg.eps
print -deps -f8 v3_frfh.eps
print -deps -f9 v3_frfi.eps
print -deps -f10 v3_frfj.eps
end











点评

呵呵,谢谢鼓励  发表于 2013-1-7 22:07
希望大家能学习这种讨论的风格、态度和热情. . .  发表于 2012-11-18 09:31

评分

1

查看全部评分

发表于 2012-11-17 22:39 | 显示全部楼层
% 求平均功率谱
for Navg=1:25
        F=rand(1,500)+j.*rand(1,500);
        X=H.*F;
        GFF=GFF+F.*conj(F);
        GXX=GXX+X.*conj(X);
        GXF=GXF+X.*conj(F);
        GFX=GFX+F.*conj(X);
end;
%
从这里的“X=H.*F;”可以看出,结构反应的傅里叶变换,他是直接用频响函数和输入里算的,没有直接算输入力的加速度反应等,这与一般的动力问题分析步骤不一致,所以这个程序有这点不足之处。。。
发表于 2012-11-17 23:16 | 显示全部楼层
太阳vib 发表于 2012-11-17 22:39
% 求平均功率谱
for Navg=1:25
        F=rand(1,500)+j.*rand(1,500);

这个程序完整地展示了如何进行频响函数估计的过程。至于这里的响应是仿真出来的,不影响展示频响估计的过程。请看到其本质。
发表于 2014-2-19 16:50 | 显示全部楼层
这种“对激励及响应信号求傅立叶谱后,对进一步得到的功率谱进行平均,再进一步估算频响函数”丢失了相位信息,如果要求相频函数怎么办呢?
发表于 2014-2-19 16:51 | 显示全部楼层
westrongmc 发表于 2012-11-17 20:12
关于如何计算频响函数,牵涉到其中的平均问题的讨论由来已久。
目前为止,还有些不确切的说法,所以把老 ...

这种“对激励及响应信号求傅立叶谱后,对进一步得到的功率谱进行平均,再进一步估算频响函数”丢失了相位信息,如果要求相频函数怎么办呢?
发表于 2014-2-19 17:12 | 显示全部楼层
本帖最后由 westrongmc 于 2014-2-19 17:16 编辑
随心就动 发表于 2014-2-19 16:51
这种“对激励及响应信号求傅立叶谱后,对进一步得到的功率谱进行平均,再进一步估算频响函数”丢失了相位 ...

没有听过丢失相位信息。
自功率谱没有相位信息(实数),但是互功率谱(复数)有啊。
以H1算子为例,H1=GXF./GFF,还是复数,自然有相位信息。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-2 23:39 , Processed in 0.128136 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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