一、团队介绍
大家好,我们是做大做强队,报名编号是CICC1025。本次我们分享音频信号处理系统的ANC算法简介。水平有限,如有错误,希望大家批评指正。
二、ANC算法介绍
主动降噪系统在移动终端中应用最广,例如摩托的丽音、三星Diamond Voice、苹果的Micphone Array等。最早提出使用声波干涉原理进行噪声消除概念的是Rayleigh。20世纪30年代,德国波恩大学L. Paul首次提出了主动噪声控制的概念。20世纪80年代初期,J. C. Morgan和D. R. Burgress时提出经典滤波-x最小均方(Filtered-x Least Mean Square, FxLMS)算法,首次将该算法用于主动噪声控制实验中,并且针对管道有源噪声进行仿真研究。
ANC属于一种主动消除噪声的方法。不同于传统的声源处降噪、传播过程中降噪、人耳处降噪等被动降噪方法。主动降噪利用有源消声的技术,其原理是根据声波的相消干涉。即根据想要消除的噪声,找到一个频谱相同的噪声,但是相位相反,就可以将噪声进行完全的抵消。
其中控制器部分,即是我们算法的核心运算部分,即LMS算法。通过该算法对初级声源的处理之后,能够有较好的噪声消除效果,得到消除噪声之后的次级声源。
基于这个模型分析我们可以知道,LMS算法中运用了大量的乘积累加模块,即w=w+a*b的形式。并且其模型上方是一个典型的FIR滤波器电路,我们可以将滤波器电路看成是两个向量的卷积运算。
因此我们想到用RISC-V的一个自定义指令集的方式进行指令拓展,从而实现乘积累加功能运算电路,和向量的卷积运算电路。通过自定义指令集的方式,设计出针对特定电路进行加速的协处理器,将大大提升特定运算功能的加速。
图2 噪声信号与抗噪声信号
图3误差信号