改进的变步长LMS自适应滤波算法及其仿真
1 引言
自适应滤波研究始于20世纪50年代末Widrow和Hoff提出的最小均方误差算法,由于该算法具有简单性、鲁棒性和易于实现的性能,因此在自适应滤波原理中得到了很好的应用[1]。然而,传统的固定步长的LMS算法在收敛速度、时变系统的跟踪能力和稳态失调之间的要求是存在很大矛盾的。小的步长确保稳态时具有小的失调,但是算法的收敛速度慢,并且对非稳态系统的跟踪能力差;大的步长使算法具有更快的收敛速度和好的跟踪能力,但这是以大的失调为代价的[2-3]。为解决这一矛盾,各种变步长LMS算法被提出。变步长算法都是利用自适应过程中提供的某种近似值作为衡量标准来调节步长。简单有效的方法是利用自适应过程中的误差信号,试图在步长与误差信号之间建立某种函数关系。文献[4]给出Sigmoid函数的变步长LMS算法(SVSLMS),其能同时获得较快的收敛速度、跟踪速度和较小的稳态误差。然而,该Sigmoid函数在误差e(n)接近零时变化太大,不具有缓慢变化的特性,使得SVSLMS算法在稳态时仍有较大的步长变化。为此,文献[5-6]分别给出相应的改进算法,使其在稳态时步长因子很小,而且变化不大,解决了SVSLMS算法存在的问题。文献[7]克服了文献[5]在低信噪比下收敛速度变慢的问题,但在稳态性能方面欠佳。在分析了以上算法的基础上,文献[8]提出了基于双曲正切函数的变步长算法,该算法能同时获得较快的收敛速度、跟踪速度和较小的稳态误差。然而,该双曲正切函数在误差e(n)接近零处变化太大,不具有缓慢变化的特性,使得该算法在自适应稳态阶段仍有较大的步长变化,并且在低信噪比环境下,该算法收敛速度、跟踪速度和稳态误差并不十分理想。本文在此基础上提出了一种改进型算法,不仅保证了较快的收敛速度、跟踪速度和较小的稳态误差,并且克服了双曲正切函数在自适应稳态阶段步长调整过程中的不足,同时,降低了算法对自相关性较弱噪声的敏感性。
2 固定步长LMS算法
基本的LMS算法可以表示为
(1)
(2)
其中X(n)为n时刻输入信号矢量;W(n)为时刻 N 阶自适应滤波器的权系数, d(n) 为期望信号, e (n) 为误差信号,是步长因子。该算法收敛的条件是,是输入信号自相关矩阵的最大特征值。
图1 自适应滤波原理框图
3 改进的变步长LMS算法及其分析
文献[8]中提出了基于双曲正切函数的变步长LMS算法:
(3)
(4)
式中变步长是 e(n) 的双曲正切函数。
该算法能同时获得较快的收敛速度、跟踪速度和较小的稳态误差e(n) 。然而,该双曲正切函数在误差接近零处变化太大,不具有缓慢变化的特性,使得该算法在自适应稳态阶段仍有较大的步长变化,并且在低信噪比环境下,该算法收敛速度、跟踪速度和稳态误差并不十分理想,这是算法的不足。
本文通过对双曲正切函数修正得到新的变步长LMS算法为:
(5)
3.1 收敛性分析
β用于控制函数的取值范围,α和h用于控制函数的形状。根据算法收敛条件:,则要求,同时根据步长调整原则的要求,应有参数,在此条件下分析参数α、β和h的选择。为了说明参数α、β和h对函数的影响,绘制了在不同参数下和 e(n) 的函数关系曲线。由图2~4可知:α选择过大时误差e(n)接近0仍有较大步长,稳态误差增大,α选择过小时步长较小且变化缓慢,收敛速度降低;β选择过大时会超出收敛条件,过小时初始阶段收敛速度较慢;h选择过大时,步长调整过早进入缓慢变化区域,选择过小时会增大稳态误差。因此参数α、β和h应根据具体的系统环境与要求进行选择。
3.2 抗干扰性分析
由式(1)可得:
(7)
而误差 e(n) 与输入信号X(n)有关,为了便于分析,d(n)将表示为
(8)
式中: N(n) 是均值为零的噪声,与输入信号无关;W*(n)为时变的最优系数矢量。令
(9)
式中:K(n)为系数偏差矢量。
则由式(7)~(9)得
(10)
由于N(n)是零均值的噪声,N(n)与X(n)无关,并且噪声N(n)本身不相关,对的贡献很小,可忽略不计,故有
(11)
而在文献[8]算法中,根据N(n)本身不相关,与X(n)也不相关,可得出
(12)
从统计的观点,由式(12)可以看出,当采用式(3)对步长因子进行调整时,由于 E[N(n)] 项的存在,不在是算法自适应状态的准确反应,在噪声和干扰比较严重的应用环境下,N(n)将影响LMS算法的性能,是自适应算法很难达到最优解,在最优解周围波动。为了减小N(n)对步长因子的影响,式(5)对其进行了改进,即用e(n)e(n-1)来调节步长因子,而不是文献[8]算法中的e(n)。在自适应滤波的开始阶段,e(n)比较大,也较大,由于噪声N(n)不相关,N(n)N(n-1)对的贡献很小,所以N(n)对的影响可以忽略不计。当e(n)较小时,也较小,由于改进算法的步长只与输入信号有关,而不受噪声的影响。因此,具有收敛速度快,稳态误差小的优点,而且在低信噪比的环境中仍保持较好的性能,具有广泛的用途。
4 仿真结果及分析
4.1 仿真条件
本节从收敛性、跟踪性能、稳态性能和抗干扰性能等方面进行仿真比较,说明本文算法的有效性。采用文献[8]的实验条件:
(1) 自适应滤波器的阶数L=2;
(2) 未知系统的FIR系数为;在第500个采样点时刻,未知系统发生时变,系数矢量变为;
(3) 参考输入信号x(n)是零均值、方差为1的高斯白噪声;
(4)v(n)为与x(n)不相关的高斯白噪声,其均值为零、方差。为得到LMS算法的学习曲线,分别做200次独立的仿真,采样点数为1000,然后求其统计平均。
本文步长在和时为 最优状态。
4.2 仿真结果及分析
图5是本文算法和原算法收敛曲线的比较,上面一条是、和为原算法最佳值的收敛曲线,下面一条是本文算法的最优收敛曲线。由图5可知本文算法优于原算法。
图6和图7分别是信噪比为10dB和18dB时本文算法和原算法收敛曲线的比较。可以看出,低信噪比时原算法的稳态误差波动较大,本文算法稳态性能优于原算法;信噪比相对比较大时,2种算法的仿真曲线近似一致,说明在高信噪比的情况下,二者具有相同的性能。
5 结束语
本文通过对双曲正切函数的修正,建立了步长因子与误差信号e(n)之间新的非线性函数关系,其在误差e(n)接近零处具有缓慢变化的特性,克服了双曲正切函数在自适应稳态阶段步长调整过程中的不足。计算机仿真结果表明该算法比原算法收敛性能更好,与理论分析相一致。并且,在低信噪比环境下,该算法比原算法有更小的稳态误差,有更好的抗噪声性能。
文章版权归西部工控xbgk所有,未经许可不得转载。