测量声音分贝.doc_第1页
测量声音分贝.doc_第2页
测量声音分贝.doc_第3页
测量声音分贝.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

我们经常用手机来录音、拍摄,这些功能都用到了手机自带的microphone(MIC)。也有人想到了用手机的MIC来检测环境噪声的大小,这个小功能可以使手机更加智能化,比如调整振铃等,其拓展应用非常广。目前已经有许多软件已经实现了这个功能,比如PocketRTA。PocketRTA有两个版本,分别适用于Windows NT 和 Windows Mobile(WM)。大家可以Google一下,下载适用,放在手机上当做噪声检测仪也是很有趣的。目前还没看见PocketRTA的源码。经过一段时间的摸索研究,实现了测量环境噪声DB值功能的软件,一些经验在此和大家分享一下。网上这方面的信息很零碎,我综合原理和实际开发,把整个流程完整叙述一下。在此就不贴代码,相信知识比代码更能让人受益。实现语言: C+开发平台: VS 2005手机OS: Windows Mobile 5.0流程图大致流程分为4步:step1: 获取声音数据。声音是以波的形式传播的,在传播路径上遇到障碍物时,会在这些障碍物表面上产生压力,这就是声压。MIC可以检测到声压,声压的大小反应为MIC输出电平的大小。MIC的输出电平进入到声卡后,声卡进行采样和量化,这是传统的模数转换(ADC)过程。声卡采样和量化后的值,就是波形数据。波形数据反映声音强度在时域上的变化。这些波形数据可以采用一定的格式在电脑上储存,如.wav文件,也可以输出到扬声器播放。有关如何获取声音数据,可以参考本人先前的文章:WAVE文件录放音Windows API。通常声卡的采样率为11.025kHz,16bit量化。即每秒采样11,025次,每次采样值量化为65536阶,量化值用065535表示。波形数据为时域离散信号。step2:FFT / DFT 。 声音是由若干(或无限多个)频率分量组成的。为了检测和描述声音的特性,人们使用频谱。噪声检测也需要在频域处理数据,要把时域信号转换为频域信号。step1得到的WAVE时域离散信号经过DFT可以变成频域离散信号。FFT是离散傅里叶变换DFT在工程上的优化算法。有关FFT的代码在网上很多。step3:划分倍频程,并把信号从绝对量值转换为相对量值(DB)。a。先说dB(decibel)的含义。dB是一个相对值,声学上来讲,声压的分贝值的基准是20微帕斯卡。假设一个声音的测得的声压是P帕斯卡,那么声音的分贝值计算公式为: SPL:Sound Press Level 声压级。通常物理上20微帕斯卡通过MIC和声卡量化后为1。所以公式简化为: 此处P也为量化后相对20微帕斯卡的值b。然后说dB相加,比如有两个声音,分别为70dB和60dB,它们叠加是多少dB? 70.4dB。因为两个声音的叠加是能量的叠加。c。再说倍频程。我们最终要计算的声音分贝值是由各个频率分量的声音分量组成的。我们用倍频程或1/3倍频程把声音划分为许多频带。倍频程的中心频率为31.5、63、125、250、500、1K、2K、4K、8K、16KHz十个频率,后一个频率均为前一个频率的两倍,因此被称为倍频程,而且后一个频率的频率带宽也是前一个频率的两倍。在有些更为精细的要求下,将频率更细地划分,形成1/3倍频程,也就是把每个倍频程再划分成三个频带。d。计算每个倍频程的声压级。FFT后的信号在频域上是离散的,相邻点的频率间隔为 SampleRate / FFTPoint ,即采样率除以FFT的点数。计算倍频程的声压级的方法是先计算频带内频点的平均能量, 然后再取对数。计算公式为: Pi为倍频程中某个频点的值e。下图为1/3倍频程的计算结果。 step4:A率加权后计算dBA。 a。A率曲线。由于人耳对不同频率的声音敏感程度不同,表现为相同dB值的声音,2kHz 比 100Hz听起来更响一些。为了使测量得到的值更符合人的主管感觉,在此引入A率加权。下图是A率曲线: a率曲线曲线函数为: 可见,a率加权减弱了声音低频分量对最终测量结果的贡献。b。加权方法。假设step3后,中心频率为125Hz的1/3倍频程的声压级为40dB, 125Hz的A率加权值为-16.18,加权后的声压级为 40-16.18 = 23.82dBA。A率加权后单位为dBA。c。全部频率范围内的dBA叠加。若采用的是1/3倍频程,经过b步骤后,得到30个频带的dBA值,表示为qi,i = 1,2,.,30。 全部频率范围内的dBA叠加公式为: 这就是最终结果。两个声音的频率比(或者音调比)的以2为底的对数称为频程,数学表达式为n=log2(f2/f1),式中f1为基准频率, f2为求倍频程数的信号频率, n为倍频程数.可以是整数或分数.例如n=1,1/3,则分别称为”倍频程”和”三分之一倍频程”.如果频率F1是100HZ的话,它的倍频程就是200HZ.它的2分之1倍频程频率就是141HZ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论