fanokay 发表于 2008-8-21 17:15

请问:如何计算振动烈度?

采集的是加速度信号,怎么计算烈度呢?理论上可以先对加速度积分得到速度,后fft变换得其幅值,再用公式计算烈度。
关于积分,有时域和频域积分两种方法,其中时域积分涉及初速度问题;好像前面有人提出问题说频域积分会有一个常数存在;具体该怎么做呢?

有没有大侠亲自做过振动烈度计算啊?能否详细指点一下,当然有算法供参考是最好不过的了:)
这里先谢过各位了,我的邮箱是fanokay@sina.com。。。

hcharlie 发表于 2008-8-21 17:35

振动烈度,各行业有各行业的标准。
地震烈度好像以加速度为准,机械设备则以速度为准分类。
加速度积分一次得速度,再积分一次得振幅。时间足够长了,积分初始值都取另。

fanokay 发表于 2008-8-21 19:29

请看我的程序及数据

附件中是我的一组数据,有效格式是.mat,上传附件不支持该格式文件……请各位注意更改后缀名!
我的程序有什么问题吗?为什么积分求得的速度是递减的呢?
clear;
load ('E:\Poject\1439.mat');
a_data = Data(:,1)';
n = length(a_data);
dt = 1/SampleFrequency;
t = (0:n-1)*dt;
figure;
plot(t,a_data);
title('原始加速度信号')
ylabel('Mag (m/s^2)');
xlabel('Time (s)');
%%%%%%%时域积分
V(1)=0;
for i=2:n-1
V(i)=V(i-1)+(a_data(i-1)+4*a_data(i)+a_data(i+1))/6*dt;    %%%%%%辛普森算法
end
V(n)=V(n-1);
figure;
plot(t,V);
title('由加速度信号辛普森算法时域积分得速度信号')
ylabel('Vm/s');
xlabel('Time (s)');
%%%%%%%%对速度FFT变换
V_fft = abs(fft(V))*2/n;
V_f = (0:n-1)*SampleFrequency/n;
figure;
plot(V_f(1:n/2+1),V_fft(1:n/2+1));    %单边频谱
title('速度FFT变换');
ylabel('V (m/s)');      
xlabel('Frequency (f/Hz)');
%%%%%%%%%求振动烈度
Vliedu = sqrt(sum(V_fft.^2)/2)

maple1520 发表于 2008-9-25 16:59

正在尝试中

我也有这个需求,正在尝试方案

猫头鹰先生 发表于 2014-3-13 10:48

请问做出振动烈度的计算了吗,能不能看一下?

猫头鹰先生 发表于 2014-3-14 10:58

fanokay 发表于 2008-8-21 19:29
附件中是我的一组数据,有效格式是.mat,上传附件不支持该格式文件……请各位注意更改后缀名!
我的程序有 ...

我后来发现速度值FFT变换后,求烈度,轴承达到了1.34左右,但是齿轮达到209.9865,太不可思议了,为什么相差那么大?不知道你遇到没有?另外我看到文献,用加速度求烈度值比你所写的要复杂得多。

猫头鹰先生 发表于 2014-3-14 10:59

fanokay 发表于 2008-8-21 19:29
附件中是我的一组数据,有效格式是.mat,上传附件不支持该格式文件……请各位注意更改后缀名!
我的程序有 ...

时隔多年,不知道楼主还研不研究?
页: [1]
查看完整版本: 请问:如何计算振动烈度?