主动降噪ANC系统 ,以及在耳机上的实际工程应用
本文首发于微信公众号「声学号角」 耳机的主动降噪ANC最近几年非常热门,属于声学硬件结构和算法(不太严谨的说也是物理和数学)结合非常紧密的应用。也是主动降噪非常好的应用,配合耳机本身高频段的被动降噪,可以获得非常不错的效果。 关于主动降噪的书籍和文献非常多,针对耳机应用下的主动降噪零散的论文也不少。 我个人看到在科普性和学术性结合得非常好的中文文章应该是在公众号“子鱼说声学”上发表的一系列文章“关于主动降噪耳机,你想知道的一切”。 ” 关于主动降噪耳机,你想知道的一切(一) 关于主动降噪耳机,你想知道的一切(二):前馈自适应 关于主动降噪耳机,你想知道的一切(三) 关于主动降噪耳机,你想知道的一切(四) 我也按自己的理解,先谈谈主动降噪系统,以及在耳机上的实际工程应用。 当两列声波具有相同频率和反相的相位,则会出现相消干涉,从而声音能量会抵消。这是主动噪声控制的物理基础。下面是个理想状态示意图。 在实际应用中,初级噪声代表原始噪声信号,而次级噪声代表扬声器主动发出的噪声信号,用来抵消原始噪声。 而想要形成稳定干涉,两列声波需要满足: 传播方向相同 相位差恒定 频率相同 按是否获取参考信号可以分为: 前馈ANC 通过在噪声源处或等效噪声源处放置参考麦克风或振动传感器来获取参考信号,作为控制器的输入,调整次级声源。 反馈ANC 无参考输入信号,仅通过误差麦克风获取残余噪声,并送入反馈控制器,从而调整次级声源。单反馈系统稳定性难保证。 前馈反馈混合性ANC 大致的框架如下图所示。目前耳机主流ANC就是类似。 按次级声源数量和麦克风数量可以分为: 单通道ANC 多通道ANC 通过多个参考麦克风、误差麦克风以及次级声源,多通道ANC系统可实现更优的降噪效果及更大的降噪空间。但大量的次级通道数量会增加ANC系统的复杂度,运算量会增加,而且如何确保系统的稳定性和实时性也是需要考虑的点。 比如AirPods Max就是用了6颗参考麦克风,2颗误差麦克风作主动降噪。 按控制器可以分为: 模拟ANC 结构简单,成本较低,但只能完成传递函数相对简单的控制,系统特性不能适应变化。 数字ANC 使用数字信号处理器完成降噪算法,适合时变环境下的噪声控制,价格相对较高,电路结构复杂。 目前主流的FXLMS算法的框图如下 其中的符号含义: x(k):噪声信号 P(z):初级路径,p(n)初级路径传递函数 d(n):误差麦克风的初级噪声信号 S(z):次级路径,S(n)次级路径传递函数 W(n):自适应滤波器 y(n):自适应滤波器的输出 y′(n):通过次级路径的次级噪声信号 S^(z):估计的次级路径 x′(n):通过估计的次级路径,产生的噪声 e(n):误差信号 看上去主动降噪的理论已经比较完备了,但实际工程应用中还有非常多点需要考虑: 非平稳信号的实时追踪。 参考麦克风的位置,以及与实际声源的差异。比如耳机降噪,噪声源在外面,而参考麦克风在耳机上1个或几个点。 误差麦克风的位置,以及与最终需要控制位置的差异。比如耳机误差麦克风在扬声器前,而实际需要控制点在耳膜。 误差函数的选择。 初级路径的变化。比如耳机泄漏和不同佩戴,导致噪声路径响应和被动降噪响应变化。 次级路径的变化。比如耳机泄漏和不同佩戴,导致扬声器到误差麦克风和耳膜的频响变化。