byhu2008 发表于 2010-8-4 19:35

采集到的时域信号如何求出有效值

对于求有效值的方法仍是不大明白,先再发一帖,希望经验丰富的老师们指点一二。
附件中是保存的采样后的数据信息,附件下载后将文件后缀名.txt 改为 .rar(数据较大传不上来,所以压缩了,请以压缩文件打开)


采样频率30KHZ,采样时间1S。
最后分析频率也即计算有效值的频率段为50~10KHZ
有效值单位为dB,基准加速度a0=9.81×10^-3m/s^2
仪器上显示的有效值为31.1dB

我把数据用matlab做fft变换:y=abs(fft(data))*2/length(data),然后将50~10KHZ的幅值导入excel用公式:有效值=SQRT(SUMSQ(幅值)),
dB=20*log10(有效值/0.00981)
最后得出的结果有效值=6.245   dB=56.077dB,和31.1dB错那么远,我无论如何也得不到正确的结果,而且作出的时域图貌似也不对?
恳请高人指点,谢谢!

byhu2008 发表于 2010-8-5 18:42

难道没人可以算出来么:@o:@o:@o

byhu2008 发表于 2010-8-6 18:50

继续顶起,不信没人:@( :@( :@(

hcharlie 发表于 2010-8-6 20:54

回复 楼主 byhu2008 的帖子

你这是什么数据,是振动数据吗?为什么正多负少?
如果是振动数据应该将所有数值a减去平均值。
有效值的计算可以用下式计算,不用做FFT:
有效值=SQRT((a1^2+a2^2+a3^2+。。。。。。+an^2)/ n)

kiddjiang 发表于 2010-8-6 21:18

同意楼上的意见
data=data-mean(data);
rms=norm(data)/sqrt(length(data));
dB=20*log10(rms/0.00981);

byhu2008 发表于 2010-8-6 21:42

回复 地板 hcharlie 的帖子

采集的是振动数据,至于为什么正多负少我也不知道,反正仪器保存后的数据就是这样。就是结果算不对。

[ 本帖最后由 byhu2008 于 2010-8-6 21:47 编辑 ]

byhu2008 发表于 2010-8-6 21:44

回复 5楼 kiddjiang 的帖子

可是这样结果算出来是dB =54.3518,而实际结果应该是31.1,为什么错那么远呢?

korec2200 发表于 2010-8-7 00:20

小的鄙见 +filter, try!?

Ex:

function =BF(data)

n=4; %4 older

Wn_H=100/2500;
Wn_L=1000/2500;

=butter(n,Wn_H,'High');
y=filter(b1,a1,data);
=butter(n,Wn_L,'Low');
x=filter(b2,a2,y);

butter_filter=x;

[ 本帖最后由 korec2200 于 2010-8-7 00:22 编辑 ]

欧阳中华 发表于 2010-8-7 08:33

.
   有效值定义不是一个积分吗?等效“有效值=SQRT((a1^2+a2^2+a3^2+。。。。。。+an^2)/ n)”?

hcharlie 发表于 2010-8-7 09:54

回复 楼主 byhu2008 9楼 欧阳中华 的帖子

有效值也定义为 SQRT((a1^2+a2^2+a3^2+。。。。。。+an^2)/ n)” !
我算得平均值=7.405;去平均值以后的总RMS=5.120 m/s^2;54.35dB这个值应该是最直观的。
50~10K间的RMS应该小于5.12

[ 本帖最后由 hcharlie 于 2010-8-7 10:54 编辑 ]

byhu2008 发表于 2010-8-7 13:52

回复 10楼 hcharlie 的帖子

现在问题是仪器上显示的实际值是31.1dB,这个值和54.35dB错的太远了,不知道问题在哪?

hcharlie 发表于 2010-8-7 16:11

回复 11楼 byhu2008 的帖子

你的0 dB=0.001g
54dB=0.5g
31dB=0.036g
这两个振动量级相差14倍,你的实际振动究竟是哪个量级,你也没有数吗?RMSG=0.5g有点麻手,另一个很平静的!
顺便说一下,我替你做了,50~10000Hz内的RMS约等于总RMS 5.12的0.86倍,约为 4.40m/s2

[ 本帖最后由 hcharlie 于 2010-8-7 16:18 编辑 ]

byhu2008 发表于 2010-8-7 18:37

回复 12楼 hcharlie 的帖子

31.1dB是正确的,我现在是想知道求有效值的正确方法,因为我算的结果也是很大的,无法得到正确的有效值。

另外,传感器的灵敏度是43mV/(m/^2),但是把数值除以灵敏度后又会变得很小。真不知道是怎么回事。

还有数据正多负少的问题在减去平均值后就好了。

[ 本帖最后由 byhu2008 于 2010-8-7 18:39 编辑 ]

kiven880303 发表于 2010-11-10 11:35

这是怎么回事呢!学习......

robustcococole 发表于 2011-9-19 09:38

我也困惑中。。。
页: [1] 2
查看完整版本: 采集到的时域信号如何求出有效值