几种横向自适应滤波算法及其改进研究.docx
《几种横向自适应滤波算法及其改进研究.docx》由会员分享,可在线阅读,更多相关《几种横向自适应滤波算法及其改进研究.docx(15页珍藏版)》请在冰豆网上搜索。
几种横向自适应滤波算法及其改进研究
第三章几种横向自适应滤波算法及其改进研究
3.1自适应横向滤波器的定义及其性能函数
3.1.1横向自适应滤波器
横向自适应滤波器是一类基本的自适应滤波器形式⑹。
所谓自适应实现是
指:
M阶滤波器的抽头权系数w0,...,wM』,可以根据估计误差e(n)的大小自动调节,使得某个代价函数最小。
令w(n)表示图2.1中的滤波系数矢量,W(n)=[w0(n),w,(n),...,wM」(n)],滤波器抽头输入信号矢量U(n)二[u(n),u(n—1),…,u(n—M1)]-,显然,输出信号y(n)为
MJ
y(n)—wu(n-i)=W(n)U(n)(3-1)
i=0
式中一表示转置。
利用图2.5中的输出信号和输入信号之间的关系,误差序列
e(n)=d(n)-W(n)U(n)(3-2)
显然,自适应滤波器的控制机理是用误差序列e(n)按照某种准则和算法对其
系数W(n)进行控制的,最终使自适应滤波的目标(代价)函数最小化,达到最佳滤波效果。
按照均方误差(MSE)准则所定义的目标函数是:
def
J(n)二(n)=E{|e(n)|2}二E{|d(n)-W'U(n)|2}(3-3)
将式(3-1)代入式(3-3),目标函数可以重新写为
二E[d2(n)]-2E[d(n)W(n)U(n)]E[W(n)U(n)U(n)W(n)](3-4)
当滤波器的系数固定时,目标函数可以写为
=E[d2(n)]-2WPWRW(3-5)
其中,R=E[U(n)U-(n)]是输入信号的自相关矩阵,P二E[d(n)U(n)]是期望
信号和输入信号的互相关矢量
3.1.2自适应滤波器的性能函数
习惯上称均方误差E[|e(n)|2]为自适应滤波器的性能函数,并记为〔J或
者MSE,即
二J=MSE=E[|e(n)|2](3-6)
由式(3-5)知,当输入信号u(n)与期望信号d(n)为平稳随机过程时,性能函数•为权矢量W的二次函数。
二次均方误差函数的曲面形式为一碗状抛物面,当
权矢量的维数大于2时,性能函数为一抛物面形式,且其抛物面上有唯一的全局最优点。
当自相关矩阵为正定的,超抛物面向上凹起(即碗口朝上),表示均方
误差函数有唯一的最小值,该最小值所对应的权系数矢量为自适应滤波器的最佳权系数Wopt,即等于维纳滤波器的权矢量。
3.1.3二次型性能表面的搜索
在性能表面上搜索的目的是找出性能函数的最小值,并由此得到最小值所对
应的最佳权矢量。
这样,二次型性能表面搜索最小值的问题,在数学上就转化为
求取曲线和曲面的机制问题。
常用的性能表面搜索的方法为梯度下降的迭代算法,例如牛顿法和最速下降法[9]。
1.最速下降法
最速下降法是一种古老而又非常有用的通过迭代寻找极值的方法。
从几何意义上讲,迭代调整权矢量的结果是使系统的均方误差延梯度的反方向下降,并最
终达到最小均方误差min。
在最小均方误差实现时,权矢量变为最佳权矢量W°pt。
它的优点是简单,但需要大量的迭代,才能使算法收敛于充分接近最优解的点。
2.牛顿法
牛顿法是一种通过迭代寻找函数f(x)的过零点的数学方法,即求f(x)=0的解。
假定f(x)为变量x的一元函数,牛顿法的求解过程为:
由初始估值X。
开始,利用f(x)的一阶导数在X。
点的值f'(Xo)来计算新值为,即
(3-7)
f(Xo)
Xi=Xo厂
f(Xo)
然后,再利用Xi的导数f'(Xo)和f(x)来计算下一步的估值X2,其一般的迭代公式为
这样牛顿法可以表示为
要注意的是牛顿法的收敛对一大类函数是相当快的,但它的缺点是计算量大。
3.2最小均方算法
3.2.1最小均方算法
最小均方(LMS)算法是一种梯度最速下降算法,它以期望响应d(n)和滤
波器输出信号y(n)二u(n)w*二w:
u(n)之间误差的均方值E[|e(n)|2]最小为准则,依据输入信号在迭代过程中估计梯度矢量,并更新权系数达到最优的自适应迭代算法。
令
e(n)=d(n)-w:
x(n)(3-10)
LMS算法进行梯度估值的方法是以误差信号每一次迭代的瞬时平方值代替均方值,并以此来估计梯度,即
沐[空如,空叫||,空迪](3-11)
Ew°(n)M(n)cwm(n)
若写成矢量形式,有
(3-12)
将式(3-10)代入式(3-11)得到
用梯度估值「(n)来代替最速下降法中的梯度真值'(n),有
(3-14)
A
w(n1)=w(n)"(」(n))=w(n)2"e(n)x(n)
式中,」为自适应滤波器的收敛因子。
上式即为著名的LMS算法滤波器权矢量迭代公式。
可以看出,自适应迭代下一时刻的权系数矢量可以由当前时刻的权系数矢量加上以误差函数为比例因子的输入矢量得到。
图3.1给出了实现LMS
算法的流程图。
e(n)
图3.1LMS算法的流程图[9]
322LMS算法性能分析
1.LMS算法的收敛性
式(3-14)中的收敛因子」应满足以下收敛条件
1
(3-15)
0」:
:
:
—
max
式中,'max为自相关矩阵R的最大特征值。
由于’max空tUR),因此,上式可以改写为
(3-16)
或者
1
(3-17)
01—
(M+1)Rn
式中,Pin为输入信号的功率。
通常式(3-17)比式(3-16)常用。
因为输入信号的功率比其自相关矩阵的特征值更容易估计。
2.自适应学习曲线
若将代价函数式(3-5)中权向量作代换,即
(3-18)
V二W-Wopt并称它为权偏差向量。
于是
(V)=E[d2(n)][V%]hR[VWopt]-2P[V姚戌]
二E[d2nMPWoptVHRV[WoptWHtRV—PV
(3-19)
Wk时的
仝min+VhRV
自适应权值的调整过程对系统的输出有影响,假定•就表示权固定在
输出均方误差,则由上式知:
通常把权值迭代索引器的均方误差由初值0到最小值min的弛豫过程称为自适应系统的学习”过程,而把由此产生的均方误差瞬时值变化曲线称为学习曲线”它表明了迭代过程中均方误差减小并趋于最小值的变化情况。
LMS自适应滤波器自问世以来,受到人们普遍的重视,得到了广泛的应用。
这种滤波器的主要优点是收敛性能稳定,且算法比较简单。
然而,作为梯度算法的一种,LMS算法有其固有的缺点,首先,这种算法一般来说不能从任意初始点通过最短的路径到达极值点;其次,当输入信号自相关阵R的特性值在数值
上分散性较大时,这种方法的性能趋于恶化。
3.3关于LMS算法性能的仿真验证
我们结合自适应滤波器的应用来对LMS算法的性能进行仿真验证。
仿真
(一):
我们使用一阶自回归过程来研究实时数据集平均对LMS算法瞬态特征的影响。
考虑一阶AR过程,其差分方程为
u(n)=-au(n-1)v(n)(3-21)
这里a是这个过程的参数,v(n)是零均值方差为鳥的白噪声。
为了估计参数a,我们使用图3.2的一阶自适应预测器,预测器抽头权值的LMS自适应算法形
式表示如下
w(n1)=w(n)E:
u(n-1)f(n)
(3-22)
其中
(3-23)
A
f(n)二u(n)~w(n)u(nT)
是预测误差
图3.2一阶自适应预测器
实验条件为:
1)AR参数:
a=-0.99;
2)AR过程u(n)的方差:
{=0.93627。
图3.3为均方预测误差f2(n)与迭代次数n的关系图,其中」=0.05。
由图3.1可见,LMS算法单一实现的学习曲线呈现严重噪声的形式。
这幅图也包括100次独立实验后集平均得到的E[f2(n)]的相应图形。
LMS算法学习曲线集平均的平滑效应体现的一清二楚。
图3.3LMS算法的学习曲线
图3.4是在变步长参数」[所用的」为0.01、0.05、0.1]的情况下,LMS算法的学习曲线的图形。
而且,集平均在100次独立试验后完成。
1.4
1.2
图3.4不同步长对LMS算法收敛特性的影响
从图3.4可看到如下结果:
(1)当步长参数,减小时,LMS算法的收敛率响应减小。
(2)步长参数■减小也影响学习曲线的变化。
仿真
(二):
自适应均衡。
用于研究LMS算法性能的自适应均衡系统仿真模型如图2.9所示。
仿真时,
信道采用升余弦脉冲响应来模拟⑹:
「0.5』
h(n)=t
一2沢11
1cos(n-2)n=1,2,3
-W其他(3-24)
0
该脉冲响应关于n=2对称。
参数W是一个可调参数,调整W可以改变信道性。
表3.1给出了自适应均衡器为11抽头,不同W对应的特征值分散。
信道失真
增大,特征值扩散度变大。
表3.1W值与特征值分散的对应关系
W
2.9
3.1
3.3
3.5
人min
0.3326
0.1852
0.1256
0.0502
'•max
2.0120
2.0542
2.7264
2.5946
((R)='max/'-min
6.0254
11.3256
21.0214
46.2178
1信道失真参数W(特征值扩散度)对系统的收敛性和稳态性的影响。
步长参数固定为」=0.075。
选择这个值的根据是:
"■必须小于1,,其中
/"-max
'max表示相关矩阵R的最大特征值。
对于每一个特征值扩散度,经过200次独立实验,通过瞬时均方误差e2(n)与n的关系曲线平均,可获得自适应滤波器集平均学习曲线。
这个计算结果如图3.5所示。
特征值扩散度的影响
25
LLI1LILIEI
2、I
50100150200250300350400450500
迭代次数
图3.5不同特征值扩散度对应的LMS算法的学习曲线
由图3.5可见,特征值扩散度变化范围的扩大降低了均衡器的收敛速率,同时也提高了平均平方误差的稳态值。
例如,当(R)=6.0254时,自适应滤波器
以平方方式收敛大约要80次迭代,收敛后的稳态均方误差也是最小的;另一方面,当(R)=46.2178时(即均衡器输入处在不恰当的条件下),均衡器在均方意义上收敛大约要200次,而且收敛后仍然出现大幅度震荡,迭代500次迭代后的稳态均方误差也也比较大。
2迭代步长■对系统的收敛性和稳态性的影响
将特征值扩散度(R)固定为11.3256步长参数分别取为0.075、0.025、
0.0075。
.
图3.6示出计算的结果。
与前面一样,每一条学习曲线都是瞬态均方误差e2(n)与n的关系曲线经过200次独立试验后得到的集平均结果。
1
10
10
尿初I炉忖神巒艸4血訴你烯L-■
迭代次数
图3.6不同步长参数对应的LMS算法学习曲线
这个结果证明了自适应均衡器的收敛速率在很大程度取决于步长参数」。
当步长参数较大时(如J=0.075),均衡器收敛到稳态需要120次迭代。
当「较小时(如J=0.0075),收敛速率降低超过一个数量级。
该结果也表明平均均方误差的稳态值随着■的变大而增大。
以上两个仿真实验充分证明了LMS算法的失调与自适应收敛过程之间存在着矛盾的结论。
3.4LMS算法的改进
鉴于传统LMS算法的矛盾,人们对固定步长的LMS算法进行了各种各样
的改进[10][11][12][13]。
其中最简单的一种改进就是归一化LMS(NLMS)算法
341归一化LMS算法
变步长LMS算法中一个典型的算法就是归一化最小均方误差(NLMS)算法⑹,它是针对标准LMS算法的自身矛盾提出的改进,能有效地减小传统LMS算法在收敛过程中对梯度噪声的放大作用,收敛速度也比LMS算法快。
变步长
7n)的更新公式可以写成:
W(n1)=W(n):
;=(n)e(n)X(n)=W(n):
W(n)(3-25)
式中,.-:
W(n)」(n)e(n)X(n)表示滤波权矢量迭代更新的调整量。
为了达到快速收敛的目的,必须选择合适的变步长・i(n)的值,一个可能的策略是尽可能
多的减小瞬时平方误差,即用瞬时平方误差作为均方误差MSE的简单估计,这
也是LMS算法的基本思想。
瞬时平方误差可以写成
e2(n)二[d(n)-X(n)W(n)]2
-d2(n)W(n)X(n)X(n)W(n)-2d(n)W(n)X(n)(3-26)
_2如果滤波权矢量的变化量W'(n)=W(n)rw(n),则对应的平方误差e(n)
可以由式(4-22)得到
二-一e(n)=e2(n)2W(n)X(n)X(n)W(n)
_T-_T
W(n)X(n)X(n)W(n)-2d(n)W(n)X(n)(3-27)
_2
在此情况下,瞬时平方误差的变化量飞2(n)二e(n)-e2(n)
_T_TT-
--2W(n)X(n)e(n)W(n)X(n)X(n)W(n)(3-28)
把:
W(n)二叫n)e(n)X(n)的关系代入式(4-24),得到
e2(n)--^l(n)e2(n)X(n)X(n)j2(n)e2(n)[X(n)X(n)]2(3-29)
为了增加收敛速度,合适的选取叫n)使平方误差最小化,故将式(4-25)对变系数叫n)求偏导数,并令其等于零,得
(3-30)
1
X(n)X(n)
这个步长值J(n)导致:
e2(n)出现负值,这对应于e2(n)的最小点,相当于
平方误差e2(n)等于零。
为了控制失调量,考虑到基于瞬时平方误差的导数不等于均方误差MSE求导数值,所以对LMS算法的更新迭代公式作如下修正:
W(n1)=W(n)-e(n)X(n)(3-31)
X(n)X(n)
式中是一个很小的正常数,为防止X(n)X(n)过小而引起步长过大,从而导致算法发散。
u为一固定的收敛因子,0:
:
:
u<2。
这就是所谓的归一化LMS算法。
3.4.2NVSSLMS算法
在NLMS基础上,ZayedRamadan和AlexanderPoularikas提出了一种归一化变步长LMS(NVSS)算法[14]。
NVSS算法中步长迭代因子与误差量的欧式平方范数有关,可以使得在滤波过程开始阶段能有一个比较大的步长,随着迭代过程进
行,步长减小并稳定在一个相当小的数值,提高了算法的收敛速度并减少了稳态误差。
其步长的迭代公式为:
n_J
上式中,||e(n)『=ie2(n-k)为误差向量e(n)的欧式平方范数。
固定值u需要精心选择,以便能够在快的收敛速度和小的稳态误差之间达到一种平衡。
下面是该算法的仿真。
由于NVSS算法是针对NLMS改进的,所以我们用NLMS和LMS算法来做对比。
仿真条件:
参考输入信号x(n)为零均值,方差为1的高斯白噪声经系数不同的二阶AR模型。
其中模型的系数为:
a1=-1.5955,a2=0.95,自适应滤波器的阶数L=2;噪声信号v(n)与x(n)不相关的高斯白噪声,均值为零,方差为0.09(即SNR=10dB)。
独立试验500次,每次采样1000点。
NLMS
算法中〉=0.1,=0.3。
NVSS算法中u=0.1。
仿真结果如图3.7所示:
1
r■fl
L
I
1
1
0.9
-
-
0.8
-
0.7
-
-
0.6
-
0.5
-
-
0.4
NVSS
-
0.3
NLMS
0.2
TLMS
0.1
iIir
F:
F
*
)
化
归
S
M
各算法均方误差统计平均收敛曲线相比较
01002003004005006007008009001000
迭代次数
图3.7三种算法收敛性能比较
由图可以看出:
LMS算法、NLMS算法、NVSS算法针对该系统都可以达到收敛的作用;但是NVSS收敛明显快于其他两种算法。
3.4.3基于S函数的LMS算法
由上节可以看出,NVSS中的步长」(n)不仅与当前误差量e(n)有关,还和n步迭代之前的所有误差量有关,而且随着迭代过程的进行||e(n)『会越来越大,
步长叫n)是一个平滑下降的函数。
在平稳环境中,滤波器收敛到稳态后,e(n)接
近于0,步长叫n)基本稳定在一个恒定的值。
在非平稳环境中,特别是系统连续跳变的环境中,由于每次跳变都会引起e(n)的增大,导致步长」(n)的分母持续
增加,进而导致系统跟踪时变系统速度变慢,所以此算法的缺点就是跟踪时变系统能力差,如果一个时变系统的冲激响应持续改变,会使得算法跟踪系统的速度
越来越慢。
综上所述,我们可以得出关于变步长的结论:
在初始收敛阶段或位置系统发生变化时,自适应滤波器的权值与最优权值相差较大,所以采用较大的步长,以
便有较快的收敛速度和时变跟踪能力;当算法接近收敛或收敛时,权值调整接近于最优权值时,不管主输入端的干扰信号有多大,都要采用小步长以保证达到很小的稳态失调量。
基于以上结论,覃景繁、欧阳景正提出了一种基于Sigmoid函数的变步长LMS算法(SVSLMS)[15],步长函数解析式如下:
1
%n)=(——-0.5)(3-33)
1+exp(-a|e(n)|)
上式类似于sigmoid函数,简称S函数:
Jm(n)=f(;(n「1))。
其中是控制函数形状的常数,1是控制S函数范围的常数。
\(n)与e(n)的函数曲线如下图所示。
当e(n)较大时,^m(n)也较大,但不会超出界限1/2。
这恰恰符合算法在自适应过程中,初始阶段预测误差大,其能量e(n)也大,因此需要大的步长;当快要达到稳态时,预测误差随之减小,为了保证较小失调量和算法稳定性,必须采用小步长。
但sigmoid函数形式较为复杂,而且在误差接近零时步长变化很大,导致在算法稳态时微小的误差产生较大的步长。
针对这一问题,高鹰、谢胜利[16]对该
算法进行了改进,提出了MSVSLMS算法,步长和估计误差的函数关系为:
2
%n)=P(1—exp(Y》m」(n—1))(3-34)
步长函数图像如图3.8所示:
图3.8步长与误差的关系
MSVSLMS算法的步长-误差曲线在零点附近比较平滑,在误差相同的情况下,MSVSLMS算法产生的步长波动小于SVSLMS算法,因此稳态均方误差也较小比较式(3-33)和式(3-34)可知,MSVSLMS算法的步长函数比较简单,算法复杂度也较低。
下面用系统辨识模型进行该算法的仿真。
系统辨识示意图如第一章图。
所示。
计算机仿真条件是:
(1)自适应滤波器阶数L=2;
(2)未知系统的FIR系数为W=[0.8,0.5]T,在第500个采样点时刻未知系统发生时变,系数矢量变为W*=[0.4,0.2]T;
(3)参考输入信号x(n)是零均值,方差为1的高斯白噪声;v(n)为与x(n)不相关的高斯白噪声,其均值为0,方差鳥=0.04
仿真结果如图3.9所示
图3.9MVSLMS算法收敛曲线
由以上仿真图,可以得出:
基于S函数的LMS算法比普通LMS算法,收敛快,且收敛后的稳态误差较小。
3.4.4解相关LMS算法
在LMS算法中,当自适应滤波器的输入信号矢量x(n)之间不满足统计独立的条件时,LMS算法的性能将下降,尤其是收敛速度变慢。
大量研究表明[17][18],解相关(解除各时刻输入向量之间的相关性,使它们尽可能的保持统计独立)能够显著加快LMS算法的收敛速度。
解相关可以在时域和频域两种状态下进行。
Doherty与Porayath提出时域解相关算法[17]。
变换域解相关算法是对输入信号数据矢量x(n)使用酋变换。
对于某些类型的输入信号,使用酋变换可以提高收敛速度,而计算复杂度与LMS算法相当。
常用的酋变换可以使用离散傅氏变换或快速傅氏变换FFT,离散余弦变换DCT,沃尔什-哈达姆变换WHT等。
一时域解相关算法
在LMS算法中,我们可以定义类似于投影系数的相关系数:
a;(n)x(n—1)(3-35)
x(n-1)x(n-1)
这里a(n)是x(n)和x(n-1)在采样时刻n的相关系数。
a(n)越大,它们之间的关联性越强。
显然a(n)代表了x(n)与x(n-1)相关部分。
若从中减去该部分,则这一减法运算相当解相关”用解相关的结果作为更新方向向量z(n):
z(n)=x(n)-a(n)x(n-1)(3-36)
即得到时域解相关算法。
二变化域解相关算法
下面讨论酋变换。
基于离散余弦变换⑹(DCT)的频域自适应算法-离散余弦变换最小均方算法(DCT-LMS)。
当采用DCT变换酋矩阵对输入信号矢量进行酋变换,得到
u(n)二Sx(n)(3-37)
其中S是一MM的DCT变换酋矩阵,即
SSH-(3-38)
式中,[是一个大于0的标量,上标H表示矩阵的共轭转置。
变换后的输入数据变为u(n)。
对应地,酋变换后的权向量w变为
Sw
P
(3-39)
它就是我们需要更新估计的离散余弦变换域自适应滤波器的权向量。
因此原
预测误差e(n)=d(n)一?
(n)=d(n)一wHx(n)可以改用变换后的输入数据向量u(n)和滤波器权向量w写为
e(n)=d(n)-wHu(n)(3-40)
将变换前后的输入数据向量x(n)和u(n)比较知,原信号向量的元素是
x(n-i-1)的移位形式,它们的相关性强,而u(n)^[u!
(门),出(n),…,Um(n)]T的元
素则相当于M信道的信号,可以期望,它们具有比原信号x(n)更弱的相关性。
换言之,通过DCT酋变换,在变换域实现了某种程度的解相关。
式(3-37)~(3-40)组成了离散余弦变换最小均方算法(DCT-LMS)。
由于第四章介绍的格型滤波器也具有解相关特性,而横向LMS解相关算法的
收敛性远远不如格型滤波器。
故这里不做关于横向LMS解相关算法的仿真分析。
3.5本章小结
本章重点分析了基本LMS算法的性能,并作了详细仿真验证,接下来介绍并仿真分析了三类较为经典变步长LMS算法,其中基于改进的S函数的LMS算法较好地解决了固有步长LMS算法的矛盾。
最后各介绍了时域、变换域解相关LMS算法,为引出下一章格型滤波器做铺垫。