LMS算法及改进
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析LMS算法的改进及其应用
摘要:本文简单介绍了LMS算法,以及为了解决基本LMS算法中收敛速度和稳态误差之间的矛盾,提出了一种改进的变步长LMS 算法,并将其应用于噪声抵消和谐波检测中去。
关键字:LMS算法;变步长;噪声抵消;谐波检测
引言
自适应滤波处理技术可以用来检测平稳和非平稳的随机信号,具有很强的自学习和自跟踪能力,算法简单易于实现,在噪声干扰抵消、线性预测编码、通信系统中的自适应均衡、未知系统的自适应参数辨识等方面获得了广泛的应用。
自适应滤波则是利用前一时刻已获得的滤波器参数等结果,自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。所谓“最优”是以一定的准则来衡量的,根据自适应滤波算法优化准则不同,自适应滤波算法可以分为最小均方误差(LMS)算法和递推最小二乘(RLS)算法两类最基本的算法。基于最小均方误差准则,LMS算法使滤波器的输出信号与期望输出信号之间的均方误差最小,因此,本文在基本LMS算法基础上,提出一种新的变步长自适应滤波算法,将其应用于噪声抵消和谐波检测中去。
一.LMS算法
LMS算法即最小均方误差(least-mean-squares) 算法,是线性自适应滤波算法,包括滤波过程和自适应过程。
基于最速下降法的LMS算法的迭代公式如下:
e ( n) = d ( n)- w ( n - 1) x ( n) (1)
w ( n) =w ( n - 1) + 2μ( n) e ( n) x ( n) (2)
式中,x ( n)为自适应滤波器的输入;d ( n)为参考信号;e ( n)为误差;w ( n)为权重系数;μ( n)为步长。LMS算法收敛的条件为:0 <μ< 1/λmax ,λmax是输入信号自相关矩阵的最大特征值。
二.LMS算法的改进
由于LMS算法具有结构简单,计算复杂度小,性能稳定等特点,因而被广泛地应用于自适应均衡、语音处理、自适应噪音消除、雷达、系统辨识及信号处理等领域。但是这种固定步长的LMS 自适应算法在收敛速率、跟踪速率和稳态误差特性之间的要求是相互矛盾的,不能同时得到满足,其性能由步长来控制。
初始收敛速度、时变系统跟踪能力及稳态失调是衡量自适应滤波算法优劣的三个最重要
的技术指标。在LMS算法中最简单的学习速率参数选择是取μ( n)为常数,即:μ( n) =μ0 <μ<1/λmax
式中:λmax是输入信号自相关矩阵的最大特征值。然而,这种方法会引起收敛与稳定性能的矛盾,即大的学习速率能够提高滤波器的收敛速率,但稳态性能就会降低;反之,为了提高稳态性能而采用小的学习速率时,跟踪速度和收敛就会慢,因此,学习速率的选择应该兼顾稳态性能与收敛速率。简单而有效的方法就是在不同的迭代实践使用不同的学习速率参数,即采用时变的学习速率。这就是变步长LMS自适应滤波算法。这些变步长的LMS 自适应算法的指导思想是:在初始收敛阶段或未知系统参数发生变化时,步长应比较大,这使得算法有较快的收敛速度或对时变系统的跟踪速度,然后随着收敛的加深而逐渐减小步长来减小稳态误差。实践表明,该算法可以保证较快的收敛速度和较小的失调,能有效地去除不相关噪声的干扰,而且算法本身引入的参数和计算量比较少,且易于硬件实现,可以很好地应用于自适应噪声对消系统中。
在变步长LMS自适应滤波算法的研究过程中,人们首先提出了使步长因子μ正比于误差信号e ( n) 的大小。然后提出了一种时间平均估值梯度的自适应滤波算法。再此之后又提出了另一种变步长自适应滤波算法,其步长因子μ与e ( n)和x ( n) 的互相关函数的估值成正比。在分析了上述变步长自适应滤波算法之后,高鹰等人提出了一种新的变步长算法,如下式所示:
W ( n + 1) = W ( n) + 2μ( n) e( n) X ( n) (3)
μ( n) =β(1 - exp ( - αe( n) 2 ) ) (4)
其中,参数α> 0 控制函数的形状,参数β> 0 控制函数的取值范围。该算法简单且在参数稳定后具有缓慢变化的特性。然而,此算法仍然对噪声比较敏感,在低信噪比环境下,该算法的收敛速度. 跟踪速度和稳态误差并不十分理想,这就大大制约了其应用范围。而本文改进的算法中,不直接用信号误差的平方即e2( n) 调节步长,而是通过将误差信号延长一定的时间从而使噪声信号的自相关性减到零,即用误差的相关值e( n) e ( n - D) (其中D 为正整数,D选为小于输入信号的时间相关半径而大于噪声的时间相关半径)去调节步长。由于噪声信号的自相关性减到了零,所以噪声信号对步长因子的影响大大降低,从而降低了变步长LMS 算法对噪声的敏感性。本文改进算法的步长公式即:
μ( n) =β(1 - exp ( -αe( n) e( n - D) ) ) (5)
此算法用误差信号的相关值e ( n) e ( n - D) 去调节步长,兼顾了收敛速度和误差等性能,并且降低了LMS 算法对自相关性较弱的噪声的敏感性。本文将此算法应用于自适应噪声抵消中,从理论和实践上都证明此算法效果明显。
三.LMS算法的应用
(1)自适应噪声抵消
自适应噪声抵消是自适应滤波器LMS 算法的一种应用,自适应噪声抵消以噪声干扰为
处理对象,将它们抑制掉或进行非常大的衰减,以提高信号传递和接收的信噪比质量。噪声抵消是利用干扰信号的相关性把它们抑制掉,但对不相关或相关性很弱的噪声信号无能为力,这些噪声信号不但不能被抵消,反而会对滤波器产生干扰,使算法效果受到影响。而本文改进的算法可以克服这一缺点。为了区分这两种干扰噪声信号,本文把滤波器要抵消的强相关性干扰噪声称为加性干扰噪声信号n0,把那些不相关和相关性较弱的干扰噪声信号称为噪声信号v。
图1 自适应噪声抵消框图
图1为自适应噪声抵消的原理框图。如图1 所示,主输入中含有希望提取的相关信号s 和加性干扰信号n0、噪声信号v,参考输入为n1,信号s 与v 、n0、n1 均不相关,n0和n1相关,与v 不相关。s、v、n0、n1都为零均值信号。由图1 可知,自适应滤波器的输出y 为n1的滤波信号。因此,自适应抵消系统的输出为:e = s + n0 + v - y
上式两边平方后取数学期望,即对时间n 取长时平均,由于s 与v 、n0、n1不相关,由此得:
E( e2 ) = E[ ( s + v)2] + E[ ( n0 - y) 2 ] (6)
当调节滤波器参数使E(e2 ) 最小化时,E[ ( s + v) 2 ] 不受影响,从而使最小输出能量为:Emin ( e2 ) = E[ ( s + v) 2 ] + Emin [ ( n0 - y) 2 ] (7)
当E( e2 ) 最小时,E[ ( n0 - y)2 ] 也同时为最小,所以滤波器输出y 即为n0 的最佳估计值,从而达到噪声抵消的目的。
在噪声比较严重的应用环境下,v ( n) 将大大影响LMS 算法的性能,使自适应算法很难达到最优解,只能在其周围上下波动。式(5)对算法进行了改进,采用e( n) e( n - D) 调节步长因子,改进的算法不再对噪声敏感,且仍然具有原算法的优点。
在滤波开始阶段,e (n) 较大,μ( n) 也较大。由于噪声v (n) 的不相关或弱相关性,延时D 后v ( n) 与v ( n - D) 不再相关,所以v ( n) v ( n - D) 对μ( n) 的贡献很小,因此v (n) 对μ( n) 的影响大大降低。于是当e (n) 变小趋于稳定时,μ(n)也变小趋于稳定,而不是像式(4)那样μ( n) 大大地受到v( n) 影响。改进的算法步长与噪声v (n) 无关,只与输入信号和有用信号有关,克服了原算法对噪声的敏感性,仍然保留了原算法的优点,而且在低信噪比的环境中仍能保持良好的性能,大大地拓宽了该算法的应用范围。