一种基于变步长LMS算法的有源噪声控制系统的制作方法

文档序号:12789010阅读:563来源:国知局
一种基于变步长LMS算法的有源噪声控制系统的制作方法与工艺

本发明涉及有源降噪技术领域,尤其涉及一种基于变步长LMS算法的有源噪声控制系统。



背景技术:

近年来,有源降噪技术逐渐实用化,有源噪声控制系统一般包括采用FX-LMS算法的前馈控制和次级通道辨识两个部分,定步长LMS算法计算量小,且易于硬件实现,所以一般的控制系统中次级通道辨识采用定步长LMS算法的自适应滤波,但是定步长LMS 算法的稳态失调与滤波器阶数和步长成正比,和收敛时间成反比,也就是增大步长可以加快算法的收敛,但稳态失调会变大;减小步长可以降低稳态失调,但算法收敛速度会变慢。



技术实现要素:

本发明目的在于克服论述中稳态失调和收敛速度之间的矛盾,而提供一种基于变步长LMS算法的有源噪声控制系统,在获得较小的稳态误差同时能实现较快的收敛速度,提高算法的总体性能,本发明将一种变步长LMS算法应用到有源噪声控制系统的次级通道辨识中,可以明显减小系统辨识中的误差值,并有较快的收敛速度,同时对时变信号有较好跟踪性。

本发明的目的是通过如下技术方案来实现:将基于变步长LMS算法的自适应滤波器应用于次级通道辨识模块,所述基于变步长LMS算法的自适应滤波器包括滤波器权系数更新和误差信号的产生两部分,本发明通过可变的步长值来更新滤波器权值,并且对期望信号和输出信号相加产生误差信号,即在自适应滤波的初始阶段选用较大的步长值,获得较快的收敛速度,在自适应滤波接近稳态时,选用较小的步长值,从而获得较小的稳态误差。

所述变步长LMS算法自适应滤波器的权值更新公式为

,其中为滤波器的输入信号,为滤波器的误差信号;步长更新公式为,其中控制曲线的斜率,控制曲线的幅度最大值,经软件仿真来确定参数,对算法性能的影响。

所述的变步长算法在有源噪声控制系统的应用,为了充分利用硬件资源,在次级通道辨识中设置辨识阈值,当均方误差值小于该阈值,停止系统辨识,自动开启前馈控制模块。

本发明的有益效益是:提供的一种基于变步长LMS算法的有源噪声控制系统,通过变步长LMS算法实现自适应滤波的权值更新,获得较快的收敛速度,很好地解决了定步长LMS算法的收敛速度,稳态误差及时变系统的跟踪能力三者之间的矛盾,能达到快速降噪的目的。

附图说明

图1是有源降噪控制系统结构图。

图2是次级通道辨识模块结构图。

图3是,关系图(不同,相同)。

图4是,关系图(相同,不同)。

图5是仿真图,在为0.05时 LMS 算法与变步长LMS算法的收敛特性。

图6是为0.02的LMS算法次级通道辨识结果。

图7是变步长LMS算法次级通道辨识结果。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式做进一步描述。

图1所示为有源降噪控制系统结构,系统含有两个输入通道(参考噪声信号通道及误差噪声信号通道)和一个输出通道(控制信号通道),信号调理模块包括信号输入模块和信号输出模块,用于对信号进行放大,滤波,防止出现混叠现象;AD转换模块用于对输入信号进行模数转换,对输出DSP的信号进行数模转换;在控制器中,首先进行次级通道辨识,然后根据一定的控制算法计算出控制信号,经控制信号通道送出,与原噪声进行叠加。这种处理每一个采样时间进行一次,控制器系数不断调整、优化,误差噪声的功率越来越小,从而达到消除原噪声的目的。

图2示意了应用变步长LMS算法进行次级通道辨识,自适应滤波模块用于更新滤波器权系数,本发明中是通过可变的步长值来更新滤波器权值,更新公式为

;步长更新公式为;将期望信号和输出信号差值作为误差信号。

本实施例采用的仿真软件是MATLAB,根据算法收敛条件:,则要求,同时根据步长调整原则的要求,应有参数,在此条件下分析,的选择,为了说明参数,对函数的影响,绘制不同参数下和的函数关系图,图3示出了,的选取应遵循以下规律:根据初始误差值的大小来选择,的值,使得初始误差所对应的的值尽可能大些(在满足算法收敛的前提下);由图3还可知对于相同的初始误差,固定(此时算法收敛),算法在选择较大值时比选择较小值的收敛速度快。如果选取的值过大,算法收敛后的误差所对应的较大,此时算法的稳态误差较大。由图4可知:相同的初始误差,固定,算法在选择较大值时比选择较小()值的收敛速度快。具体实际应用中通过实验来确定,最优值。

本实施例的仿真条件如下:自适应滤波器阶数为2;输入信号为单频信号;噪声信号采用均值为0,方差为0.0001的白噪声;未知系统的FIR系数为[0.8 0.5]。选取最优值方法:固定,取1至10000,经仿真结果可知,随着值的增大,算法的收敛速度逐渐提高,但值过大会增加算法的稳态误差,为了使收敛速度较高,稳态误差较小,在本实验条件下,最优值为200;选取最优值方法:固定,随机取0.08至0.4之间的值,经仿真结果可知,随着值的增大,算法的收敛速度逐渐提高,若值大于0.3,算法发散。经仿真分析,在本实验条件下,最优值为200,最优值为0.2。图5示出了固定步长LMS 算法与变步长LMS算法的收敛特性,为了平衡收敛速度和稳态误差,LMS算法的步长因子取0.05,仿真图中下面一条曲线为变步长LMS算法,其中,,从仿真图中可以看出变步长算法的收敛速度大于LMS算法。

次级通道辨识系统中,采用TI的5509A芯片对变步长LMS算法进行处理,如图2所示,用白噪声进行系统辨识,由DSP内部产生,一方面作为主滤波器的参考输入,一方面经过D/A1模块,进入信号输出模块经有源音响输出,由传声器采集白噪声,经过信号输入模块,然后至A/D2模块作为期望信号进入DSP,同时,、分别作为自适应滤波模块的参考输入信号和期望输入信号,主滤波器采用当前系数,对参考输入信号进行FIR滤波,得到控制输出信号。其中采用变步长LMS算法对主滤波器进行系数更新,将期望信号与控制输出信号相减,得到误差信号,将误差信号从D/A2模块引出,以便用示波器记录误差信号,观察次级通道辨识过程。为了让有源降噪系统的硬件资源得到充分利用,在次级通道辨识中设置辨识阈值,当均方误差值小于该阈值,系统停止系统辨识,自动开启前馈控制模块。图6示出了步长取0.02的LMS算法在次级通道辨识中的结果,图7为变步长LMS算法应用于次级通道辨识的结果,可以看出,变步长算法比固定步长算法具有收敛速度快,稳态误差小的优点。

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