第2章 声学基础回顾:声音的物理特性、分贝与声压级、人耳听觉特性
好,咱们正式开始第二章。说实话,很多做降噪算法的工程师,一上来就啃滤波器、啃自适应算法,结果调了半天效果就是不行。为什么?因为对声音本身的理解不够深。我当年刚入行时也犯过这个错——拿着一个在实验室跑得很好的算法,装到车里就崩了。后来才明白,座舱里的声学环境,跟你在安静办公室想象的完全不是一回事。
所以这一章,咱们把声学基础过一遍。别嫌基础,这些是你后面调参、选型、定位问题的底气。
2.1 声音的物理特性
声音的本质是什么?说白了就是振动在介质中的传播。空气分子被振源推来推去,形成疏密波,传到我们耳朵里。这里有几个关键参数,我挑重要的说。
2.1.1 频率与波长
频率决定了音调。人耳能听到的范围大概是20Hz到20kHz。但座舱里真正麻烦的,是低频部分——发动机的轰鸣、轮胎的路噪,基本都在200Hz以下。高频反而好处理,因为波长短,容易被材料吸收。
波长和频率的关系很简单:λ = c / f。c是声速,常温下约343m/s。举个例子,100Hz的声波,波长大概3.4米。你想想看,座舱内部空间也就两三米,低频声波在这么小的空间里会怎样?没错,驻波、共振,乱七八糟的。
关键点:低频噪声的波长与座舱尺寸相当,这是车内降噪难的根本原因。不是算法不行,是物理规律摆在那。
2.1.2 声压与声强
声压是声音的“力度”,单位是帕斯卡(Pa)。正常人耳能感知的最小声压是20μPa,这被定义为0dB的基准。我在项目中遇到过,有些同事喜欢用声压的绝对值来比较噪声大小,其实很不方便——因为人耳对声音的感知是对数级的。所以,我们才需要分贝。
2.2 分贝与声压级
分贝(dB)是个比值,不是绝对值。它的定义是:dB = 20 * log10(P / P_ref)。P_ref就是刚才说的20μPa。这个公式你一定要刻在脑子里,因为后面所有降噪效果的评估,都离不开它。
2.2.1 为什么用分贝?
我打个比方。你从安静到稍微有点吵,声压可能从20μPa涨到200μPa,差了10倍。但人耳感觉只是“稍微大声了一点”。如果用线性刻度,你很难直观比较。分贝把这种指数关系变成了线性关系,方便多了。
举个例子:
- 0dB:人耳刚好能听到(20μPa)
- 20dB:安静的图书馆
- 60dB:正常交谈
- 80dB:嘈杂的街道
- 120dB:痛阈,再往上可能损伤听力
座舱里呢?我实测过,高速120km/h时,车内噪声大概在65-75dB之间。别小看这10dB的波动,它意味着声压差了3倍多。你的降噪算法如果只针对固定噪声水平设计,那肯定翻车。
个人经验:我习惯在算法里预留一个动态范围调整模块,至少能应对±10dB的噪声波动。别指望AGC(自动增益控制)能搞定一切,它反应太慢。
2.2.2 dB的不同变体
搞降噪的,你还会碰到dBA、dBC这些。它们不是不同的单位,而是加了不同频率加权的分贝值。dBA最常用,它模拟了人耳对中频敏感、对低频不敏感的特性。我建议你在做车内噪声评估时,优先看dBA值,因为它更贴近人的真实感受。
| 类型 | 加权方式 | 适用场景 |
|---|---|---|
| dB | 无加权 | 物理测量、算法调试 |
| dBA | A加权(模拟人耳) | 噪声评估、法规测试 |
| dBC | C加权(平坦响应) | 低频噪声测量 |
嗯,这里要注意:有些芯片厂商给你的SNR(信噪比)指标,可能用的是dBA,也可能是普通dB。一定要看清楚,否则你算出来的降噪深度全是错的。
2.3 人耳听觉特性
这部分我特别想多说几句。因为很多算法工程师把降噪当成纯粹的数学问题,忽略了“人”这个最终接收者。你算法做得再漂亮,人听着不舒服,那就是失败。
2.3.1 等响曲线
人耳对不同频率的敏感度是不一样的。对1kHz-4kHz最敏感,对低频和高频相对迟钝。这就是为什么同样60dB的100Hz和1kHz声音,你感觉1kHz要响得多。Fletcher和Munson在1933年就画出了等响曲线,后来被ISO标准化了。
这对降噪有什么影响?我举个例子。你在座舱里做主动降噪,如果只盯着全频带的dB值降,很可能把中频降得很干净,但低频嗡嗡声还在。人耳对低频不敏感,但那种压迫感是实实在在的。我曾经在项目里遇到过,客户反馈“噪声数值降了,但坐着就是不舒服”。后来一查,是低频驻波没处理好。
避坑指南:不要只看总声压级。我建议你至少分3个频段来评估降噪效果:低频(20-200Hz)、中频(200-2kHz)、高频(2kHz以上)。每个频段单独看dBA值,才能发现问题。
2.3.2 掩蔽效应
这个太重要了。简单说,一个强声会掩盖掉附近的弱声。比如发动机在轰鸣时,你听不到旁边人的轻声细语。降噪算法可以利用这一点——我们不需要把噪声完全消除,只需要把它降到被其他声音掩盖的程度就行。
但反过来,掩蔽效应也会带来麻烦。比如你降噪后,原来被噪声掩盖的某个高频啸叫突然冒出来了,那比噪声本身还烦人。我遇到过这种情况,调试了整整一周才发现是麦克风自激。
2.3.3 听觉的时域特性
人耳对声音的响应不是瞬时的。有个概念叫“听觉积分时间”,大概是200ms左右。也就是说,短于200ms的噪声突变,人耳感知不明显。这给了我们一个缓冲——降噪算法不需要实时到极致,只要在200ms内完成调整,人基本感觉不到。
当然,这不是说你可以慢悠悠地处理。座舱里的噪声变化很快,比如过减速带那一瞬间,噪声会突然飙升。你的算法必须在几十毫秒内响应,否则人就会觉得“咯噔”一下。
总结一下:声学基础不是枯燥的理论,它是你降噪算法的“物理边界”。理解频率、分贝、人耳特性,你才能知道算法该往哪个方向使劲。下一章,咱们开始讲麦克风阵列——那是你采集声音的“眼睛”。