您的当前位置:首页正文

改进LMS

2023-09-08 来源:爱go旅游网
一.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。

d=s+n0 信号源s v ∑ e y 噪声源n1 自适应滤波器

图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) 无关,只与输入信号和有用信号有关,克服了原算法对噪声的敏感性,仍然保留了原算法的优点,而且在低信噪比的环境中仍能保持良好的性能,大大地拓宽了该算法的应用范围。

(2)谐波检测

假设流过非线性负载的电流为:

(8)

式中:i1 (t) 为基波电流;ih (t) 为高次谐波电流总和。把自适应算法应用于谐波检测的基本思想如图2所示。将总输入电流的所有谐波总和,视ih (t)为要输出的干扰信号;i1 (t)为要去除的基波信号。参考输入为基波电压及其经过90°移相后的信号,因为电压信号的畸变很小。其输出iy在幅值和相位上逼近i1 (t) ,进而能够抵消掉输入信号中的i1 (t),因此e 端输出所有谐波信号的总和ih (t),即APF的补偿指令信号。

i1=il+ih - w1 u﹡(t) w2 90° + e LMS

图2 自适应谐波电流检测

自适应谐波电流检测如图2所示。建立一个二阶自适应滤波器,两个权值w1,w2可以使得组合后的正弦波的幅度和相位都可以调整,因为两个权表示有两个自由度待调整。经过组合相加后得到iy,其幅度和相位都可以与原始输入中的i1 (t)相同,使输出e中的单频得以抵消。参考输入选取电压信号u﹡(t)。

经过实验仿真比较,固定步长算法有着固有的内在缺陷,即算法收敛慢、跟踪性能差, 不适合在谐波检测的低信噪比条件下使用。反之,在可变步长算法下,系统超调小、收敛快、跟踪性能好。

结束语

因原算法对噪声的敏感性, 本文改进的算法采用e( n) e( n- D)调整步长因子而不是原算法的e( n) ,克服了对自相关较弱的噪声的敏感性,同时又保留了原算法的优点,因此性能得到明显改善。本文将此算法应用到自适应噪声抵消和谐波检测中,得到了良好的效果。此算法还可以应用到自适应LMS 算法的其它应用领域中,同理可以克服算法对自相关性较弱的噪声的敏感性。因此,改进的算法具有更为广阔的应用前景。

参考文献

[1] 冯冬青, 孙长峰, 费敏锐. 一种新的变步长LMS算法研究及其应用[J]. 自动化仪表, 2007,28(8): 67-69.

[2] 孙娟, 王俊, 刘斌. 一种新的变步长LMS算法及其应用[J]. 雷达科学与技术, 2007, 5(5): 379-383.

[3] 张玲玲, 唐晓英, 刘伟峰. 一种新的变步长LMS自适应滤波算法性能分析[J]. 生命科学仪器, 2005, 3(5): 39-41.

2

因篇幅问题不能全部显示,请点此查看更多更全内容