ANC滤波器设计相关算法
自适应滤波一般形式有:
- Transversal—finite impulse response (FIR)横向有限脉冲响应
- Recursive—infinite impulse response (IIR)递归无限脉冲响应
- Lattice filters点阵滤波器
- Transform-domain filters转换域滤波器
应用于自适应滤波器的最常用算法是使用最小均方(LMS)算法的横向滤波器。残余噪声可作为自适应算法的误差信号输入用以调整滤波器。
下文中涉及到的一些路径:
- 主要路径
:输入麦克风Input microphone(耳机外部麦克风)到误差麦克风error microphone(耳机来说可以看做耳膜)的声学路径 - 次级路径
:从扬声器speaker到误差麦克风error microphone的声学路径 - 反馈路径
:从从扬声器speaker到输入麦克风input microphone的声学路径 - 次级路径的估计
:离线计算好的 - 反馈路径的估计
:离线计算好的 - 自适应滤波器
:在线更新
一、宽带前馈ANC系统Broadband Feedforward ANC Systems
1、理想情况
图1,理想情况 宽带前馈ANC系统
理想的有源噪声控制系统使用自适应滤波器
如果滤波器收敛,
也即自适应滤波器输出y(n)与主噪声d(n)具有相同幅度并相差180°:
2、考虑次级路径:Secondary-Path Effects
图2,包含次级路径
次级路径
假设
当频率
3、Filtered-X Least-Mean-Square(FXLMS) Algorithm
图3,离线估计次级路径
离线估计次级路径
- 播放白噪声
,白噪声作为Canceling Speaker的输出播放,也作为LMS算法的输入; - Error Microphone采集信号
; - 计算得到滤波器输出
,其中 是自适应滤波器的系数, 是其阶数; - 计算误差
; - 基于LMS算法更新自适应滤波器系数:
;其中 , 是算法步长, 是生成的白噪声 的功率; - 重复这个过程大约10秒钟。保存自适应滤波器
的系数( 是对次级路径 的估计),并将其用于后续噪声消除模式。
图4,FXLMS算法流程框图-在线更新滤波器
在线估计主要路径,得到
- 从输入端口输入参考信号
(来自输入麦克风)和错误信号 (来自错误麦克风); - 计算滤波器输出
,其中 是自适应滤波器 的系数, 是其阶数; - 输出antinoise
,驱动扬声器(canceling loudspeaker); - 得到
; - 更新自适应滤波器
: ; - 为下一次迭代重复此过程。注意,这个算法需要的内存位置总数是2(N + M)加上一些参数。
4、Leaky FXLMS Algorithm
当在固定长度的信号处理器上实现自适应滤波器时,舍入噪声反馈给滤波器权值并不断累积。这可能导致系数增长大于处理器的动态范围(溢出),从而导致不准确的滤波器性能。该问题的一个解决方案是基于添加一个小的强制函数,它倾向于将每个过滤器权重偏向于零。leaky FXLMS 算法如下:
其中泄露因子
5、Acoustic Feedback Effects and Solution(FBFXLMS) Algorithm
这里的Acoustic Feedback Effects指的是扬声器的输出(antinoise一般的的解决方案如下(本文中主要研究2、4点):
- 使用定向麦克风和扬声器;(这有一个限制,定向阵列通常高度依赖于阵列元素的间距,并且只在相对狭窄的频率范围内定向)
- 使用固定的补偿信号(由补偿滤波器产生,其系数由训练信号离线确定)来抵消声学反馈的影响;
- 使用第二个离线自适应滤波器与反馈路径并行;
- 使用自适应IIR滤波器。
图5,FBFXLMS算法流程框图-离线计算
图6,FBFXLMS算法流程框图-在线更新滤波器
6、Filtered-U Recursive LMS(RLMS) Algorithm
自适应无限脉冲响应(IIR)滤波器将声学反馈作为整个声学装置的一部分,通过自适应IIR滤波器的极点来去除由声学反馈引入的极点。该算法在自适应消除过程中动态跟踪次要路径和反馈路径的变化。IIR滤波器输出结果为:
图7,Filtered-U RLMS算法流程框图
如果二、反馈ANC系统Feedback ANC Systems
反馈ANC系统只需要一个误差传声器,因此避免了前面讨论的双传声器前馈系统固有的声学反馈问题。反馈ANC方案依赖于具有周期性特征的信号。 主要噪声估计为:图8,反馈ANC算法流程框图
假设
三、窄带前馈ANC系统Narrowband Feedforward ANC Systems
后续待补充参考文献
[1] Design of Active Noise Control Systems with the TM320 family,1996
分类:
语音信号处理 / 主动降噪ANC
标签:
ANC
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通