变步长LMS

2024-11-23

变步长LMS(共7篇)

变步长LMS 篇1

随着通信技术的发展, 传统的滤波技术不能满足系统的要求, 自适应滤波技术成为了现代信号处理的重要组成部分, 并广泛应用到各个领域[1]。LMS算法是应用最广泛的自适应滤波算法。LMS算法是由Widow和Hoff于20世纪60年代初提出的[2]。LMS算法是在维纳滤波的基础上, 借鉴最速下降法的思想而发展起来的[3,4]。其基本思想是通过调整滤波器的自身参数, 使滤波器的输出信号与期望响应之间的均方误差最小。图1为自适应线性滤波器的原理框图。

然而传统LMS算法存在收敛速度和稳态误差的相互矛盾[5], 迭代步长大则算法收敛速度快, 但同时也带来较大的稳态误差;反之, 迭代步长小则算法收敛速度慢, 但稳态误差小。为此人们对算法作了改进, 提出了变步长的LMS算法, 如文献[7—10]所述。这些变步长LMS自适应算法基本上遵循这样的步长调整原则:在初始收敛阶段或未知系统参数发生变化时, 步长应比较大, 以便有较快的收敛速度或对时变系统的跟踪速度;而在算法收敛后, 都应保持很小的调整步长以达到很小的稳态失调。

本文分析了这些文献中的LMS算法, 并结合这些算法提出了一种新的改进变步长LMS算法, 经过理论分析及计算机仿真结果表明, 该算法在不同信噪比的条件下, 仍然可以保证较快的收敛速度和较小的失调, 能有效地去除不相关杂波的干扰, 并且考虑了输入信号对迭代步长的影响, 可以很好地应用于自适应滤波系统中。

1 传统LMS算法及其改进分析

传统的LMS算法是基于最速下降法的最小均方算法, 利用平方误差代替均方误差, 其迭代公式可以表述为[6]

式中, W (n) 是自适应滤波器n时刻的权系数向量, X (n) 是n时刻信号输入矢量, d (n) 是期望信号, e (n) 是输出误差, μ是自适应算法的迭代步长, 并且满足0<μ<1/λmax时算法收敛, 其中, λmax是输入信号相关矩阵的最大特征值。

基本LMS算法虽然算法简单, 易于实现, 但是由于其步长恒定, 造成了收敛速度与稳态误差之间的矛盾。针对该算法的缺点文献[7]提出了Sigmoid函数变步长LMS算法 (SVSLMS) :

其变步长μ (n) 是e (n) 的Sigmoid函数:

式 (6) 中, α、β是调整算法的两个参数。

该算法克服了传统的LMS算法难以同时获得较快的收敛速度和较小的稳态误差的缺点, 能同时获得较快的收敛速度和较小的稳态误差。

但是, Sigmoid函数过于复杂, 且在误差e (n) 接近零处变化太大, μ (n) 不具有缓慢变化的特性, 使得SVSLMS算法在自适应稳态阶段仍有较大的步长变化。为了解决这一算法的缺点文献[8]对这一算法进行了改进, 提出另一个满足步长调整原则的函数:

该算法在误差e (n) 接近零时变化较小, μ (n) 具有变化缓慢的特性并且能同时获得较快的收敛速度和更新小的稳态误差。

根据文献[9]的分析, 由于噪声信号v (n) 的存在, μ (n) 不能正确的反映自适应状态的迭代过程, 使自适应算法很难达到最优解。为降低文献[8]所提算法对噪声的敏感性, 文献[9]不直接使用信号误差的平方, 即调节步长, 而是用误差的相关值即。文献[9]提出的步长调整函数为:

上述文献并没有说明输入信号对步长的影响。梯度向量的模值与误差信号有共同的特点[10], 梯度向量的模在初始阶段梯度向量幅值较大, 且该向量方向的模值在迭代过程中逐渐变小, 稳态时较小且趋近于零。文献[10]使用误差性能表面的梯度向量的模值代替误差因子, 即步长因子为

式 (9) 中, ‖e (n) X (n) ‖是梯度向量e (n) X (n) 的欧氏范数平方, 即

由于式 (10) 中存在项, 根据文献[9]的分析, 由于误差信号v (n) 的存在, 式 (10) 不能正确反映自适应过程的状态。

2 改进算法

根据文献[9]和文献[10]的思想以及各自的优缺点, 本文将式 (10) 中的当前梯度向量e (n) X (n) 改为前一迭代时的梯度向量, 提出了如下步长调整函数:

根据文献[9]的分析, 由于项e (n) e (n-1) 的存在, 使迭代步长μ (n) 能准确的反映自适应系统的迭代过程, 降低算法对误差信号的敏感度, 减小了稳态误差;而且由于引入了XT (n) X (n-1) , 也反映了输入信号对步长因子的影响。因此, 根据以上分析本文算法具有较快的收敛速度和较小的失调, 并且在信噪比比较低的条件下有更好的性能。更好地解决了收敛速度和稳态误差的内在矛盾。

3 计算机仿真及其分析

本文通过计算机仿真来分析并检验新的变步长LMS算法的收敛性能, 采用文献[8]中的仿真条件:

(1) 自适应滤波器的阶数L=2。

(2) 未知系统的FIR系数为W*=[0.8, 0.5]。

(3) 参考输入信号x (n) 是零均值、方差为1的高斯白噪声。

(4) v (n) 是和x (n) 不相关的高斯白噪声, 其均值是零, 方差σ2=0.04。

(5) 为得到新的变步长算法的学习曲线, 分别做200次独立的仿真, 采样点数为1 000, 然后求其统计平均值。

3.1 算法参数选取

图2为α=50, β分别取0.01, 0.005, 0.1, 0.2时所对应的算法收敛关系曲线。从关系曲线可以看出, 随着值的增大, 算法的收敛速度逐渐提高, β等于0.1时, 收敛速度和稳态误差达到最优, 之后随着β值的增大收敛速度几乎不变, 但稳态误差逐渐增大。因此, 通过仿真得出算法β最佳值为0.1。

图3为β=0.1, α值分别取5, 50, 500, 1 000所对应的算法收敛关系曲线。从关系曲线可以看出, 随着α值的增大算法的收敛速度逐步加快, α等于500时, 收敛速度和稳态误差达到最优;之后随着α值的增大, 收敛速度几乎不变, 稳态误差逐渐增大。因此, 通过仿真得出算法α最佳值为500。

3.2 变步长算法的收敛曲线比较

为了验证本文算法与其他算法相比, 在各种噪声环境下具有更好的自适应滤波性能, 本文在信噪比分别为SNR=7, SNR=10, SNR=15, 其他条件不变的条件下, 进行对比仿真。文献中的算法参数选取均使用该文献的最优参数。

图4画出了信噪比SNR=7的情况下, 本文算法同文献[9, 10]算法的平均误差收敛过程。从图中可以看出, 在信噪比较低的情况下, 文献[10]算法对噪声信号很敏感, 由于信噪比很低, 有较大的误差, 文献[9]算法对噪声信号的敏感程度有所降低, 但仍然对噪声信号比较敏感, 本文算法不但有较快的收敛速度, 而且具有较小的误差, 有效去除了噪声的干扰。

图5和图6画出了信噪比SNR=10和SNR=15的情况下, 本文算法同文献[9.10]算法的平均误差收敛过程。从图中可以看出, 在信噪比较高的条件, 文献[10]算法下的稳态误差仍然较大, 对噪声信号的敏感度仍然较大, 本文算法和文献[9]算法噪声信号的敏感程度比较低, 具有相似的稳态误差, 但本文算法比文献[9]具有更快的收敛速度。

4 结束语

本文建立步长因子与梯度向量信号模值之间的单调函数关系, 提出了一种新的变步长自适应滤波算法。在不同的信噪比环境下进行仿真实验, 计算机仿真结果同理论分析一致, 本文提出的算法具有更快的收敛速度和更小的稳态误差。

参考文献

[1] 何振亚.自适应信号处理.北京:科学出版社, 2002

[2] Gitlin R D, Weinstein S D.The effects of large interference on the tracking capability of digitally implemented echo cancellers.IEEE trans on COM, 1978, (6) :833—839

[3] 丁玉美, 阔永红, 高新波.数字信号处理.西安:西安电子科技大学出版社, 2002

[4] Paulo S R D.自适应滤波原理.北京.电子工业出版社, 2004

[5] 朱庆保, 张玉兰.基于栅格法的机器人路径规划蚁群算法.机器人, 2005;27 (2) :132—136

[6] 姚天任, 孙洪.现代数字信号处理, 武汉:华中科技大学出版社, 1995:45—120

[7] 覃景繁, 欧阳景正.一种新的变步长自适应滤波算法.数据采集与处理, 1997;12 (3) :171—194

[8] 高鹰, 谢胜利.一种新的变步长LMS自适应滤波算法及分析.电子学报, 2001;29 (8) :1094—1097

[9] 吕强, 冯池.一种变步长LMS算法及其matlab仿真.应用科技, 2006;33 (6) :80—82

[10] Karni S, Zeng G.A new convergence factor for adaptive filters.IEEE Trans.Circuits Syst, 1989;36 (7) :1011一1012

一种改进的变步长LMS算法 篇2

自适应滤波处理技术可以用来检测平稳和非平稳的随机信号,具有很强的自学习和自跟踪能力,算法简单易于实现,在噪声干扰抵消、线性预测编码、通信系统中的自适应均衡、未知系统的自适应参数辨识等方面获得了广泛的应用。Widrow和Hoff于1960年提出最小均方算法(least mean square,LMS),其显著特点是它的简单性。

LMS算法是基于最小均方误差准则的维纳滤波器和最陡下降法提出的[1,2]。为了采用最陡下降法,需要知道均方误差性能函数的梯度的精确值∇wξ=2Rxxw-2rxd,这就要求输入信号x(n)和期望信号d(n)平稳且二阶统计特性已知,而这些在实际中往往不能满足或是未知的。LMS算法用如下的梯度估计值:

^wζ=w|e(n)|2。 (1)

即它用瞬时输出误差功率的梯度作为均方误差梯度∇wE{|e(n)|2的估计值。换句话说,它用瞬时平方误差性能函数|e(n)|2代替了均方误差性能函数E{|e(n)|2}。LMS算法的递推公式为:

w(n+1)=w(n)+μe(n)x(n)。 (2)

上式中的步长因子μ决定着算法的收敛速度和稳态失调,而这二者往往是一对矛盾。较大的μ可以提高收敛速度,然而失调量也变大;反之亦然。人们研究了采用变步长的方法克服这一矛盾。自适应过程初始阶段采用较大的μ值以保证较快的收敛速度,在后期采用较小的μ值以保证收敛后得到较小的失调量。文献[3]提出一种步长因子μ(n)随迭代次数n增加而逐渐减小的变步长自适应滤波算法;文献[4]提出一种时间平均估值梯度的自适应滤波算法;文献[5]提出一种步长因子μ(n)与e(n)和x(n)的互相关函数估值成正比的变步长自适应滤波算法。在分析以上几个算法的基础上,文献[6]提出一种步长因子μ(n)在初始阶段较大、在后期较小的自适应滤波算法。文献[7]给出一种步长因子μ(n)如下式表示的变步长自适应滤波算法:

μ(n)=β[(1+e-α|e(n)|)-1-0.5]。 (3)

文献[8]给出了步长因子μ(n)表示的变步长自适应滤波算法如下:

μ(n)=β[1-e-α|e(n)|2]。 (4)

该文所作的仿真分析表明,式(4)较式(3)的算法有更好的性能。

1 本文算法及仿真结果

本文提出步长因子μ(n)表示的变步长自适应滤波算法如下:

μ(n)=β[2-e-α1|e(n)|-e-α2|e(n)|2]。 (5)

通过自适应线性预测进行仿真,要预测的信号x(n)由以下二阶AR模型产生如下:

x(n)+a1x(n-1)+a2x(n-2)=v(n), (6)

式中,a1=-0.195、a2=0.95;v(n)为均值为零、方差为0.096 5的正态分布噪声。

采用二阶线性预测滤波器,其输出为x(n)的预测值x^(n),且:

x^(n)=w1(n)x(n-1)+w2(n)x(n-2),(7)

预测误差为:

e(n)=x(n)-x^(n)。 (8)

LMS递推公式为:

{w1(n+1)=w1(n)+μ(n)x(n-1)e(n)w2(n+1)=w2(n)+μ(n)x(n-2)e(n)

, (9)

对式(4)和式(5)进行对比仿真,也就是说式(9)中的μ(n)分别由式(4)和式(5)确定,两式中的参数取值为:α=α1=α2=1,β=0.02。

图1是运行500次得到的e2(n)平均值,从图中可以看出本文提出的变步长算法得到的结果更优。图2是预测滤波器系数变化曲线,运行1 000次得到的平均值;图中还给出了单次运行得到的结果。对比图1和图2,可以看出2种算法的收敛速度基本一致。综合这2点,本文提出的算法性能较文献[8]的好。

式(5)所示的变步长算法同时考虑了指数为|e(n)|一次和二次幂的两项,而式(3)只考虑了指数为|e(n)|一次幂的一项,式(4)只考虑了|e(n)|二次幂一项,所以式(5)效果较它们都更优。

2 结束语

本文分析了参考文献中各种变步长自适应滤波算法,在参考文献中性能最好的算法,即参考文献[8]中的算法基础上,提出一种改进的算法。对比仿真表明,本文算法在保持收敛速度的同时,获得了更优的均方误差曲线,从而性能更优。

参考文献

[1]何振亚.自适应信号处理[M].北京:科学出版社,2002.

[2]龚耀寰.自适应滤波[M].北京:电子工业出版社,2003.

[3]GITLIN R D,WEINSTEIN S D.On the design of gradient algorithms fordigitally implemented adaptive filters[J].IEEE Trans on CT,1973(2):125-136.

[4]GITLIN R D,WEINSTEIN S D.The effects of large interference onthetracking capability of digitally implemented echo cancellers[J].IEEE Trans on COM,1978(6):833-839.

[5]叶华,吴怕修.变步长自适应滤波算法的研究[J].电子学报.1990,18(4):63-69.

[6]罩景繁,欧阳景正.一种新的变步长自适应滤渡算法[J].数据采集与处理.1997,2(3):171-194.

[7]吴光弼,祝琳瑜.一种变步长LMS自适应滤波算法[J].电子学报.1994,22(1):55-60.

变步长LMS 篇3

智能天线技术是第三代移动通信系统中的关键技术之一。智能天线技术引入空分多址方式, 利用信号不同的空间传输路径, 将相同频率、相同时隙、相同地址码的信号区分开来, 使通信资源由时间域、频域和码域扩展到空间域, 有效地增大了系统容量, 最大限度地利用了有限的频谱资源[1,2]。智能天线运用自适应波束形成算法, 根据用户的空域信息来产生空间定向波束, 将波束的主瓣对准期望用户信号的来波方向, 实现旁瓣或零陷对准干扰信号的目的。对于智能天线系统, 现在已经提出了许多的自适应算法。这些算法中, 最小均方算法 (LMS) 的方法简单, 计算量小, 易于实现, 且对信号的统计特性具有稳健性等优点。基于此, 本文分析了LMS算法的收敛速度以及稳态性问题, 在此基础上提出了一种新的变步长LMS算法, 以提高算法的收敛速度, 保持较好的稳定性。

1接收信号模型

首先假设信号符合窄带模型的要求, 所谓的窄带模型是指信号的带宽B远远小于载波频率fc。在此模型下, 入射信号在不同阵元间的微小延迟可以用相移来代替, 对于同一个信号, 不同阵元上对该信号的响应只相差一个相位。设系统采用均匀直线阵, 如图1所示, 阵元数为M, 阵元间距为d。设入射信号为s (t) , 来波方向为θ, 则阵列接收信号向量x (t) = (x1 (t) , x2 (t) , …, xM (t) ) T为:

x (t) =a (θ) s (t) +n (t)

式中:a (θ) = (1, e-jφ1 (θ) , …, e-jφM-1 (θ) ) T为阵列的导向矢量;φi-1 (θ) 表示该来波信号在第i阵元与参考阵元 (第一阵元) 之间的相对相移。由图中的几何关系可得, φi-1 (θ) =- (i-1) kdsin θ;n (t) = (n1 (t) , n2 (t) , …, nM (t) ) T为阵元噪声向量。

当有L个信号入射到阵列, 入射角分别为θ1, θ2, …, θL, 则阵列接收的信号为:

x (t) =i=1La (θi) si (t) +n (t) =As (t) +n (t)

式中:A= (a (θ1) , a (θ2) , …, a (θL) ) ;s (t) = (s1 (t) , s2 (t) , …, sL (t) ) T。以上就是波束形成器阵列天线信号模型。

2LMS算法性能分析

LMS算法是一种自适应波束形成算法, 通过迭代求解MMSE准则下的最优权值。一般来说自适应算法的工作过程是, 首先根据阵列信号及当前权重算出阵列输出值, 同时计算出输出与期望信号的差值, 然后根据求出的差值按照一定规律自动调整加权权值。以上的过程是不断进行迭代的过程, 直到达到要求进入动态的稳定状态。这里不妨假设阵列接收到的信号为x (t) = (x1 (t) , x2 (t) , …, xM (t) ) T, 接收信号加权系数为W (n) = (w1 (n) , w2 (n) , …, wM (n) ) H, 那么天线阵的输出为y (n) =W (n) Hx (n) 。设期望信号为d (n) , 那么输出信号和期望信号之间的误差为e (n) =d (n) -WHx (n) 。

LMS算法是基于最陡下降优化方法的迭代自适应算法, 最陡下降方法就是沿着代价函数负梯度方向搜索, 最终收敛于使代价函数最小的最优解。根据MMSE准则得到LMS算法的迭代公式为:

W (n+1) =W (n) +μe (n) x (n) (1)

式中:μ是步长因子, 其取值对算法的性能有非常重要的影响。μ的选取影响着算法的稳定性和算法的收敛速度等。

2.1 算法的稳定性

下面通过理论推导来讨论算法的稳定性[3]。首先对其迭代公式两边取期望可得:

E{W (n+1) }=E{W (n) }+μE{x (n) e* (n) }=E{W (n) }+μ[E{x (n) d* (n) }-E{x (n) xΗ (n) W (n) }]

假定相继的输入是独立的, 则W (n) 和x (n) 相互独立, 那么上式可以化为:

E{W (n+1) }=E{W (n) }+μ[rxd-RxxE{W (n) }]= (Ι-μRxx) E{W (n) }+μRxxWopt (2)

式中:Wopt=Rxx-1rxd是维纳滤波解。定义第n时刻生成的权W (n) 与最优权Wopt之差为权偏差向量, 记为Wd (n) , 即:

Wd (n) =W (n) -Wopt (3)

将式 (3) 带入式 (2) 得:

E{W (n+1) }= (Ι-μRxx) E{Wd (n) } (4)

QRxx的正交归一矩阵, 将式 (4) 两端左乘Q-1, 并记Wd=QW′d, 可得:

E{Wd´ (n+1) }=Q-1 (Ι-μRxx) QE{Wd´ (n) }

对上式进一步化简可得:

E{Wd´ (n+1) }= (Ι-μΛ) E{Wd´ (n) } (5)

式中:ΛRxx的特征值组成的对角阵。从式 (5) 可以看出, 向量W′d元素之间实现了去耦, 由于 (I-μΛ) 为对角阵, 易得:

E{Wd´ (n) }= (Ι-μΛ) nE{Wd´ (0) } (6)

从式 (6) 可以看出, 如果想要算法收敛于维纳最优解, 那么就需要当N趋于无穷时, E{Wd (n) }趋于0, 则E{W′d (n) }也要趋于0。由式 (6) 知, 当且仅当 (I-μΛ) n趋于0时, 才能达到上述要求, 又根据I-μΛ的对角性, 可得:

|1-μλi|<1, i=1, 2, , Μ

进而可得:

0<μ<2/λmax (7)

很明显, 若要使算法收敛, 步长因子μ必须满足式 (7) , 其中λmax代表Rxx的最大特征值。

2.2 LMS算法的收敛速度

下面将讨论收敛速度与步长因子μ的关系。由式 (6) 可以看出, 瞬时权矢量收敛于维纳最优解的速度是由公比矩阵I-μΛ来决定的, 如果记W′d的第i个元素为w′di (n) , 则有:

wdi (n) = (1-μλi) nwdi (0) (8)

从式 (8) 可以看出, 每一元素的收敛速度分别由一个对应的公比1-μλi来控制, 假设信号环境是确定的, 那么λi的分布也就确定了。在μ满足收敛条件的同时, μ的取值越大, 1-μλi越趋近于0, 相应算法的收敛速度也越快。

另一方面, 算法的收敛速度是由M个公比, 即1-μλi (i=1, 2, …, M) 共同来决定的。如果当特征值的分布范围比较大时, 即当最大特征值和最小特征值之比较大时, 公比的取值幅度也将比较大, 算法的收敛速度将会变得比较慢。

综上可以看出, 在传统的LMS算法中, 步长μ的选取将会影响到算法的稳定性、收敛速度。如果μ的取值太大, 虽然收敛速度可以很快, 但稳态误差会增大, 不能保证较高的算法精度;如果μ的取值太小, 尽管能够获得较好的稳态特性, 但算法的收敛速度以及对时变系统的跟踪速度也会明显降低。这就要求在μ的选取过程中一定要权衡两个性能指标。另外, 接收信号的自相关矩阵Rxx特征值的分散程度也是决定收敛速度的因素之一, 当分散程度很大时, 收敛速度会变得很慢。

3新的变步长LMS算法

3.1 变步长的思想与实现

基于LMS算法的性能与步长因子之间的关系, 提出了变步长LMS算法。变步长算法的基本思想就是在初始收敛阶段或系统参数发生时变时, 自适应算法的权值与最优维纳解相距较远, 为保证有较快的收敛速度及对时变系统的跟踪速度, 选取较大的步长μ;在算法接近收敛时, 迭代的权值接近最优权值, 选取较小的步长μ, 以减少算法的稳态误差。

在智能天线自适应处理过程中, 天线阵列的输出信号将与期望信号产生一定的误差, 误差信号会受到噪声以及干扰信号的影响。尤其是在噪声和干扰比较严重的环境下, 如果只用误差信号对步长进行调整, 将会极大地影响LMS算法的性能, 使自适应算法很难调整到最优权值矢量, 而只能在最优权值周围波动[4]。因此本文考虑用当前误差信号与上一步误差的自相关估计来控制权值的更新, 用以消除不相关噪声序列的干扰[5]。同时采用归一化LMS的思想来减小算法性能对输入信号的敏感度。基于以上的考虑提出用如下的步长因子:

μ (n) =α (1-e-β|e (n) e (n-1) |) xΗ (n) x (n)

采用|e (n) e (n-1) |进行步长的调整, 在自适应的初始收敛阶段误差较大, 步长因子μ (n) 也比较大, 但是由于噪声不相关, 对μ (n) 的影响很小, 因此噪声对自适应算法造成的稳态误差将会有效降低, 使算法具有收敛速度较快, 稳态误差较小的特点。采用归一化的思想, 在一定程度上减小了算法对Rxx特征值发散的敏感性。

3.2 算法仿真

仿真实验条件:采用阵元数M=16的均匀直线阵列, 假定天线阵列接收到分别从-45°, 0°, 30°方向上入射的三个信号, 其中期望信号的来波方向为0°, 另外两个为干扰信号, SNR为30 dB, 噪声是均值为0, 方差为1的高斯白噪声。其中, 传统LMS算法的步长选取为μ=0.000 005, 新变步长算法的参数选择为α=0.225, β=0.25, 仿真结果如图2, 图3所示。图2为阵列输出信噪比曲线;图3为运用算法的波束方向图。从图3中可以看出, 在快拍数为30左右时, 新算法已经基本收敛。另外, 从它们各自最终形成的波束方向图可以看出, 它们都能够实现主波束对准期望信号, 零陷对准干扰方向, 从而起到滤波的功能, 同时与传统算法相比, 新算法在干扰方向能够形成相对更深的零陷, 第一副瓣更低, 对干扰信号的抑制能力更强。仿真结果表明, 新变步长算法的收敛速度明显高于传统LMS自适应算法。

当仿真条件选取SNR均为20 dB时, 比较两种算法在波束形成过程的收敛速度, 其仿真结果如图4, 图5所示。结果表明, 当SNR= 20 dB时, 两种算法收敛时的稳态较SNR=30 dB都有一定的波动, 但新的自适应算法仍能够保持较快的收敛速度, 收敛性能要优于传统LMS算法。

4结语

系统地分析了影响传统LMS算法性能的因素, 在此基础上运用变步长的思想对传统LMS算法进行了改进, 提出了一种新的变步长因子算法来提高算法的收敛速度, 减小稳态误差。从Matlab仿真结果可以看出, 新算法具有更快的收敛速度, 能够在干扰方向产生更深的零陷, 可以有效地增强对干扰信号的抑制能力。

参考文献

[1]汪晋宽, 宋昕.鲁棒自适应阵列信号处理[M].北京:电子工业出版社, 2009.

[2]刘鸣, 袁超伟, 贾宁, 等.智能天线技术与应用[M].北京:机械工业出版社, 2007.

[3]王振力, 张雄伟, 杨吉斌, 等.一种新的快速自适应滤波算法的研究[J].通信学报, 2005, 26 (11) :1-6.

[4]徐凯, 纪红, 乐光新.一种改进的变步长自适应滤波器LMS算法[J].电路与系统学报, 2004, 9 (4) :115-117.

[5]高鹰, 谢胜利.一种变步长LMS自适应滤波算法及分析[J].电子学报, 2001, 29 (8) :1094-1097.

[6]YU Shiann-jeng, LEE Ju-hong.Adaptive array beamform-ing based on an efficient technique[J].IEEE Trans.onAntennas and Propagation, 1996, 44 (8) :1094-1101.

[7]金荣洪, 耿军平, 范瑜.无线通信中的智能天线[M].北京:北京邮电大学出版社, 2006.

[8]李丽君.智能天线自适应波束形成算法的研究[J].通信技术, 2009, 42 (4) :13-15.

[9]李方伟, 张浩.一种新的变步长LMS自适应滤波算法及其仿真[J].重庆邮电大学学报:自然科学版, 2009, 21 (5) :591-594.

变步长LMS 篇4

为了更准确地检测谐波电流,文献[4]提出了一种基于离散傅里叶变换(DFT)的谐波检测方法,虽然能够达到需求的补偿效果,但收敛速度较慢;文献[5]提出了一种逐次分序谐波检测算法,该算法能够有效地提高收敛速度,但是稳态误差较大。基于自适应检测算法原理的谐波检测方法由于能够自我更新,能够根据信号的统计规律自动调整参数,以获得最佳的检测效果,而得到广泛的关注和应用[6,7]。

针对传统定步长自适应算法无法解决稳态误差和收敛速度的矛盾,文献[8]提出的变步长算法,尽管可以同时解决上述问题,但却忽略了噪声对APF系统的干扰。本文提出了一种新的变步长LMS算法,并通过仿真与样机实验研究,证明该算法相比于传统定步长自适应算法,能够同时实现快速收敛和高稳态精度,并能有效地抑制噪声对系统的干扰,体现了该算法的优越性和可行性。

1 基于传统LMS算法的自适应检测方法

1.1 自适应LMS谐波检测原理

自适应谐波检测是基于自适应噪声对消原理,即将参考输入量调整为与负载电流的基波分量相同的分量,再通过抵消负载电流的基波分量而得到谐波分量。通过自适应调整环节,可以随外界参数的变化而自动调整检测算法。由于其具有算法简单、结构灵活、适用范围广,且具有良好的自适应性和鲁棒性,在谐波检测中得到广泛应用[9,10]。 传统的基于最小均方(least means square,LMS)算法的自适应谐波检测方法其原理框图如图1所示。

图1 中,X(n) =[x(n),x(n- 1),…,x(n- M + 1)]为自适应谐波检测的输入信号,是前M个时刻的数据序列。是自适应权值多项式的输出,e(n) 为负载电流与输出电流y(n) 的误差信号。

1.2 传统定步长LMS算法原理及分析

LMS算法即是滚动优化环节,是自适应检测模型的性能指标判断依据。该环节按照最小均方差的指标来对预测模型的权值系数向量进行在线滚动优化调节,以使系统的误差达到最小。现对该算法进行分析。

LMS算法的目标是使e2(n) 的期望取得最小值的最佳权Wopt。 e2(n) 的期望可表示为

为使E{e2(n)} 取得最小值,可令E{e2(n)} 对W的梯度为零求得,递推公式为

式中:∇WE{e2(n)} 为E{e2(n)} 的梯度;μ 为常数;称为步长因子。

在实际计算中,可以用梯度估计值代替,而梯度估计值为

即用瞬时输出误差功率的梯度∇W| e(n)|2作为均方误差梯度∇WE{e2(n)} 的估计值。

由(2)式可得

将式(5)和式(6)带入式(4)可以得到LMS算法的递推公式为

在传统自适应预测算法中,步长因子 μ 为一固定值,而步长因子的大小是决定系统收敛速度和稳态精度的重要因子。

在有源电力滤波器的谐波电流检测模块中加入传统的定步长LMS自适应谐波检测环节,虽然可以准确地检测谐波分量,但是由于步长因子为固定值,所以谐波检测模型会出现以下问题:若步长 μ 的值较大时,虽然系统的收敛速度加快,但稳态误差会很大;若步长 μ 的值较小时,虽然减缓了系统的收敛速度,但使稳态误差变小。由此可见,传统的定步长LMS算法无法解决稳态误差和收敛速度的矛盾,这就是它的最大缺陷。

2 变步长自适应谐波检测算法

针对传统固定步长LMS算法无法同时实现低稳态误差和快速收敛的缺陷,采用变步长LMS算法可以对其进行有效处理。首先我们假设W*(n)就是使检测输出值与实际值y(n + 1) 相等的权值向量,则当检测模型的权值系数与最佳值W*(n) 相差较远时,通过增大步长 μ的值能够得到更快的收敛速度;而当权值系数接近W*(n) 时,通过减小步长 μ 的值获得较小的稳态误差。

该算法利用历史误差数据,通过记忆因子计算误差的功率加权并以之作为步长调节的主控因子,实现步长和检测模型的权值更新,同时引入扰动因子来抑制算法对干扰信号所造成的稳态失调。系统的权值系数向量和计算步长 μ 的更新算式如下:

式中:a,b,c,d均为常数,且0 < a,b,c,d < 1 ;K为与权向量维数相同的单位列向量;β(n) 为幅度因子;γ(n) 为扰动因子;λ( j) 为记忆因子;p2(n) 为误差平方的加权值。

2.1 步长调整策略及分析

参数 λ( j) 为记忆因子,其值按指数规律下降,其作用是对过去M个时刻的误差进行功率加权。通过记忆因子 λ( j) ,按照当前时刻误差对步长的影响最大并随时间而逐渐减弱的原则来确定误差的权重,总的误差功率加权由于兼顾了过去时刻系统误差的情况,能够保证步长不会在收敛前就降到最低,然后以总的误差功率p2(n) 作为步长 μ 的主要控制因子。

幅度因子 β(n) 按 β(n) = dβ(n - 1) 衰减,其中d为幅度衰减系数:

因为幅度因子的衰减系数0 < d < 1 ,当迭代次数很大时,上式趋近于0,所以初始值 β(0) 就是幅度因子 β(n) 的最大值。为了使算法能够收敛,步长 μ 的取值应符合:

式中:λmax为输入自相关矩阵的最大特征值。

要保证式(8)成立,只需要满足:

式(8)即是算法步长幅度因子的初值取值范围,在工程上可以取定步长算法收敛时的最大步长。

Kγ(n)[|e(n)| - |e(n - 1)|] 作为动量项,可以进一步加速权值系数的收敛速度。如果在上一次更新中权值变化较大,则相应的动量值也较大,当前时刻的权值修正量也会被增加,加快了系统的收敛速度。

通过以上分析,算法中引入的总误差功率和幅度因子能够有效地实现步长的在线调整。在自适应的初始阶段,系统误差值较大,相应的β(n) 和p2(n) 的值也均较大,使得步长也很大,这样就加快了系统的收敛速度;随着自适应过程的进行,系统误差会逐渐减小,β(n) 和p2(n) 也会相应的变小,步长也会跟着变小,直到系统收敛阶段,β(n) 和p2(n) 都趋近于零,步长也接近于零,所以能够同时有效地降低稳态误差。

2.2 扰动因子调整策略及分析

在本文所提出的变步长算法中,用绝对估计误差|e(n)| 代替符号不确定的估计误差e(n) ,能更好地表示估计信号偏离期望信号的程度。当估计信号与期望信号相差更远时,扰动因子正向调节权向量;当估计信号与期望信号相差更近时,反向调节权向量。 γ(n) 以指数形式衰减,如下式所示:

当衰减系数c < 1时,式(10)收敛。当迭代次数大时,扰动量对权向量的影响较小,因此稳态误差被抑制在较低的水平;当迭代次数小时,误差的波动对权向量的影响较大。通过调节扰动因子 γ(n) 可以对权向量进行调节,更有效地抑制噪声对稳态精度的影响。

3 仿真与实验结果分析

3.1 仿真及结果分析

APF普遍采用的谐波电流检测方法是基于瞬时无功功率理论的ip-iq算法,因此本节在此基础上引入自适应检测模块,使之能够准确地获得负载谐波电流分量。对前文提出的方法在Matlab/Simulink环境下进行仿真验证。未加入APF补偿前的负载电流波形如图2所示。

如图2 所示,负载电流严重畸变并呈现双头波,此时畸变率达到31.73%。在APF中加入定步长和变步长的自适应检测后电网电流的治理波形如图3 所示。其中在变步长LMS算法中的一些参数为:a=0.9,b=3 × 10-5,c=0.3,d=0.99,μmax= 0.000 1 ,μmin= 0 ,M = 32 ,检测算法中X,W,e和 μ 的初始值均设为零。

由图3 可见,加入带有自适应谐波检测环节的APF系统后,补偿性能得到了明显的提升,波形波动大幅度减少,畸变率也降低到4.29%和2.27%。对定步长和变步长两种算法的治理效果进行比较我们可以看出,变步长算法的检测精度更高,APF系统的补偿性能更好。

下面对本文算法与传统算法的动态误差与稳态误差进行对比实验。本设计是对三相基波电流分量进行谐波检测,由于三相对称,因此以A相基波电流为例进行说明,为保证一定的检测精度,固定步长算法中取步长为最大值的1/10,即μ = 10-5。由于系统采样周期为Ts= 2 × 10-5s,则1 个电网周波内会有1 000 个采样点,因此几乎不会观察到对实际电流的跟踪。所以通过实际值与检测值的差来对两种算法进行分析。

分析图4,对收敛过程中两者的检测误差进行分析。

可以看出,传统的定步长LMS谐波检测算法在跟踪0.002 6 s后达到稳态,而变步长LMS算法则是在0.000 2 s后达到稳态平衡,所以相比于定步长检测算法,变步长检测算法的收敛速度更快。这是因为在开始阶段,变步长算法的步长能够达到最大值 μ = 10-4,几乎是定步长算法步长的10倍,因此收敛速度更快。系统稳态阶段时2种算法的静态误差波形如图5所示。

由图5可知,在达到稳定状态后,两种算法均有较小的稳态误差,均小于实际值的1%,这是由自适应谐波检测算法自身特性和系统的高采样频率所共同决定的。对两种检测算法进行比较,也可较为明显的看出,定步长检测算法的检测电流静态误差的最大值能达到0.25 A,而变步长检测算法的检测电流静态误差最大值小于0.1 A,所以变步长算法的检测精度更高一些,稳态误差更小。这是由于在稳态阶段变步长算法的步长μ < 10-5所造成的,这就是变步长的优势所在。对噪声干扰的治理效果如图6所示。

由图6 可以看出,当系统受到噪声干扰时稳态误差的最大值能达到2.1 A,加入变步长LMS检测算法后,稳态误差的最大值减小到0.3 A,因此本文提出的算法能够有效地抑制噪声对系统的影响。

3.2 APF样机实验及结果分析

利用本文算法搭建APF样机,进行对比实验。实验硬件参数为三相电压源120 V,APF直流侧电压400 V,APF注入电感3 m H ,APF直流侧电容5 000 μF,非线性负载电感90 m H,非线性负载电阻78 Ω,采样频率12.8 k Hz。

将本文算法在DSP中实现,应用到APF样机中,与定步长LMS算法进行对比实验。两种算法参数设置与3.1 节设置相同,得到的实验结果如图7所示。

从图7a中可以看出,应用传统的定步长LMS算法的APF谐波检测方法,进行谐波治理以后,ABC三相电流的谐波畸变率分别为5.6%,6.1%,6.0%。图7b所示,应用本文提出的变步长LMS算法,进行APF谐波检测后,其可以将谐波畸变率降至4.9%,5.1%,4.8%。

4 结论

变步长LMS 篇5

自适应滤波技术是现代信号处理的重要组成部分。自1967年威德诺等人提出自适应滤波器以来,在短短几十年中,自适应滤波技术已广泛应用于系统模式识别、自适应控制、通信信道的自适应均衡以及雷达信号处理等诸多领域。自适应滤波器实质上就是一种能够调节其自身传输特性以达到最优的维纳滤波器,图1为自适应滤波器的原理框图[1]。

1960年美国斯坦福大学Widrow和Hoff等提出了最小均方(LMS)自适应算法[2]。由于LMS算法简单、计算量小、易于实现实时处理,广泛用于雷达、通信、声纳、系统辨识及信号处理等领域。然而,传统的固定步长μ的LMS算法在收敛速度、时变系统的跟踪能力和稳态失调之间的要求存在很大矛盾。小的步长μ可以确保稳态时具有小的失调,但是算法的收敛速度慢。如果为了获取快的收敛速度而选取大的μ,就会引起失调量的增加。因此,为了获得较快的迭代速度同时保证较小的失调量,人们提出了各种变步长LMS算法。这些变步长LMS自适应算法基本上遵循如下的步长调整原则[3]:在初始收敛阶段或未知系统参数发生变化时,步长应比较大,以便有较快的收敛速度或对时变系统的跟踪速度;而在算法收敛后,不管主输入端干扰信号多大,都保持很小的调整步长以达到很小的稳态失调噪声。本文在分析基本LMS算法和变步长LMS算法的基础上,提出了一种改进的变步长LMS算法。新算法的步长迭代因子同误差信号的相关值和误差信号本身有关,从而在滤波过程中,开始阶段能有一个比较大的步长,随着迭代过程的进行,步长减小并稳定在一个很小的数值,收敛加快,稳态误差也更小。

1 LMS算法

1.1 基本LMS算法

基本的固定步长LMS算法的迭代公式可以表述为:

e(n)=d(n)-XT(n)W(n) (1)

W(n+1)=W(n)+2μe(n)X(n) (2)

其中W(n)是自适应滤波器n时刻的系数,X(n)是n时刻信号输入矢量,d(n)是期望信号,e(n)是输出误差,μ是自适应算法的迭代步长,并且满足0<μ<1/λmax时算法收敛,其中,λmax是输入信号相关矩阵的最大特征值。基本LMS算法虽然算法简单,易于实现,但是由于其步长恒定,收敛速度比较慢,到达稳态后失调也较大。

1.2 变步长LMS算法

由于固定步长LMS算法的固有缺陷,人们提出了许多变步长自适应滤波算法对基本LMS算法进行改进。Gtlin R.D等曾提出了一种变步长自适应滤波算法[4],其步长因子μ随迭代次数n的增加而逐渐减小。Yasukawa等提出了使步长因子μ正比于误差信号e(n)的自适应滤波算法[5]。为了改善滤波器性能,覃景繁等人提出了一种新的变步长算法——SVSLMS算法[6], 该算法的步长μe(n)的Sigmoid函数:

μ(n)=β(1/(1+exp(-α|e(n)|))-0.5) (3)

该算法能同时获得较快的收敛速度、跟踪速度和较小的稳态误差。高鹰等人提出了另一种新的变步长算法——G-SVSLMS算法[7],

e(n)=d(n)-XT(n)W(n) (4)

μ(n)=β(1-exp(-α|e(n)|2)) (5)

W(n+1)=W(n)+2μ(n)e(n)X(n) (6)

步长调整函数如式(7)所示。

μ(n)=β(1-exp(-α|e(n)|2)) (7)

式(7)中,参数α>0控制函数的形状,参数β>0控制函数的取值范围。该函数比Sigmoid函数简单,并且在误差e(n)接近零处具有缓慢变化的特性,克服了Sigmoid函数在自适应稳态阶段步长调整过程中的不足。另外吕强等人提出了一种新的VSSLMS算法,不直接用信号误差的平方去调节步长,而是采用误差的相关值e(n)e(n-1)去调节步长,步长迭代如式(8)。

μ(n)=β(1-exp(-α|e(n)||e(n-1)|)) (8)

该算法收敛速度快,稳态误差小,在低信噪比环境下性能很好。

1.3 改进的变步长LMS算法

在以上的变步长算法中,由于Sigmond函数过于复杂,且在误差e(n)接近零处变化太大,不具有缓慢变化的特性,使得SVSLMS算法在自适应稳态阶段仍有较大的步长变化,从而影响稳态误差[8];而G-SVSLMS算法在低信噪比环境下收敛速度、跟踪速度和稳态误差并不十分理想,这就大大制约了其应用范围[9];虽然新的VSSLMS算法在低信噪比环境下性能很好,但在高信噪比环境下性能没有改善,同原来的G-SVSLMS性能基本相同。

针对以上情况,为了能在低信噪比和高信噪比环境下都能获得较好的性能,本文提出的改进的变步长自适应滤波算法如下:

e(n)=d(n)-XT(n)W(n) (9)

μ(n)=β(2-e-α1|e(n)|2-e-α2|e(n)||e(n-1)|) (10)

W(n+1)=W(n)+2μ(n)e(n)X(n) (11)

其中α1、α2>0,该算法综合考虑信号误差以及误差相关值对迭代步长的影响,适当选取α1和α2,既可克服低信噪比环境下LMS算法对噪声敏感的缺点,又能在高信噪比环境下得到更好的收敛性能。

由于LMS自适应滤波算法的收敛条件是0<μ<1/λmax,其中λmax是输入信号自相关矩阵的最大特征值。因此μ(n)应满足:0<μ(n)<1/λmax,由此可得β<1/2λmax。在此条件下,算法一定收敛,但并不是满足β<1/2λmax条件的任意α1、α2和β都能在初始收敛阶段μ(n)较大而在算法收敛后μ(n)较小。因此,应适当选取α1、α2和β。

2 计算机仿真

本文在如下环境中进行模拟:(1)自适应滤波器阶数L=2;(2)未知系统的FIR系数为W=[0.8,0.5]T;(3)参考输入信号X(n)是零均值,方差为1的高斯白噪声;(4)v(n)为与X(n)不相关的高斯白噪声,其均值为零,方差为σv2=0.04;(5)选取满足条件的本算法参数α1=1.9,α2=2,β=0.2。分别作200次独立的仿真,采样点数为500,然后求其统计平均,得出学习曲线如图2所示:

由图2可以看出,本文提出的改进LMS算法明显优于传统LMS算法和VSSLMS算法,其收敛速度更快。此时,根据信噪比定义,SΝR=10lgΡxΡv=10lgσx2σv2,信噪比约为14 dB。

更换仿真条件,将v(n)换为均值为0,方差为σv2=0.01的高斯白噪声,其余条件不变,此时信噪比约为20 dB,得到学习曲线如图3所示。

由图3可以看出,在高信噪比环境下,本文提出的算法相对于原有的VSSLMS算法仍有很大的改进,收敛更快,均方误差也更小。

再次更换仿真条件,将v(n)更换为均值为0,方差为σv2=0.79的高斯白噪声,其余条件不变,信噪比约为1 dB,得到学习曲线如图4所示。

由图4可以看出,在低信噪比环境下,本文提出的LMS算法依然具有良好的性能,收敛速度比其余方法更快,并且对噪声不敏感,所受影响很小。

3 结束语

本文通过建立步长因子μ(n)与误差信号e(n)之间的一种非线性函数关系提出了一种改进的变步长LMS算法,利用误差信号以及误差信号相关值共同调整步长。分别在高信噪比,低信噪比以及普通环境下分别进行仿真验证,理论分析和计算机仿真结果表明该算法在三种环境下比传统LMS算法和VSSLMS算法都能收敛速度更快,均方误差更小,并且能保持较好的抗噪性能。

摘要:在分析传统LMS(Least Mean Square)算法及其改进算法的基础上,提出了一种新的改进的变步长LMS算法。新算法利用误差信号以及误差信号相关值共同调整步长,克服了一般变步长LMS算法低信噪比环境下抗噪较差以及高信噪比环境下收敛较慢的缺点。计算机仿真结果表明,与传统LMS算法和VSSLMS算法相比,该算法收敛速度更快,均方误差更小,同时也具有良好的抗噪性能。

关键词:变步长,LMS算法,自适应

参考文献

[1] 吴光弼,祝琳瑜.一种变步长LMS自适应滤波算法.电子学报.1994;22(1):55—60

[2] Widrow B, Mccool J M, Larimore M G, et al. Stationary and nonstationary learning characteristics of the LMS adaptive filter. Proc IEEE,1976;64(8): 1151—1162

[3] 孙恩昌,李于衡,张冬英,等.自适应变步长LMS滤波算法及分析.系统仿真学报.2007;19(14):3172—3175

[4] Gitlin R D, Mazo J E, Taylor M G. On the design of gradient algorithms for digitally implemented adaptive filters. IEEE Trans on CT, 1973;20(2): 125—136

[5] Yasukawa H, Shimada S, Furukawa I, et al. Acoustic echo canceller with high speech quality. ICASSP,1987: 2125—2128

[6] 覃景繁, 欧阳景正.一种新的变步长自适应滤波算法.数据采集与处理,1997;12(3): 171—194.

[7] 高鹰, 谢胜利.一种新的变步长LMS自适应滤波算法及分析.电子学报,2001;29(8): 1094—1097

[8] 盛三元, 王建华. 一种新的变步长LMS自适应滤波算法.华东船舶工业学院学报(自然科学版),2002;16(3): 50—52

变步长LMS 篇6

关键词:可变步长,自适应算法,LMS,通信噪声对消,滤波

一、引言

1959年, 由Windrow和Hoff提的LMS算法因其结构简单, 稳定性好, 一直被作为自适应滤波应用的经典算法之一, 被广泛应用于自适应控制、系统辨识、通信、雷达以及信号处理等领域[1]。最小均方 (LMS) 自适应算法就是以已知期望相应和滤波器输出信号之间误差的均方值最小为准则, 依据输入信号在迭代过程中估计梯度矢量, 并更新权系数已达到最有优的自适应迭代算法。然而LMS算法的稳态误差与收敛速率存在矛盾。文献[2, 3, 4]对VSS-NLMS算法进行分析, 该算法的收敛过程中, 在初始阶段收敛步长值较大, 收敛后步长相对较小, 具有较好的稳定性。但是关于对步长求2次导数或1此导数的计算复杂度较大。NLMS[5]算法解决矛盾的方法就是采用变步长LMS算法, 本文通过对现有变步长算法进行研究, 采用符号函数替换文献[4]中对步长参数的求1次导数, 在保持收敛速度、收敛误差等性的优越的情况下, 大大减少的计算的复杂度, 通过在通信对消模型中仿真分析, 验证了新算法的可行性。

二、现有的几种自适应滤波算法分析

2.1基本LMS算法

LMS算法是建立在Wiener滤波器的基础上发展而来的。W iener解是在最小均方误差 (MM SE) 意义下, 使用均方误差作为代价函数而得到的在最小误差准则下的最优解。

LMS自适应算法表示式为:

时刻M阶自适应滤波器的权系数;

2.2变步长算法

由于定步长算法收敛速度比较快, 但是收敛的稳态误差比较大, 因此存在收敛速度和稳态误差的矛盾, 为了兼顾二者矛盾, 人们提出了很多变步长参数的LMS算法。文献[1]提出了变步长VSS-LMS算法将迭代关系更变为:

文献[2]提出了归一化NLMS算法, 权值更新过程如下:

其中f (·) 对函数取不同形式, 可以减少LMS算法计算量。为遗传因子, 取值为。NLMS算法能够有效地减少基本LMS算法在收敛过程中队梯度噪声的放大作用, 收敛速度也比基本的LMS算法快。

三、新的变步长LMS算法

变步长VSS-LMS算法在当e (n) 较大时, 对应较大的步长参数, 因此引起较大的收敛速度, e (n) 较小时, 引起较小的收敛速度。同样NLMS算法具有较好的减小误差的幅度, 所存在的缺点是计算复杂度、收敛速度较慢。本文将符号函数引入到式 (4) 中, 提出了新的变步长算法VSS-NLMS算法, 新算法的变步长公式为

四、仿真分析

1965年由美国斯坦福大学最先研究提出自适应对消系统结构, 随后在经过很多年的发展, 自适应对消技术广泛应用于雷达、电子对抗、医学等各个领域。图1为自适应对消模型。

自适应噪声对消器[5]的系统输出为:

仿真分析时, 根据文献[2]对VSS-LMS仿真采用相同参数进行对比, 参数如下:系统阶数N=2, 信噪比SNR=10, 定步长LMS算法中=0.000009;变步长算法参数:

a) 收敛速度

收敛速度是衡量自适应算法的一个重要指标, 算法达到极小值的所用时间越小, 表明系统达到稳定性越快。从图2上可以看到, 改进算法的收敛速度比其他2种算法要快。

b) 稳态误差

膘2稳态误差

表2表示了系统在达到极小值时的均方误差, 从数据方看VSS-NLMS要明显比其他2种算法小。因此表明改进算法在稳态误差上有一定优点。

c) 计算复杂度

本文提出的算法是将计算误差函数的导数用符号函数代替, 因此将乘法器改为判断算法, 优于VSS-LMS算法。改进算法复杂度与NLMS算法一致。

五、小结

收敛速度、稳态误差和计算复杂度是衡量一个自适应优化算法的重要标准, 本文根据仿真结果对改进算法进行分析, 综合考虑, 本文提出的改进算法具有一定优点。后续将该算法应用于工程实践验证。

参考文献

[1]BWidrow, SD Stearn.Adaptive SignalProcessing[M].USA:Prentic2Hall Inc.1985

[2]Hyun ChoolShin, Al iHSayed, WooJin Song.Variable StepS ize NLMS and Affine Projection Algorithms[J].IEEE Signal Processing Letters, 2004, 11 (2) :132-135

[3]S.Koik e.A class of adapt ive steps ize control algorithms for adaptive filters[J].IEEE Trans.SignalProcess, 2002, 50 (6) :1315-1326

[4]邓江波, 侯新国.一种变步长归一化LM S算法及性能分析[J].电声基础.2004, 12:4-6

变步长LMS 篇7

随着人们生活质量的提高,人们对于乘用车乘坐舒适度的要求也越来越高。对于乘用车来说,车内噪声主要来源于发动机和车身震动辐射到车内的噪声,以400 Hz以下的低频噪声为主。自适应主动噪声控制系统在低频噪声领域已获得广泛的应用,是一种有效的乘用车车内降噪方法。在自适应主动噪声控制系统中,多采用LMS算法。LMS算法的步长μ是固定值,步长μ取值大,收敛速度快,但稳态误差较大,反之,步长μ取值小,稳态误差较小,但收敛速度越慢。所以,LMS算法的收敛速度和稳态误差是一对矛盾。

为解决该问题,研究人员提出很多种改进的变步长LMS算法,文献[1]中提出的基于Sigmoid函数变步长SVSLMS算法是其中具有代表性的变步长LMS算法之一。该算法具有较快的收敛速度,但是Sigmoid函数在误差信号e(n)接近零时变化太大,容易产生较大的稳态误差。文献[2]中针对SVS-LMS算法的不足进行改进,通过减小稳态阶段的调整步长μ,有效地减小稳态误差,但是与SVSLMS算法相比,改进后的算法计算复杂度高,收敛速度提高较小。文献[3]中提出一种基于步长和误差信号之间的非线性关系的双曲线正切函数变步长LMS算法,该算法有较小的稳态误差,但是收敛速度提高较小。文献[4]中提出一种步长和误差信号呈正弦函数关系的变步长LMS算法,解决了LMS算法不能同时具有较快收敛速度和较小稳态误差的矛盾,但是参数选取缺乏理论依据,只能通过实验来获得。文献[5,6,7,8,9,10,11,12,13]中用不同的方法提出步长因子μ和误差信号e之间的非线性函数关系的变步长LMS算法,这些算法在改变步长μ(n)时均遵循基本调整原则:在初始收敛阶段,采用大的步长,加快收敛速度,稳态阶段,采用较小的步长,降低稳态误差。针对这种调整原则,本文在文献[2]算法基础上提出一种新的变步长LMS算法,能够有效地提高初始阶段收敛速度,减小稳态误差。

1 改进的变步长LMS算法

文献[1]提出一种基于Sigmoid函数的变步长LMS算法-SVSLMS算法,其步长μ(n)为:

式中,e(n)为误差信号,α、β为常数。

SVSLMS算法的收敛范围0<β<2/λmax(λmax是输入信号自相关矩阵的最大特征值),克服了传统LMS算法的收敛速度慢的不足,但是在稳态阶段的步长较大,容易引起稳态失调。

文献[2]在文献[1]基础上提出了一种改进的变步长LMS算法,步长μ(n)为:

式中,α为控制函数形状的常数,β为控制函数取值范围的常数。

该算法符合变步长算法调整准则,收敛范围0<β<1/λmax,克服了SVSLMS算法的稳态误差较大的不足,但是收敛速度提高较小。

为了解决文献[2]算法在收敛性能方面的不足,本文根据变步长μ(n)的调整准则,在文献[2]算法基础上,改变μ(n)和e(n)的函数关系,在初始阶段|e(n)|值较大时选取较大步长μ(n),当|e(n)|逐减小,选取较小步长μ(n),基于Sigmoid函数,提出一种改进的变步长μ(n)为:

在初始收敛阶段,为了加快收敛速度,将文献[2]变步长函数中固定值1调整为可控值exp(α),当α>0,exp(α)>1,所以在条件相同的情况下,改进后的算法在初始阶段步长较大,为符合当误差函数e(n)取零时,步长也为零,将文献[2]算法中的固定值2调整为h/exp(α)。因为μ(n)<[β·exp(α)],所以本文算法β·exp(α)的最大值[β·exp(α)]max=1/λmax,本文算法收敛条件为α>0,0<[β·exp(α)]<1/λmax。

图1中图(a)、(b)是3种算法的步长和误差关系比较图。

图中,曲线1代表SVSLMS算法,曲线2代表文献[2]算法,曲线3代表本文算法,为了便于比较,将图1(a)中3种算法的参数α和β取相同值,α=1.5,β=0.000 05.初始阶段误差值e(n)相同时,曲线3的步长最大,使得本文算法收敛速度最快,在稳态阶段,误差值e(n)相同时,曲线3的步长小于曲线1但大于曲线2,稳态误差小于SVSLMS算法但大于文献[2]算法。所以本文算法克服了SVSLMS算法稳态误差大的问题,同时也弥补了文献[2]算法收敛速度提高较小的不足。

为了从数学角度更好地分析本文算法,根据本文参数变化规律α,β均取较大值,有利于加快本文算法初始收敛速度。图1(b)中SVSLMS算法取值为α=2,β=0.5情况下,文献[2]算法最佳取值为α=6,β=0.2,本文算法最佳取值为α=1.7,β=0.05,h=4,图1(b)显示在初始阶段,误差值e(n)相同时,曲线3的步长最大,使得本文算法收敛速度最快,在稳态阶段,误差值e(n)相同时,曲线3的步长最小,获得稳态误差最小,所以本文算法优于另外2种算法。

图2、图3和图4分别是当参数h、α和β取不同值时,变步长μ(n)和误差函数e(n)的关系图。从图2中可以看出,h在初始阶段对步长影响较小,它对步长函数的底部有很大的影响,也就是说,在稳态阶段,它对步长有较大的影响。如果h的值越大,步长在曲线底部改变得就越慢,误差函数e(n)趋于零时,步长μ(n)越小,稳态误差越小。反之,h的值越小,稳态误差越大。所以结合文献[2]和仿真结果取h=4。图3和图4表明,α和β参数的调整对初始阶段步长影响较大,决定了算法的收敛性能,但α和β的调整对步长大小的影响不同,α和β参数均需调整。当α和β取值越大,初始阶段的步长就越大,算法的收敛速度就越快。相反,α和β取值越小,初始阶段的步长就越小,算法的收敛速度就越慢。所以本文算法的步长参数调整规则如下:在满足算法不发散的前提下,选取较大的α、β和较小的h,可使算法具有较快的收敛速度和跟踪速度。反之,选取较小的α、β和较大的h,会使算法具有较小的稳态失调。实际应用中,根据具体的情况,选择适当的h、α和β值,才能达到最佳的效果。

2 仿真研究结果分析

2.1 收敛性能和抗噪能力仿真比较分析

为了验证本文算法在不同信噪比条件下的收敛性能和抗噪能力,对本文算法和另外3种算法进行仿真对比实验。仿真条件如下:为说明文中算法对处理信号的选取具有一般性,输入信号选用被噪声信号干扰的随机信号,其中噪声信号r(n)为方差为1、均值为零的高斯白噪声,滤波器阶数为8。为了平衡收敛速度和稳态误差,固定步长LMS算法的步长μ=0.00 001。由于另外3种算法的α和β取值不具有一般性,在满足0<[β·exp(α)]<1/λmax范围内随机取相同值α=1.5,β=0.00 005。α和β取值如图1(a)所示,4种算法在信噪比为10和15时误差函数的MATLAB仿真结果如图5所示。

图5(a)和(b)中曲线1代表LMS算法,曲线2代表SVSLMS算法,曲线3代表文献[2]算法,曲线4代表本文算法,在图5(a)中,曲线4误差e(n)收敛于n=200,稳态误差e(n)<1,另外3条曲线n=200未收敛,稳态误差e(n)>1。图5(b)中,曲线4收敛于n=50,另外3条曲线n=50时未收敛,曲线4稳态误差e(n)最小。仿真结果可以得出,相同条件下,曲线4的收敛速度要最快,稳态误差最小,结果进一步验证了本文算法收敛速度快和抗噪能力强的特点。与固定步长的LMS算法相比,本文算法的计算量增加了四次指数运算、两次除法运算和四次加法运算。

2.2 车内噪声控制仿真分析

为了分析本文算法在车内降噪中的应用,在车内录取一段噪声信号导入MATLAB程序中,采用LMS算法和本文算法对车内噪声信号进行自适应滤波降噪。

仿真条件如下:读取噪声信号前1 000个采样点,选取输入信号和期望信号中的前100个采样点作为训练点构建自适应滤波器,随机选取未参与训练的采样点进行自适应滤波降噪处理。经过多次实验,LMS算法的固定步长最佳取值为μ=0.1,本文算法参数α,β取值为α=4,β=5。基于LMS算法和本文算法的自适应滤波降噪结果如图6所示,图4中细实线为经过自适应LMS滤波器处理后的误差信号波形,粗虚线为经过本文算法构建的自适应滤波器处理后的误差信号波形。

图6中分别是LMS算法和本文算法在自适应滤波过程中的误差波形曲线,它表明了自适应滤波过程中误差的变化过程。由图6可知自适应LMS滤波中的误差波形(细实线)达到稳态误差的速度明显比本文算法误差曲线(粗虚线)要慢,同时本文算法在迭代过程中的误差值明显小于LMS算法。

通过建立基于LMS算法和本文算法的自适应滤波器,并应用于车内噪声的主动控制的结果比较表明,本文算法抵消原始车内噪声效果较好,对LMS算法在迭代步长取值矛盾问题有所改善,具有更快的算法收敛速度和较小的稳态误差。

3 结束语

提出了一种改进的变步长LMS算法,针对传统LMS和SVSLMS算法在收敛速度和稳态误差方面存在的不足,该算法在SVSLMS算法的基础上,通过调节可变参数值,达到动态选取步长大小的目的,有效提高了算法的收敛速度,降低了算法的稳态误差,同时提高了算法在车内降噪应用中的降噪能力。该算法在后期需要在算法复杂度方面进行研究改进,减小相应计算量。

摘要:为了提高传统最小均方(LMS)算法的收敛速度,减小稳态误差,基于Sigmoid函数,提出一种改进步长因子μ的方法。该方法通过建立步长因子μ和误差信号e之间的非线性函数关系,并利用指数函数表示误差信号e和可控参数,实现对步长因子μ进行调整。算法收敛初期步长因子μ相对较大,实现加快算法收敛速度的目的;算法收敛后期适度减小稳态阶段步长因子μ,以达到减小算法稳态误差的目的。将该算法应用于车内噪声的有源控制,并与LMS算法进行仿真比较分析。仿真结果表明,相对于传统LMS算法,该算法有效地加快了收敛速度,同时提高了系统的稳定性。

上一篇:社区工会论文下一篇:设计施工

本站热搜

    相关推荐