第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内完成调整,人基本感觉不到。

当然,这不是说你可以慢悠悠地处理。座舱里的噪声变化很快,比如过减速带那一瞬间,噪声会突然飙升。你的算法必须在几十毫秒内响应,否则人就会觉得“咯噔”一下。

总结一下:声学基础不是枯燥的理论,它是你降噪算法的“物理边界”。理解频率、分贝、人耳特性,你才能知道算法该往哪个方向使劲。下一章,咱们开始讲麦克风阵列——那是你采集声音的“眼睛”。