基于LMS算法的自适应滤波器的仿真分析

作者:刘艳 刊名:福建电脑 上传者:张宗伟

【摘要】本文介绍了基于LMS算法实现的自适应滤波器,并在MATLAB环境下进行仿真分析。通过仿真结果,证明该滤波器可以实现对信号噪声的自适应滤除,而且与普通滤波器相比,具有易于实现、滤波速度快,而且结构更为简单。

全文阅读

1引言自适应滤波器在信号处理领域占有极其重要的地位,广泛应用于通信、雷达、导航系统和工业控制等方面。在一些无法预知信号和噪声特性的场合,无法使用具有固定滤波器系数的滤波器对信号实现最优滤波,其惟一的解决办法是引入自适应滤波器。LMS算法由于其简单性、运算高效性和各种运行条件下良好的性能,得到广泛应用。本文采用LMS算法对自适应滤波器的参数进行调整,从而获得最优的滤波性能。2LMS自适应滤波器的工作原理自适应滤波器能够随着外界信号特性动态地改变参数,保持最佳滤波状态。自适应滤波器一般由参数可调的数字滤波器和自适应算法两部分组成。而如何根据外界信号的变化来调整参数是由自适应算法来决定的,因此自适应算法的好坏直接影响滤波的效果。自适应滤波器通常LMS算法。LMS算法的基本思想是通过调整滤波器的权值参数,使滤波器的输出信号与期望输出信号之间的均方误差最小,这样系统输出为有用信号的最佳估计。LMS算法的结构框图如图1所示。输入信号矢量为:(1)滤波器的权系数为:(2)则滤波器的输出为:(3)估计误差为:(4)最佳滤波器参量应使得均方误差e2(n)最小,因此自适应滤波的优化准则为:(5)自适应滤波器的最佳权向量为:(6)式中,为步长因子,是控制收敛速度和稳态误差的参量。我们由以上的分析可以知道,滤波器的长度和LMS算法的步长因子影响滤波器的收敛速度和滤波性能。3自适应滤波器的MATLAB仿真MATLAB具有丰富的库函数,语法简单,编程效率高等优点,因而可以采用MATLAB实现基于LMS算法的自适应滤波器的仿真,并可以对其收敛速度和精度进行仿真分析。仿真实验中,原始信号采用标准的正弦波信号,噪声信号采用标准的随机白噪声。正弦波信号与噪声信号叠加后做为自适应滤波器的输出。选取滤波器除数N=20,步长因子=0.5,得到LMS算法的仿真结果如图2所示。从图2可以看出,该自适应滤波能完成除噪的功能。图1LMS算法结构原理图2013年第7期福建电脑图2输入信号、噪声信号、滤波器输入信号和滤波器输出信号图3为在步长因子固定为0.5时,滤波器阶数分别为5、10、12、15时,滤波器的收敛性能曲线图。由图3可知,自适应滤波器的阶数取值并不是越大越好,不可以任意选取,而是需要根据经验和实际仿真验证比较才能最终确定。当阶数增加时,收敛速度变快。但是当阶数大到一定程度时,收敛速度变化不明显了,而且还有可能引起系数迭代过程不收敛。图4为在滤波器阶数分别固定为10,步长因子为0.005、0.05、0.1、0.5时,滤波器的收敛性能曲线图。从图4可以看出,步长因子的大小直接影响算法的收敛速度。步长因子取值越小,收敛的速度最慢,但是滤波性能较好。取值较大时,收敛速度变快,但是滤波性能变差。4结束语本文通过对基本的LMS算法进行仿真分析。采用MATLAB软件对LMS算法进行仿真,可以克服硬件电路的成本高、升级困难等缺点,给系统的的设计带来很大的方便。从仿真结果可知,自适应滤波器可以很好地消除叠加在信号上的噪声。通过多次仿真,可知LMS的收敛速度、收敛性能、稳态误差都受到步长因子和滤波器除数之间的关系。步长越小,误差越小,但收敛速度越慢。步长因子和收敛速度是必须综合考虑。基于LMS算法的自适应滤波器的仿真分析@刘艳$长江师范学院!重庆400080本文介绍了基于LMS算法实现的自适应滤波器,并在MATLAB环境下进行仿真分析。通过仿真结果,证明该滤波器可以实现对信号噪声的自适应滤除,而且与普通滤波器相比,具有易于实现、滤波速度快,而且结构更为简单。LMS算法;;MATLAB;;自适应滤波器[1]

参考文献

引证文献

问答

我要提问