孟 金,张红升,易胜宏,刘 挺,马小东,卫中阳
(重庆邮电大学 光电工程学院,重庆 400065)
自适应滤波器在许多领域都有重要应用,如音频信号处理[1]、通信信道处理[2]、雷达信号处理[3]等。为实现自适应滤波,Widrow和Hoff[4]率先提出了最小均方(least mean square,LMS)算法。但是LMS算法的收敛速度和稳态均方误差(mean square error,MSE)相互矛盾,快(慢)的收敛速度有大(小)的稳态MSE。为了解决上述问题,Kwong[5]提出了可变步长最小均方(variable step size least mean square,VSS-LMS)算法,根据误差的大小来调整步长的大小,获得了较好的性能,但是该算法需要精准地调整多个参数,较难实现。在VSS-LMS算法的基础上,文献[6-12]提出了许多改进的VSS-LMS算法,从不同方面改进VSS-LMS算法的性能。其中,文献[6]的算法不需要调整任何参数便可以运行,该算法在平稳信道与时变信道都有较快的收敛速度,但该算法在降噪处理中有较高的MSE。文献[7]的算法在系统辨识中有比较出色的性能,但是该算法是基于峰度进行计算,复杂度高,并不适用于实时信号处理。目前性能最好的是Prob-LMS算法[10],从概率角度来处理信号,实现了比上述算法更好的稳态MSE性能。然而,该算法的复杂度过高,且在突变信道中收敛速度慢。
上述算法都是以MSE为设计依据,其MSE指期望信号与输出信号之差产生估计均方误差的集平均值。近些年,由学者提出一种新的稳态均方偏差(mean square deviation, MSD)分析理论[4],其MSD为滤波器系数与信道的冲激响应之差产生均方估计误差的集平均值。滤波器系数与信道的冲激响应的差值是影响MSE的关键因素,因此,对算法的MSD分析,可更好地推导出影响算法的参数、提升算法的性能。本文基于MSD分析理论,针对现有算法在突变信道中收敛速度慢与复杂度高的问题,提出了多态可变步长最小均方算法(multi-state variable step size least mean square, MVSS-LMS),通过添加暂态递减步长作为过渡,实现以快的收敛速度达到系统最小的MSD。
LMS算法已经广泛应用于系统辨识,干扰抵消和自适应预测。本文的主要研究基于系统辨识的背景,系统辨识指根据系统的输入和输出信号建立系统数学模型的理论与方法。图1给出了的系统辨识模型[4]。
在图1中,系统辨识指滤波器W(n)通过不断地迭代更新而辨识出信道的冲激响应H(n)。其中,X(n)=[x(n)x(n-1) …x(n-L+1)]T为n时刻的输入信号向量,L是滤波器长度,W(n)=[w0w1…wL-1]T是估计滤波器的系数,H(n)=[h0h1…hL-1]是信道的冲激响应。考虑信道具有时变性,则向量H(n)表现为随机扰动,其一阶马尔可夫模型为
H(n+1)=H(n)+q(n)
(1)
图1 系统辨识模型Fig.1 System identification model
基于系统辨识模型,当滤波器不断地迭代更新辨识信道的冲激响应时,需要一个统一的评判标准。由此,文献[4]提出了以MSD作为评判标准,MSD为滤波器系数与信道的冲激响应之差产生均方估计误差的集平均值,其定义为
MSD(n)=Tr(E{(W(n)-H(n))·
(W(n)-H(n)T)})
(2)
(2)式中:Tr(·)是矩阵的迹;E(·)是随机变量的数学期望。为表征方便起见,仿真结果一般转换为MSDdB,定义为
MSDdB=10lg(MSD(n))
(3)
针对系统辨识模型,进行LMS算法的稳态MSD分析,并在该分析上,提出本文的多态可变步长LMS算法,具体分析如下。在图1中,误差输出信号为
e(n)=d(n)-y(n)
(4)
(4)式中:期望信号为d(n)=XT(n)H(n)+n(n);输出信号为y(n)=XT(n)W(n)。
估计滤波器的系数迭代更新向量为
W(n+1)=W(n)+μX(n)e(n)
(5)
(5)式中,μ为步长,该步长影响算法的收敛速度与MSD。假设滤波器系数与信道的冲激响应的误差向量为
V(n)=H(n)-W(n)
(6)
由(1)、(4)、(5)和(6)式,可推出LMS的滤波器系数与信道系数之差的误差迭代更新向量为
V(n+1)=V(n)-μX(n)(XT(n)V(n)+
n(n))+q(n)
(7)
由(7)式可求出滤波器系数与信道系数之差的误差迭代更新向量V(n+1)的期望E{V(n+1)VT(n+1)}为
E{V(n+1)VT(n+1)}=E{V(n)VT(n)}+
μ2E{X(n)XT(n)V(n)VT(n)X(n)XT(n)}-
(8)
E{X(n)XT(n)V(n)VT(n)X(n)XT(n)}=
E{V(n)VT(n)-ITr(E{V(n)VT(n)})}
(9)
将(9)式代入(8)式,可得期望E{V(n+1)VT(n+1)}为
E{V(n+1)VT(n+1)}=
(10)
由(10)式,可以推导MSD的迭代更新公式为
MSD(n+1)=
(11)
(11)式中,当n→∞,可推出算法性能达到稳定时的MSD为
(12)
(13)
在提出与推导MVSS-LMS算法之前,需要对LMS算法分别处于时变信道和平稳信道进行稳态MSD分析。针对不同的信道,提出不同的多态可变步长策略,以达到该系统的最佳稳态MSD。
2.2.1 时变信道分析
(14)
(14)式中,μ1能达到的稳态MSD为
(15)
(16)
由(16)式,可推导出时变信道的最佳步长μopt取值为
(17)
(17)式为中,μopt所能达到的最小稳态MSD为
(18)
图2 不同步长的LMS的仿真和理论MSD曲线比较Fig.2 Comparison of simulated and theoretical MSD curves for LMS with different step sizes
图3 改进的VSS-LMS算法与其他算法的MSD曲线比较Fig.3 Comparison of MSD curves with the improved VSS-LMS algorithm and other algorithms
暂态步长的计算方法如下。先计算出μ1与μopt的倍数因子为
(19)
(19)式中,β1=β2=β3=…=βn。
根据βi(i=1,2,3,…,n),推导出第2阶段的步长因子μ2i为
(20)
(20)式中,μ2i所达到的稳态MSD为
(21)
综上,时变信道的步长为
(22)
由图4可知,MVSS-LMS算法达到比Prob-LMS算法更快的收敛速度且保持着最小的稳态MSD值。
图4 MVSS-LMS算法与其他算法的MSD曲线比较Fig.4 Comparison of MSD curves with MVSS-LMS algorithm and other algorithms
2.2.2 平稳信道分析
(23)
(23)式中,平稳信道的步长为
(24)
在第3个阶段,给出所需的最终稳态的MSD3(∞),结合(24)式,计算出第3个阶段的最佳步长为
(25)
在第2个阶段,根据μ1与μ3值确定其倍数因子,根据(19)—(20)式,可确定出平稳信道第二阶段的多态步长μ2j,并由(23)式推导出第2阶段的MSD为
(26)
综上,平稳信道的步长为
(27)
2.2.3MVSS-LMS算法的建立流程
在本小节中,为了更加清楚展示MVSS-LMS算法的建立流程,如表1所示。
表1 MVSS-LMS算法的建立流程Tab.1 Establishment process of MVSS LMS algorithm
续表
MVSS-LMS算法的复杂度差异取决于暂态个数。若暂态数少,则复杂度低,所以在本文中选取的暂态数较小。假设存在m个暂态,MVSS-NLMS算法比Prob-LMS算法多了2m+1比较器,少了4个加法器、3个乘法器和2个除法器。从资源考虑,除法器、乘法器消耗的资源都远大于比较器的资源。其复杂度如表2所示。
表2 模型识别系统中的复杂度比较Tab.2 Comparison of complexity in model recognition systems
从表2可看出,最新的Prob-LMS算法具有2个除法运算,除法运算是比加法、乘法和比较运算更占用运算资源的。本文所提出的MVSS-LMS算法,加法与乘法运算与基础的LMS算法相当,仅比LMS算法多2m+1个比较运算,其复杂度远低于最新的Prob-LMS算法,且在后续的性能仿真中优于Prob-LMS算法。
由(11)式可知,滤波器长度L与峰度γ较大地影响了LMS算法的收敛速度[14]。本文系统参数分别设置为峰度γ=3和长度L≤12,在不同的信噪比情况下对上述算法进行稳态MSD模拟仿真。在随机冲激响应的平稳信道中,设置滤波器长度L=12、α=0.6和分别对SNR=10 dB、20 dB进行了100次Monte Carlo仿真,如图5所示。
在图5中,MVSS-LMS-3指MVSS-LMS算法含有3个暂态,当SNR=10 dB时,输入的MSD3=-40 dB;当SNR=20 dB时,输入的MSD3=-50 dB。
由图5可知,文献[9]的MSD稳定性较低。MVSS-LMS算法与Prob-LMS的收敛速度和稳态均方差所表现出来的性能基本一致。
假设突变前与突变后的信道都是平稳的,针对信道突变的情况分别对上述算法进行了仿真。假设迭代次数为t,以下仿真的系统参数为L=12,α=0.6,SNR=20 dB,MVSS-LMS算法的最终稳态MSD设置为MSD3=-50 dB。本文将设置分别在t=500(上述5种算法均未达到稳定的MSD)、(上述5种算法已达到稳定的MSD)处进行信道突变模拟。其仿真MSD曲线如图6和图7所示。
图5 MVSS-LMS算法与其他算法在平稳信道下的 MSD曲线比较Fig.5 Comparison of MSD curves with MVSS-LMS algorithm and other algorithms under stationary channel
图6 算法在信道t=500突变时的MSD曲线比较Fig.6 Comparison of MSD curves with MVSS-LMS and other algorithms when the channel mutates at t=500
图6中,在5种算法未达到稳定的MSD进行信道突变时,文献[7]和Prob-LMS算法表现出来的MSD值不如MVSS-LMS算法。
图7 MVSS-LMS算法与其他算法在信道 t=20 000突变时的MSD曲线比较Fig.7 Comparison of MSD curves with MVSS-LMMS and algorithms when the channel mutates at t=20 000
图7中,在未突变前Prob-LMS算法与所提出的MVSS-LMS算法的性能相差不大。在达到最终的稳定的MSD进行突变时,Prob-LMS算法经过突变信道后,其MSD性能与突变前相差甚远,而MVSS-LMS算法依旧保持良好的MSD值。MVSS-LMS算法在信道突变中是具有一定优势的。
由图8和图9可知,所提出的MVSS-LMS算法基于LMS算法的稳态MSD分析理论,合理地将步长设置为多态可变步长。该算法前期收敛过程中,其收敛速度快于Prob-LMS算法,且注意MVSS-LMS算法的复杂度是低于Prob-LMS算法。至于文献[9]、[11]、[12]中的3种算法,都极易受非平稳度的影响,其稳态MSD性能都远不如Prob-LMS和所提出的MVSS-LMS算法。图8和图9中的具体系统环境参数如表3所示。
图8 当SNR=0 dB时,MVSS-LMS算法与其他 算法的MSD曲线仿真Fig.8 Simulation of MSD curves with MVSS-LMS and other algorithms when SNR=0 dB
结合图8、图9和表3,当DNS<0.02时,与Prob-LMS算法相比,MVSS-LMS算法以更低的复杂度,达到了比Prob-LMS算法更快的收敛速度。
图9 当SNR=10 dB时,MVSS-LMS算法与其他 算法的MSD曲线仿真Fig.9 Simulation of MSD curves with MVSS-LMS and other algorithms when SNR=10 dB
为了进一步地测试所提算法的收敛性能,我们将输入信号设置为由高斯信号X(n)激励一阶AR滤波器产生的[15],即
X(n)=0.6X(n)+n(n)
(28)
表3 上述算法在时变信道的不同参数模拟结果Tab.3 Simulation results of above algorithms for different parameters of time-varying channels
以上述系统环境,对上述的5种算法的稳态MSD性能进行100蒙特卡洛模拟仿真,其MSD变化曲线如图10所示。
图10 5种算法的MSD曲线比较 Fig.10 Comparison of MSD curves with five algorithms
当输入信号为相关信号时,Prob-LMS算法的收敛速度受到了较大的影响,导致其收敛速度较慢,至于文献[9]、[11]、[12]中的3种算法的MSD值都不稳定,难以保持最佳性能,且MSD值也不如Prob-LMS与MVSS-LMS算法。本文所提的MVSS-LMS算法的收敛速度与稳态MSD都比上述的算法更具有优势。
MVSS-LMS通过对LMS算法的均方差偏分析,确定其步长因子与稳态MSD,并与Prob-LMS算法相比,MVSS-LMS算法的主要优势有:①MVSS-LMS算法的复杂度比Prob-LMS低;②在平稳信道中,两者性能相当;③在突变信道中,MVSS-LMS算法的稳态MSD更低,收敛速度更快;④在时变信道中,当DNS<0.02时,所提算法的收敛速度更快。