改进的变步长LMS改进算法

时间:2022-07-18 11:07:47

改进的变步长LMS改进算法

摘 要: 在基于Lorentzian函数的变步长LMS自适应滤波算法的基础上,进行进一步改进,提出了一种新的自适应LMS滤波算法,通过建立新的误差信号[e(n)]与变步长因子[μ(n)]之间的关系,消除不相关噪声的影响。并用Matlab对其进行仿真验证,表明该算法解决了收敛速度和稳态误差之间的矛盾,在保证算法的计算复杂度较低的同时,使得算法的抗干扰能力进一步提高,适用于低信噪比条件下的信号提取及滤波,为实际应用提供了更大的灵活性。

关键词: 自适应滤波; 噪声抵消; 收敛速度; 抗干扰能力

中图分类号: TN91?34 文献标识码: A 文章编号: 1004?373X(2014)01?0011?03

1960年Widrow和Hoff提出了最小均方误差(Least?Mean?Square,LMS)算法,该算法可以将自适应滤波系统的参数自动调整到最佳状态。同时,在设计滤波系统时,只需要知道很少的或不需要任何信号与噪声之间的先验统计知识,具有很强的自学习能力、自跟踪能力和算法简单易实现等优点。因此,自适应信号处理技术在军事、医学、勘探、图像处理、振动工程等各个领域都有着极其深远的应用[1]。

1 固定步长LMS算法

固定步长LMS算法是基于最陡下降法的,其迭代公式为:

[X(n)=x(n)x(n-1)x(n-2)…x(n-L+1)T] (1)

[e(n)=d(n)-XT(n)W(n)] (2)

[W(n+1)=W(n)+2μe(n)X(n)] (3)

式中:[X(n)]表示自适应滤波器[n]时刻的输入信号矢量;[W(n)]表示自适应滤波器的权系数矢量估值;[d(n)]是期望信号矢量;[e(n)]是误差信号矢量;[L]是滤波器的阶数;[μ]是步长因子,用来控制稳定性和收敛速度。为了保证LMS算法收敛,步长[μ]的取值范围为:[0

由以上公式可以看出,在选择步长时,稳态误差和收敛速度二者之间存在着矛盾,即步长越小,失调越小,但收敛速度越慢;步长越大,收敛速度越快,但是失调越大。

2 改进的变步长LMS算法

为了克服稳态误差和收敛速度二者之间的矛盾,人们曾提出了许多种变步长LMS算法,即在算法收敛的过程中,动态的调整步长因子[μ]的大小。其中,在文献[3]中,提出了一种基于Sigmoid函数的变步长LMS算法(SVSLMS),其步长因子[μ(n)]与误差信号[e(n)]呈Sigmoid函数的关系,公式为:

[μ(n)=β11+e-αe(n)-0.5] (4)

该算法解决了收敛速度、跟踪能力和稳态误差之间的矛盾,但在误差接近零的时候,步长变化太大,使得在稳态时有较大的步长。文献[4?5]中给出了改进的算法,使得在稳态时误差变化较小。文献[6]中提出了一种新的基于Lorentzian函数的变步长LMS算法,采用Lorentzian函数作为步长因子[μ(n)],即:

[μ(n)=αlog1+12e(n)δ2] (5)

其收敛速度和跟踪速度得到了进一步的提高。本文是在基于Lorentzian函数的变步长LMS算法的基础上,做了进一步的改进,提出了一种新的自适应LMS算法,更好地消除了不相关噪声的影响,且具有较好的抗噪声性能。改进后的步长因子[μ(n)]与误差信号[e(n)]的关系式为:

[μ(n)=αlog1+12e(n)e(n-1)δ2] (6)

3 改进算法的理论分析

在步长因子[μ(n)]与误差信号[e(n)]的关系式中,参数[α]用于控制收敛速度,其值越大,收敛速度越快;参数[δ]用于控制稳态阶段函数的形状,即误差信号接近零时步长因子的变化程度,合理设置[α]和[δ]的值,可以使得算法在最佳步长附近缓慢变化,避免由于独立噪声干扰而产生的较大影响。[α]和[δ]的具体取值方法参考文献[4],本文不再详细叙述。

误差[e(n)]的计算公式为[e(n)=d(n)-XT(n)W(n),]可以改写成:

[d(n)=e(n)+XT(n)W(n)] (7)

由式(7)可以看出,误差信号[e(n)]与输入信号[X(n)]相关,为了便于做进一步分析,将期望信号用另一种形式表示[7]:

[d(n)=XT(n)W*(n)+N(n)] (8)

其中[N(n)]为干扰噪声信号,是与输入信号无关的均值为零的高斯白噪声;[W*(n)]为最佳权系数矢量。令:

[ΔW(n)=W(n)-W*(n)] (9)

其中[ΔW(n)]表示权系数偏差矢量, 由此可得:

[e(n)=N(n)=XT(n)ΔW(n)] (10)

[e2(n)=N2(n)-N(n)XT(n)ΔW(n)-XT(n)ΔW(n)N(n)+XT(n)ΔW(n)?XT(n)ΔW(n)] (11)

[e(n)e(n-1)=N(n)N(n-1)-N(n)?XT(n-1)ΔW(n-1)-XT(n)ΔW(n)?N(n-1)+XT(n)ΔW(n)XT(n-1)?ΔW(n-1)] (12)

由于噪声[N(n)]与输入信号[X(n)]无关且均值为零,故对式(11)和式(12)同时取期望,化简可得:

[E[e2(n)]=E[N2(n)]+E[XT(n)ΔW(n)?XT(n)ΔW(n)]] (13)

[E[e(n)e(n-1)]=E[XT(n)ΔW(n)XT(n-1)?ΔW(n-1)]] (14)

根据统计的观点,从式(13)和(14)中可以看出,由于式(13)中存在[E[N2(n)]]项,即[e2(n)]的期望值与干扰信号[N(n)]的大小相关,因此干扰较大时,算法的稳定性较差。而在式(14)中,[e(n)e(n-1)]的期望值仅与输入信号[X(n)]相关,不受干扰噪声[N(n)]的影响,即抗干扰能力较强。因此本文采用的步长因子与误差信号的迭代公式与改进前相比,可以使稳态误差更小,尤其在信噪比较低的条件下,仍然具有较好的性能。

4 计算机仿真

以自适应噪声抵消系统为平台,用Matlab软件[9?10]编程对改进后的LMS算法的滤波效果、收敛速度、稳态误差以及抗干扰能力进行了仿真验证[8]。自适应噪声抵消结构图如图1所示,在主输入端输入原始正弦信号[x(n)=sin(2πn/10)],加性干扰信号[n0(n)]为白噪声,信噪比为20 dB,被噪声污染的信号[d(n)=x(n)+n0(n)]。在参考输入端输入与[n0(n)]相关的另一个噪声信号[n1(n)],经过自适应抵消滤波系统处理后输出信号[y(n),]通过[d(n)]与[y(n)]的差值[e(n)]来自动调节自适应滤波器的系数,滤除原始信号中的噪声干扰。

上一篇:教育学:行走在自界的边缘 下一篇:改进的PID算法在输液加温器中的应用