resunli 发表于 2007-4-6 11:03

请教:如何计算声音数据的声压级

用声卡采集到声音的数字数据后,进行FFT变换,如何计算总声压级啊?

我现在的算法是,先用标准的声音(94分贝,1000Hz)进行校准,所有采集的声音数据求有效值C

对新采集的声音数据,进行FFT变换后,得到所有幅值,除以有效值C,再用公式20log10(幅值/2E-5)计算,然后再做1/3倍频程式计算,再对1/3倍频程数据用10log10^Li/10求和,但计算后的得到的分贝值数据明显不对,不知道是哪里出的问题。个人感觉应该是20log10(幅值/2E-5)出的问题,这个幅值是不是测量得到的声压,有点怀疑,请专家指教。

[ 本帖最后由 resunli 于 2007-4-6 11:31 编辑 ]

w89986581 发表于 2007-4-6 12:30

除以有效值C,再用公式20log10(幅值/2E-5)计算,
除以有效值是什么意思?直接计算1/3倍频程, 累加求和,再减去20log10(2E-5)

resunli 发表于 2007-4-6 19:09

直接计算1/3倍频程, 累加求和,再减去20log10(2E-5)

累加求和是直接累加还是用公式10log10^Li/10求和?

另外,减去20log10(2E-5)好像不太对吧,这个值是-94左右,相当于每个值加上94啊,那计算结果太大了

[ 本帖最后由 resunli 于 2007-4-6 19:21 编辑 ]

lifestar 发表于 2007-4-10 13:34

不知道你用的什么设备,总的声压级应该软件直接给出呀。而且还能选择A-weight等等。

resunli 发表于 2007-4-10 23:44

呵呵,用普通的声音采集装置,自己写软件就是要实现你说的直接给出总的声压级,计算A-weight的DBA
页: [1]
查看完整版本: 请教:如何计算声音数据的声压级