变步长 LMS 自适应滤波器算法仿真研究
The simulation of variable step-size LMS adaptive algorithm
摘要:本文分析了变步长 LMS 自适应滤波器算法的基本原理,并使用 Matlab 对其算法进
行了编程设计,给出了具体的程序实现,具有比较强的借鉴作用。
关键词:自适应滤波;变步长 LMS; Matlab 程序设计
Abstract: This paper discusses the principle of the variable step-size LMS adaptive
algorithm and uses the Matlab to programme the algorithm, which can be used for
reference.
Key words: adaptive filtering; variable step-size LMS; Matlab
1 引言
滤波是当今信息处理领域的一种极其重要的技术。滤波是从复杂的信号中提取有用的信
号,同时抑制噪声和干扰信号,以便有效地利用原始信号。滤波器实际上是一种选频系统
它对某些频率的信号予以很小的衰减,使该部分信号顺利通过;而对不需要的频率信号则
予以很大的衰减,尽可能阻止这些信号通过。总的来说,滤波器可以分为经典滤波器和现
代滤波器两大类。经典滤波器是假定输入信号 x(n)中的有用成分和希望去掉的成分各占有
不同的频带,即关于信号和噪声应具有一定的先验知识,这样当原始信号通过一个线性系
统时无用的成分就可以滤掉。如果有用信号和噪声的频谱相互重叠,那么通过经典滤波器
就无法去除噪声或干扰。而现代滤波器就能够解决上述问题。现代滤波器是把信号和噪声
都视为随机信号,利用它们的统计特征(如自相关函数、功率谱等)导出一套最佳的估计
算法,然后用硬件或软件予以实现。
2 LMS 自适应滤波器
自适应滤波的研究始于 20 世纪 50 年代末,Widrow 和 Hoff 等人最早提出了最小均方
(LM S)算法。LMS 算法由于其结构简单,计算量小,易于实现实时处理,因此在噪声对消 、
谱线增强、系统识别等方面得到广泛应用。众所周知,超量均方误差直接与步长成比例,
然而步长减小,收敛时间增大。变步长 LMS 算法的提出为解决超量均方误差和收敛速度之
间的矛盾开辟了一条有效的途径。这种方法是基于当权系数远离于最佳权系数 ,使用
较大的步长,加快收敛速度;当权系数接近于最佳权系数 ,使用较小的步长,则获取
较小的超量均方误差,从而提高整个算法的性能。
传统的基于最速下降法的最小均方误差(LMS)算法的迭代公式如下: