基于对数函数的归一化变步长LMS算法

2018-10-09 03:15乐,周
火力与指挥控制 2018年8期
关键词:步长稳态误差

明 乐,周 峰

(空军工程大学防空反导学院,西安 710051)

0 引言

从现实情况上来看,最小均方误差算法获得了广泛的利用,不管是在弱化通信噪音上,还是在信道均衡上,又或者是在清除特定某些信号的杂波上等等[1-2]。就以往的LMS算法而言,其无法一并顾及收敛速度以及稳态误差两者。

针对该种情况,有关研究人员对以往的LMS算法进行了改善,推出了一些新的算法[3-7],其中归一化LMS算法需要通过步长和输入信号功率两者间的比例关系,将步长作出归一化处理,其中会涉及到全局步长因子,该因子固定,也会产生和传统算法一样的难题。但是就基于对数函数的变步长LMS算法而言,其步长不是固定不变的,和别的变步长算法比较,不管是在收敛速度上,还是在稳态误差上,都有了较大的改善,然而其算法性能对输入信号比较敏感。为了处理上述两种算法尚存的缺陷,把这两者联系起来,给出了一种基于对数函数的归一化变步长LMS算法,利用前者的思想来弱化输入信号对后者的影响程度,和两者中的单一算法相比,新算法的收敛速度要更为迅速,稳态误差要更低一些,此外,其跟踪性能也较为优良。

1 变步长LMS算法

就传统LMS算法而言,实际上其属于一种最小均方算法,以最速下降法为基础,不会使用到均方误差,取而代之的是平方误差。迭代公式如下:

式(1)中,W(n)是自适应滤波器n时刻的权系数向量,X(n)是 n 时刻的信号输入矢量,d(n)是期望信号,e(n)是输出误差。式(2)中μ是自适应算法的迭代步长。

1.1 归一化LMS算法(NLMS算法)

归一化LMS算法需要通过步长和输入信号功率两者间的比例关系,对前者作出归一化处理,进而使得收敛速度更快,稳定程度更好。归一化后的步长为:

式(3)中,σx2为输入信号的功率,由于很难直接计算,一般用时间平均作为功率的估计值,即:

因此,归一化LMS算法(NLMS算法)的抽头向量更新公式为:

式(5)中,γ是较小的正常数,是为了避免分母为零。

1.2 基于对数函数的变步长LMS算法(Log-LMS算法)

相比于“指数”、“正弦”等方法,从形式上来看,对数函数较为简明,所需的计算不多,并且如果步长因子以及误差信号这两者能够构成对数关系,那么不管是收敛速度,还是稳态误差,都将会更好。其中 e(n)和 μ(n)满足表达式:

式(6)中,参数a是用来控制曲线的整体变化,参数m是用来控制曲线底部变化速度,参数b是用来控制曲线的幅度大小。

文献[6]中也讨论了a、b和m的取值对步长曲线的影响,得出的结论是:a的值太大,会使步长因子错过最佳值;a值过低,在尚未处于最低稳态误差的时候,步长因子就已变成了零,结果就是收敛速度会过低。b值过高,那么算法可能处于一种发散的状态,稳态误差也就较高;b值过低,那么出现的结果是收敛速度过低。同样m的取值也会影响稳态误差,m取值一般设为2。所以在实际应用中,应合理地选择参数。

2 基于对数函数的归一化LMS算法(Log-NLMS算法)

由于步长因子μ影响着系统的收敛速度、稳态误差,即收敛速度会随步长较大而变快,但稳态误差也会随之变大;反之,其收敛速度会随步长较小而变慢,但稳态误差也会随之变小。就归一化LMS算法而言,尽管其对步长和输入信号功率的比例关系进行了利用,然而其利用到的步长是不变的,不能保证收敛速度高以及稳态误差低的情况一起出现。所以,在此对步长因子作出了优化,把归一化LMS算法以及基于对数函数的变步长LMS算法联系起来,最终给出了一种基于对数函数的归一化变步长LMS算法。

该种新算法的逻辑是:以误差e以及步长μ两者间构成的对数关系为基础,通过前者使后者发生变动,令后者一直处于一种适宜的界限中,进而获得更优的收敛速度,也获得更低的稳态误差。同时利用此变步长与输入信号的比值来得到一个新的变步长,即对步长的归一化,从而降低算法的性能对输入信号的敏感度,即对上述式(6)进行变形得:

式(7)中,γ是较小的正常数,加上它是为了避免分母为零。

因此,得到新算法的迭代公式如下:

基于对数函数的归一化LMS算法的计算步骤总结如下:

1)对抽头系数进行相应的初始化处理,也就是迭代的起点:

2)对输入信号进行滤波,产生期望响应的估计值:

3)产生估计误差信号:

4)根据误差信号产生变步长因子:

5)更新抽头权向量:

重复步骤2)~步骤5)。

3 仿真结果

3.1 参数选取

为了更好地对比新算法与单一算法在性能上的差异,在这里采用了文献[6]所给出的仿真条件,通过仿真结果来检验新算法的性能。仿真条件如下:系统是阶数为2的自适应滤波器;采用的输入信号x(n)是高斯白噪声信号,并且其均值等于0,方差等于1;采用的未知系统的有限长单位冲击响应滤波器的权系数w=[0.80.5]T,在采样点数为500时系统参数发生变化,使得w=[0.4 0.2]T;所采用的v(n)是均值等于0,方差等于0.04的高斯白噪声信号,并且这个噪声信号和输入信号两者间是没有关系的。仿真过程中所利用的采样点数为1 000,为弱化实验中出现的误差,形成较为精准的收敛曲线,在该仿真条件下,将200次仿真所得的实验数据求平均,得到最终的平均收敛曲线。

仿真过程中NLMS算法中固定步长取μ=0.007,文献[6]经过讨论给出的Log-LMS算法最优参数 为 a=1 000,b=0.02,m=2。 下 面 讨 论 新 算 法Log-NLMS的参数选取问题。

固定 b=0.01,m=2,a 依次变化为 100,1 000,3 000。从图1中可以看出a值在1000时,算法性能已经最佳,再随着a值增加,算法性能几乎一样。因此,本文通过仿真得出a的最佳值为1 000。固定a=1 000,m=2,b 依次变化为 0.02,0.4,0.8。由图 2 中能够发现,b为0.4的时候,算法性能处于最好的状态,之后伴随该值的提高,性能会减弱。因此,本文通过仿真得出b的最佳值为0.4。

3.2 结果分析

对新算法和归一化LMS算法、基于对数函数的变步长LMS算法分别进行了仿真,并对仿真结果进行分析。

图3给出的是归一化LMS算法、基于对数函数的变步长LMS算法和基于对数函数的归一化变步长LMS算法的均方误差与迭代次数的关系曲线图,从图中不难发现,如果迭代次数没有超过500,也就是未出现跳变的时候,第1种算法实现收敛的时候的迭代次数是300,第2种算法是120,而第3种新的算法大约是80;如果系统出现了跳变的情况,第1种算法实现收敛的时候的迭代次数大约是700,第2种算法大约是600,而第3种新的算法大约是550,而且,新算法对系统的跟踪能力也很强,因此,可以得出结论:不管是和归一化LMS算法比较,还是和基于对数函数的LMS算法比较,新算法在收敛速度方面都要更快一些,在稳定程度方面都要更好一些,而且遇到跳变的情况,新算法在跟踪能力上也很强。图4对应的为上述3种算法的权值收敛曲线,不难发现,新算法和另外两种算法比较,在权值收敛方面要更为迅速一些。

4 结论

对归一化LMS算法以及基于对数函数的变步长LMS算法两者的整体思想进行了阐述,并将两者联系起来,最终给出了一个更优的算法,也就是基于对数函数的归一化变步长LMS算法。通过仿真分析,得出了新算法比单一算法在收敛速度方面更快,收敛后更加平稳,且其对系统的跟踪能力也很强,所以新算法也可以应用在多时变系统中。

猜你喜欢
步长稳态误差
衰老相关的蛋白稳态失衡
可变速抽水蓄能机组稳态运行特性研究
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
电厂热力系统稳态仿真软件开发
一种改进的变步长LMS自适应滤波算法
基于变步长梯形求积法的Volterra积分方程数值解
元中期历史剧对社会稳态的皈依与维护
董事长发开脱声明,无助消除步长困境
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用