声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4750|回复: 17

[FFT] 请帮我验证正确性--计算A声级的问题

[复制链接]
发表于 2007-5-31 01:01 | 显示全部楼层 |阅读模式

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

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

x
用计算机声卡采集噪声,用16位表示每个采集样本,采集频率为11025Hz,这样可得到时幅数据,再做FFT变换,得到频幅数据,在20Hz-20000Hz范围内各个频率对应的幅度除以声压的阀值,这样能得到dB吗?如果不能,是不是应该在用幅度除以声压阀值后需要取常用对数,然后乘以20才能得到dB呢?(即:20*log10(P/P。))
还有,因为要计算A声级,求得声压级后要加上各个频率对应的A计权值才能得到A声级,怎么由频幅数据确定各个频率呢?因为只有知道了频率才能确定对应的A计权值,才能求A声级。希望哪位大侠验证我上面所述正确与否,并希望能答复我的问题,多谢了!
回复
分享到:

使用道具 举报

发表于 2007-5-31 16:44 | 显示全部楼层
我想这里大多是做振动信号处理的,像这种其他领域非纯粹的信号处理的问题很可能还是得由自己解决。
发表于 2007-5-31 17:54 | 显示全部楼层
光从声卡输入的电压计算起,是不可能求出声压级的,要从传声器算起。首先对各部分进行标定。参看一下:
http://forum.vibunion.com/forum/vi ... 39&page=1#pid234605

评分

1

查看全部评分

发表于 2007-5-31 19:08 | 显示全部楼层
20*log10(P/P。)是对的,但按各频率加权来求声压,各频率按倍频程或1/3倍频程求各段声压,各段声压又采用平方和开方来求。可以找参考书查找一下。
 楼主| 发表于 2007-5-31 19:38 | 显示全部楼层

回复 #4 songzy41 的帖子

哦,谢谢,知道一点,据我了解,声卡采集的数据是无量纲的,但除以100就是毫伏的单位,所以我在这里除以100进行了标定,其他地方没有进行标定,不知道这样正确否?
 楼主| 发表于 2007-5-31 19:44 | 显示全部楼层

回复 #5 friendnx 的帖子

按频率加权先要知道包含哪些频率,怎么求出频率呢?
发表于 2007-5-31 20:13 | 显示全部楼层
原帖由 leiswpu 于 2007-5-31 19:38 发表
哦,谢谢,知道一点,据我了解,声卡采集的数据是无量纲的,但除以100就是毫伏的单位,所以我在这里除以100进行了标定,其他地方没有进行标定,不知道这样正确否?

1,声卡的输入无非有二个插口,一个是直接接传声器,里面将有自动坛益,另一个是线路输入 (online),不论哪一个输入都是电压输入。
2,就算楼主所说,“声卡采集的数据是无量纲的,但除以100就是毫伏的单位”,那声卡采集的数据还是有量纲的,是电压的量纲。
3,“声卡采集的数据是无量纲的,但除以100就是毫伏的单位”,只是毫伏,无法转换到声压的单位(帕)。要计算声级必须要转成2个声压之比:20*log10(P/P。)
 楼主| 发表于 2007-5-31 22:18 | 显示全部楼层

回复 #7 songzy41 的帖子

我要计算声级,怎么能得到声压呢?
发表于 2007-6-1 08:01 | 显示全部楼层
原帖由 leiswpu 于 2007-5-31 22:18 发表
我要计算声级,怎么能得到声压呢?

正如我在#3层所述,要从传声器开始进行标定。请参阅以下帖子
http://www.chinavib.com/forum/viewthread.php?tid=44412&page=1#pid232465
该帖子是求速度,而楼主是求声压,但方法是一样的。

同时请问楼主:
1,噪声的频率范围是多少?楼主的采集频率为11025Hz,是得不到“20Hz-20000Hz范围内各个频率对应的幅度”。
2,准备怎么进行A计权计算的?
 楼主| 发表于 2007-6-1 09:16 | 显示全部楼层

回复 #9 songzy41 的帖子

非常感谢你的回答,我是用麦克风输入噪声的,不知道该如何标定
1、我不确定噪声的频率范围是多少
“楼主的采集频率为11025Hz,是得不到“20Hz-20000Hz范围内各个频率对应的幅度”
那应该怎么办呢?
2、在NI公司的CVI开发环境中有个函数,输入时幅数据,可以输出其幅度、相位,但我不知道求出幅度后,怎么确定各幅度对应的频率
是不是这样的,求A声级,先求出声压级,再按照频率加上相应的A计权值就是A声级呢?


目前我求的声压级多半不对,是用求得的幅度除以声压阀值,再取常用对数,并乘以20,我知道应该用声压除以阀值,但由于时间太紧,也没其他办法
发表于 2007-6-1 14:03 | 显示全部楼层
原帖由 leiswpu 于 2007-6-1 09:16 发表
非常感谢你的回答,我是用麦克风输入噪声的,不知道该如何标定
1、我不确定噪声的频率范围是多少
“楼主的采集频率为11025Hz,是得不到“20Hz-20000Hz范围内各个频率对应的幅度”
那应该怎么办呢?
2、在NI ...

为求绝对声压值,并进一步计算出声压级,对于麦克风(传声器)当然必须标定,测量它的灵敏度。B&K公司有专门的设备对传声器进行标定的(其它声学仪器公司可能也有)。如果不能标定只能求相对值。
1,为满足采样定律,采样频率必须大于信号中最高频率2倍;
2,对于A计权,MATHWORK的用户交流区中有A计权网络滤波器,信号通过该滤波器后便被A计权了,滤波器的设计程序在附件中。

adsgn.m

1.04 KB, 下载次数: 41

设计A计权网络滤波器

aspec.m

1.89 KB, 下载次数: 29

绘制A计权网络滤波器频响曲线

评分

1

查看全部评分

 楼主| 发表于 2007-6-1 15:38 | 显示全部楼层

回复 #11 songzy41 的帖子

我做的开发是毕业设计题目,所以能求出相对值就可以了,不需要太精确
我设置的采样频率11025Hz应该算比较高了吧,满足采样定律的,在CVI里我还不知道怎么利用m文件,但我已下载了,以后慢慢研究。
现在我计算出了声压级,是用求得的幅度除以声压阀值,再取常用对数,并乘以20,数值上感觉是对的,在50dB--130dB范围内,如果进行A计权,可能就和常用的A声级差不多了,这样对不对呢?
还有个问题,就是A声级,是用求得的声压级加上A计权值,还是用各个频率加上A计权值呢?
 楼主| 发表于 2007-6-5 02:19 | 显示全部楼层

回复 #9 songzy41 的帖子

你好,请问一个问题,就是看我计算声压级的方法是不是有问题,多谢了
声卡采集噪声数据后,做FFT变换,所用的FFT函数有三个参数,一个输入数据实部A,一个输入数据虚部B,还有一个是FFT变换长度N,B我全部代入零,A就是代入噪声数据,变换后计算幅值,幅值M=sqrt(A*A+B*B),然后声压级=20*log10(M/0.0002)
请你帮忙回答一下,再次感谢,因为我觉得有错误,但不知道错在哪里
发表于 2007-6-5 08:44 | 显示全部楼层
楼主要求A声级,在这http://forum.vibunion.com/forum/thread-40001-3-1.html帖子上异步有人提出先用倍频程或1/3倍频程求出声级,同时在该帖子上我也给了你参考资料:“在王济和胡晓编 “MATLAB在振动信号处理中的应用” (中国水利水电出版社)一书中有一节用介绍1/3倍频程分析,它是在FFT之后用1/3倍频程滤波器对信号进行分析处理,求出1/3倍频程滤波器输出的均方根值,并提供了MATLAB程序,对楼主的课题很有参考价值。只不过是MATLAB程序,楼主可能要改为LabView。”不知楼主查阅了没有?
 楼主| 发表于 2007-6-5 09:35 | 显示全部楼层

回复 #14 songzy41 的帖子

好的,主要目前我没有这本书,先多谢了,我想办法去找这本书
现在改变开发环境可能不合适,但程序应该是相通的,能有所参考就可以了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-20 09:01 , Processed in 0.075459 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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