求教用AD采集的声音信号转换成分贝值的问题
我有一个带MIC的模块和一个NUC140的板子,现在我能通过板子的AD,采集到声音的电压信号,但怎么显示出DB值呢,我看过一些说是经过FFT变换,但是我给一个声音,采集到的只有一个电压信号。。。怎么才能实现给一个声音信号时时显示出DB值.
这个你应该看看dB的定义,根据参考值得到一个参考值对应采集电压信号,然后根据定义计算就可以得到了. . .
可以参考matlab central 中的file exchange里面的程序:
Continuous Sound and Vibration Analysis
http://www.chinaksi.com/wp-content/uploads/2014/03/KSI-VLZ-01.png
链接地址如下:http://www.mathworks.com/matlabcentral/fileexchange/21384-continuous-sound-and-vibration-analysis
本帖最后由 TestGuru 于 2014-3-30 15:42 编辑
声压是由声波引起的介质中的压力变化。在空气中,它可用话筒来测量;在水中,它可用水听器来测量。声压水平(SPL)由下式定义:
SPL (dB) = 20lg(Prms/P0)
其中P0是参考声压,Prms是被测声压的有效值(RMS)。在空气中,通常参考声压定为20uPa(rms);在水中,定为1uPa(rms)。将声压通过传感器及电路转化为电压信号后,计算公式变为:
SPL (dB) = 20lg(Vrms/V0) 其中V0是0dB声压所对应的参考声压(rms),可通过声压校准器测得,也可通过传感器的灵敏度及放大器的放大倍数推算得出。Vrms是所要计算的频带内的电压的有效值(rms)。若是求
总的声压只需求电压总有效数值即可,无需FFT。只有在求某频段的声压是才需要做FFT求该频段的电压有效值。
页:
[1]