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

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

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

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

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

请看我的程序及数据

附件中是我的一组数据,有效格式是.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 17:35

请将加速度值先平均,再积分

是在论坛类看到的,试了一下,有谱线,但是对你的设备不了解,不知道是不是你想要的。比较了加速度谱和速度谱,趋势和特征相近
页: [1]
查看完整版本: 请问:如何计算振动烈度?