一种基于FXLMS的优化主动降噪方法与流程

文档序号:18160912发布日期:2019-07-13 09:19阅读:511来源:国知局
一种基于FXLMS的优化主动降噪方法与流程

本发明涉及一种基于FXLMS的优化主动降噪方法,属于用于信号处理、音频处理、噪声控制。



背景技术:

在现代社会的日益飞速的发展中,人类生存环境中的噪声污染越来越严重,噪声污染已经成为环境污染的一大公害。各种场合,如工业生产过程、日常生活工作环境、实验室环境等,均存在声音噪声,噪声污染已经成为一个全世界都十分关注的环境问题。在工业生产过程中,随着大量大型工业设备,如引擎、送风机、风扇、变压器、真空泵、空气压缩机等的使用,噪声污染越来越突出。这些噪声对长期近距离接触设备的工作人员不利,对其生理和心理健康带来严重危害,听力下降,易于疲劳,注意力下降,生产效率降低;同时,强烈的噪声会导致机器、设备和某些工业结构的声疲劳,长期作用将缩减其使用寿命,甚至导致事故的发生。现代大都市,高密度建筑迅速增长,交通设施不断增加,为了降低成本,人们越来越趋向于采用更加轻型的材料用于建筑和交通设施,导致人们在日常生活工作环境中更易受各种噪声的干扰。在科学研究和医疗工作中使用的仪器和器械都可能产生某些特定的噪声,这些噪声将对科学实验、医疗诊断或患者带来干扰。因此,在噪声越来越严重而人们越来越追求身体健康与生活质量的情况下,对噪声的降低,在理论研究和工程实践中都将具有广泛的研究价值和广阔的市场前景。

目前降噪的方法主要可以分为主动降噪和被动降噪,被动降噪大多采用吸声、隔声、隔振或阻尼减振等方式,其本质是利用声波与材料的机械作用,使声能变为其它形式的能量以减少噪声,所用的设备体积和重量都较大,同时对低频降噪效果不佳,因而现在研究更多的是主动降噪。

主动降噪利用一个人为的次级声源,通过输出一个与外界噪声的幅值相同,相位相反的反噪声信号以抵消外界噪声,从而达到降噪的目的。

现有的文献中:【1】一种麦克风的模拟降噪系统及方法CN101848288A中,直接采用模拟器件搭建而成的模拟电路实现对采集得到的原噪声,通过反相器得到相位相反的反噪声,这种方式由于器件参数完全固定,虽然简单易实现,但没有较强的适应性。【2】Tan L, Jiang J. Active noise control using the filtered- xrls algorithm with sequential updates[J]. Engineering Technology Opens the Door to a World of Opportunity,2009:29.中,使用滤波-x-最小二乘算法(FXRLS),将最小二乘准则,加入次级通道补偿,同时进行自适应降噪。次级通道指产生声音信号并通过扬声器输出,到通过拾音装置采集并获得声音信号的物理通道。算法查找全局最优解,有很好的效果,但计算量较大,无法满足实时降噪要求。

【3】Roy T K, Morshed M. Active noise control using filtered-xLMS and feedback ANC filter algorithms[C]//Advancesin Electrical Engineering(ICAEE), 2013International Conferenceon.IEEE,2013:7-12.中,使用反馈滤波-X-最小均方算法(FXLMS)。算法寻找局部最优,计算量比【2】中算法小很多。算法使用反馈结构,虽然可以使设备简单,但由于反馈结构需要误差噪声来驱动,所以降噪后的残余噪声不能完全消除。【4】封闭空腔有源结构声控制方法CN104538018A【4】中,使用前馈滤波-X-最小均方算法 (FXLMS),前馈结构直接使用设备采集到的外界噪声信号作为驱动,因而相比于【3】,从理论上可以使降噪后的残余噪声完全消除。但该方案收敛速度较慢,且鲁棒性不是很好,本方案提出对FXLMS的改进,实现收敛速度、鲁棒性以及最终降噪效果的优化。



技术实现要素:

本发明的技术解决问题:克服现有技术的不足,提供一种基于FXLMS的优化主动降噪方法,能够快速达到收敛,并能达到较好的降噪效果,适应噪声可能存在突然的变化,鲁棒性强,达到降噪运算速度满足实时要求。本发明提出对FXLMS的改进,实现收敛速度、鲁棒性以及最终降噪效果的优化。

本发明技术解决方案:一种基于FXLMS的优化主动降噪方法,实现如下:

两个阶段,第一阶段为通过产生白噪声对次级通道进行辨识,得到次级通道系数,第二阶段为通过利用扬声器产生反噪声来抵消外界噪声,达到降噪效果。

第一阶段,产生白噪声,通过扬声器输出并通过拾音器采集,然后利用最小均方准则进行多次迭代得到次级通道系数;

第二阶段,通过拾音器采集外界噪声信号,利用第一阶段得到的次级通道系数进行补偿,根据优化的FXLMS算法计算反噪声并通过扬声器发出抵消外界噪声,进行多次迭代使噪声基本消除达到降噪效果。

所述产生白噪声对次级通道进行辨识。

为了准确地进行降噪,需要对次级通道进行辨识,本发明采用自适应方法,根据最小均方准则进行辨识。

本发明对次级通道辨识的执行流程如图1所示:

STEP1):产生白噪声并通过扬声器输出;

STEP2):通过拾音装置采集扬声器输出声音信号;

STEP3):利用产生的白噪声信号通过自适应滤波器,计算自适应滤波器的输出信号;

STEP4):将STEP2)中的声音信号与STEP3)中的输出信号进行叠加计算误差信号;

STEP5):利用STEP2)中的声音信号和STEP4)中的误差信号,根据最小均方准则对自适应滤波器进行更新;

STEP6):回到STEP1),进行下一次迭代直到迭代次数为T,对次级通道的辨识完成,此时的自适应滤波器系数即为次级通道系数的近似。T可取10000~50000。

在对次级通道的辨识完成后,即开始实际的降噪过程,利用扬声器产生反噪声,以抵消外界噪声。本发明在基本的FXLMS算法中,每迭代一定次数才对自适应降噪滤波器更新一次,其中利用变步长思想使降噪算法的收敛速度更快,同时对更新量加以约束。

STEP1):通过拾音装置采集外界噪声;

STEP2):利用外界噪声计算反噪声,并通过扬声器发出并与外界噪声相抵消;

STEP3):通过拾音装置采集由STEP2)中反噪声抵消后得到的误差信号;

STEP4):利用STEP1)得到的外界噪声信号,以及第一阶段中得到的次级通道系数计算外界噪声经过补偿后的值;

STEP5):利用误差信号和补偿后外界噪声计算当前自适应滤波器更新变化量,然后计算总更新变化量,并将迭代步数加一;

STEP6):如果迭代步数等于定值,进入STEP7)并更新自适应滤波器系数;否则不更新自适应滤波器,回到STEP1),进行下一次迭代循环;

STEP7):计算总更新变化量的平均值并进行约束,利用该值对自适应滤波器系数进行更新,并将迭代步数置零,进行下一次迭代,直到使噪声基本消除达到降噪效果。

本发明与现有技术相比的优点在于:

(1)本发明基于FXLMS算法改进,计算量较小,满足实时性。

FXLMS算法是利用最小均方准则针对降噪系统设计的算法,其中加入了次级通道的补偿。由于FXLMS算法的计算量较小满足实时性,因而基于FXLMS改进的本发明计算量也是较小的,满足在DSP上运行的实时性。

(2)本发明经过多次迭代才更新一次,稳定性好。

本发明不是在每次降噪循环的迭代中都对自适应降噪滤波器加以更新,而是每经过一定次数,利用每次迭代的更新量进行平均再进行更新。由于FXLMS算法对噪声信号的相位非常敏感,因而稳定性不好,本发明的方案可以减弱相位对算法的影响,从而增加稳定性。

(3)更新时采用变步长思想。

FXLMS算法的更新量由迭代步长乘以更新梯度组成,由于步长固定,降噪时的速度和最后的收敛效果难以兼得,本发明的更新量完全由外界噪声信号和误差噪声信号决定,其实是变步长的思想,能够使FXLMS算法快速达到收敛,同时优化最后的降噪效果。

(4)对更新量进行约束。

由于外界噪声可能在某一刻出现一个很大的值,本发明提出对更新量的加以约束,在其模大于某值时,将其模设为该值,就是说能将模约束在某一定值之内,从而增强算法鲁棒性,不会因为某一次采集到的外界噪声很大而使FXLMS算法发散。

附图说明

图1为本发明方法的实现流程图;

图2为本发明的次级通道辨识流程图;

图3为本发明的次级通道辨识系统结构图;

图4为本发明中针对指定频带降噪的执行流程;

图5为本发明降噪系统结构图。

具体实施方式

如图1所示,使用麦克风作为拾音装置,以DSP作为处理器,进行主动降噪。

第一阶段,通过DSP产生白噪声,由扬声器输出并通过误差麦克风采集,然后对麦克风采集到声音和产生的白噪声,利用最小均方准则进行多次迭代得到次级通道系数。第二阶段,通过输入麦克风采集外界噪声信号并利用第一阶段辨识得到的次级通道系数进行补偿,通过误差麦克风采集外界误差噪声信号,根据优化的FXLMS算法计算反噪声并通过扬声器发出抵消外界噪声,进行多次迭代使噪声基本消除,从而达到降低噪声的效果。

1.产生白噪声对次级通道进行辨识

次级通道指产生声音信号并通过扬声器输出,到通过误差拾音装置采集并获得声音信号的物理通道,具体指扬声器中的D/A转换器、重构滤波器、功放,扬声器到拾音装置声器之间的通道,拾音装置中的误差传声器、前置放大、抗混叠滤波器以及 A/D转换器。为了更准确地辨识次级通道,本发明根据最小均方准则进行运算。

本发明中次级通道辨识系统结构如图3所示:

系统结构图中,y(n)表示产生的白噪声序列,e(n)为麦克风采集到的声音信号, r(n)为自适应滤波器的输出,e'(n)为计算得到的误差信号,Cw为模拟次级通道的自适应滤波器,n为当前时刻,LMS指使用最小均方准则。

如图2所示,本发明中次级通道辨识流程如下:

STEP1):由DSP产生白噪声y(n)并通过扬声器输出,

STEP2):利用麦克风采集声音信号e(n),

STEP3):计算自适应滤波器的输出信号,其求取公式如下:

式中Cwi(n)表示自适应滤波器Cw,y(n)为STEP1)中DSP产生的白噪声,n表示当前第n时刻,i表示序号,M为滤波器阶数,在本次实施中M取为30。

STEP4):计算误差信号e'(n),其求取公式如下:

e'(n)=e(n)-r(n)

式中e(n)为STEP2)采集得到的声音信号,r(n)为STEP3)计算得到的自适应滤波器输出信号;

STEP5):利用最小均方准则更新自适应滤波器的系数Cwi(n),其求取公式如下:

Cwi(n+1)=Cwi(n)+μe'(n)y(n-i),i=1,…,M

式中e'(n)为STEP4)计算得到的误差信号,y(n)为STEP1)中DSP产生的白噪声,μ为迭代步长,在本次实施中取为0.05。

STEP6):当迭代次数为T时停止迭代,否则进入下一次迭代,在本次实施中T取为10000。

2.利用扬声器产生反噪声来抵消外界噪声

在对次级通道进行辨识完成后,即开始发出反噪声进行降噪的阶段。

本发明中降噪系统结构如图5所示:

系统结构图中,x(n)为采集到的外界噪声,x'(n)为进行次级通道补偿后的输入信号,e(n)为误差噪声信号,C为次级通道,Cw为模拟次级通道的滤波器,W为自适应降噪滤波器,P为主通道,n为当前时刻,LMS指使用最小均方准则。

如图4所示,本发明中针对指定频带降噪的执行流程如下。

2.1采集与发出声音信号

STEP1):由输入麦克风采集外界噪声x(n),

STEP2):计算需要的反噪声信号并利用扬声器发出,其求取公式为:

式中wi(n)为自适应降噪滤波器W,x(n)为STEP1)采集得到的外界噪声,n表示当前第n时刻,i表示序号,N为W的阶数,在本次实施中N取为30。

STEP3):由误差麦克风采集误差噪声信号e(n)。

2.2计算当前更新变化量并叠加

STEP4):计算利用次级通道进行补偿的输入信号,其求取公式为:

式中Cwi(n)为前面训练出的Cw在n时刻的第i个系数,x(n)为STEP1)采集得到的外界噪声,n表示当前第n时刻,i表示序号,M为Cw的阶数。

STEP5):利用误差信号和补偿后外界噪声计算当前迭代下的自适应滤波器的更新量,其求取公式为:

式中e(n)为STEP3)采集得到的外界噪声,x'(n)为STEP4)中计算得到的补偿后输入信号。

计算总更新量,其求取公式为:

gradi(n)=gradi(n-1)+grad_ki(n),i=1,...,N

其中在第一次迭代中设定:

gradi(0)=0,i=1,...,N

同时将迭代步数加一,即:

step=step+1

2.3判断是否要更新自适应滤波器系数

STEP6):判断:如果迭代步数step等于定值period,则进入下一步2.4更新自适应降噪滤波器系数,否则不更新,即:

wi(n+1)=wi(n),i=1,…,N。

然后进入下一次迭代,在本次实施中period取为10。

2.4更新自适应滤波器系数

STEP7):计算更新变化量的平均值,其求取公式如下:

式中grad(n)为STEP5)计算得到的总更新量的系数

对更新变化量平均值进行约束:

式中i=1,2,…,N,n表示当前第n时刻,i表示序号,N为自适应降噪滤波器W的阶数,在本次实施中N取为30,A为设定的约束值常数,在本发明实施中A取为0.3。

更新自适应降噪滤波器的系数,其求取公式如下:

wi(n+1)=wi(n)-grad_avei(n),i=1,…,N

同时将迭代步数清零并做初始化,即:

step=0

gradi(n)=0,i=1,...,N。

提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1