几种横向自适应滤波算法及其改进研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 几种横向自适应滤波算法及其改进研究
3.1 自适应横向滤波器的定义及其性能函数
3.1.1 横向自适应滤波器
横向自适应滤波器是一类基本的自适应滤波器形式[8]。
所谓自适应实现是指:M 阶滤波器的抽头权系数01,...,M w w -,可以根据估计误差()e n 的大小自动调节,使得某个代价函数最小。
令()W n 表示图2.1中的滤波系数矢量,011()[(),(),...,()]M W n w n w n w n -=,滤波器抽头输入信号矢量()[(),(1),...,(1)]U n u n u n u n M T =--+,显然,输出信号()y n 为
1
0()()()()M i i y n wu n i W n U n -T ==-=∑ (3-1)
式中T 表示转置。
利用图2.5中的输出信号和输入信号之间的关系,误差序列
()()()()e n d n W n U n H =- (3-2)
显然,自适应滤波器的控制机理是用误差序列()e n 按照某种准则和算法对其系数()W n 进行控制的,最终使自适应滤波的目标(代价)函数最小化,达到最佳滤波效果。
按照均方误差(MSE )准则所定义的目标函数是:
22()(){|()|}{|()()|}def
J n n E e n E d n W U n ξH ===- (3-3) 将式(3-1)代入式(3-3),目标函数可以重新写为
2[()]2[()()()][()()()()]E d n E d n W n U n E W n U n U n W n ξH H H =-+ (3-4) 当滤波器的系数固定时,目标函数可以写为
2[()]2E d n W P W RW ξT T =-+ (3-5)
其中,[()()]R E U n U n T =是输入信号的自相关矩阵,[()()]P E d n U n =是期望信号和输入信号的互相关矢量。
3.1.2 自适应滤波器的性能函数
习惯上称均方误差2[|()|]E e n 为自适应滤波器的性能函数,并记为ξ、J 或者MSE ,即
2[|()|]J MSE E e n ξ=== (3-6)
由式(3-5)知,当输入信号()u n 与期望信号()d n 为平稳随机过程时,性能函数ξ为权矢量W 的二次函数。
二次均方误差函数的曲面形式为一碗状抛物面,当权矢量的维数大于2时,性能函数为一抛物面形式,且其抛物面上有唯一的全局最优点。
当自相关矩阵为正定的,超抛物面向上凹起(即碗口朝上),表示均方误差函数有唯一的最小值,该最小值所对应的权系数矢量为自适应滤波器的最佳权系数opt w ,即等于维纳滤波器的权矢量。
3.1.3 二次型性能表面的搜索
在性能表面上搜索的目的是找出性能函数的最小值,并由此得到最小值所对应的最佳权矢量。
这样,二次型性能表面搜索最小值的问题,在数学上就转化为求取曲线和曲面的机制问题。
常用的性能表面搜索的方法为梯度下降的迭代算法,例如牛顿法和最速下降法[9]。
1. 最速下降法
最速下降法是一种古老而又非常有用的通过迭代寻找极值的方法。
从几何意义上讲,迭代调整权矢量的结果是使系统的均方误差延梯度的反方向下降,并最终达到最小均方误差min ξ。
在最小均方误差实现时,权矢量变为最佳权矢量opt w 。
它的优点是简单,但需要大量的迭代,才能使算法收敛于充分接近最优解的点。
2. 牛顿法
牛顿法是一种通过迭代寻找函数()f x 的过零点的数学方法,即求()0f x =的解。
假定()f x 为变量x 的一元函数,牛顿法的求解过程为:由初始估值0x 开始,利用()f x 的一阶导数在0x 点的值'0()f x 来计算新值1x ,即
010'0()()
f x x x f x =- (3-7) 然后,再利用1x 的导数'0()f x 和()f x 来计算下一步的估值2x ,其一般的迭代公式为
1'()()k k k k f x x x f x +=-
,0,1,k
= (3-8) 而'11()()()k k k k k f x f x f x x x ---=
-
这样牛顿法可以表示为
111()()()k k k k k k k x x x x f x f x f x -+--=--,0,1,k
= (3-9)
要注意的是牛顿法的收敛对一大类函数是相当快的,但它的缺点是计算量大。
3.2 最小均方算法
3.2.1 最小均方算法
最小均方(LMS )算法是一种梯度最速下降算法,它以期望响应()d n 和滤波器输出信号*()()()y n u n w w u n T H ==之间误差的均方值2[|()|]E e n 最小为准则,依据输入信号在迭代过程中估计梯度矢量,并更新权系数达到最优的自适应迭代算法。
令
()()()e n d n w x n H =- (3-10)
LMS 算法进行梯度估值的方法是以误差信号每一次迭代的瞬时平方值代替均方值,并以此来估计梯度,即
22201()()()()[,,,]()()()
M e n e n e n n w n w n w n Λ∂∂∂∇=∂∂∂ (3-11) 若写成矢量形式,有
2()()()e n n w n Λ
∂∇=∂ (3-12) 将式(3-10)代入式(3-11)得到
()()2()
2()()()e n n e n e n x n w n Λ∂∇==-∂ (3-13) 用梯度估值()n Λ∇来代替最速下降法中的梯度真值()n ∇,有
(1)()(())()2()()w n w n n w n e n x n μμΛ
+=+-∇=+ (3-14) 式中,μ为自适应滤波器的收敛因子。
上式即为著名的LMS 算法滤波器权矢量迭代公式。
可以看出,自适应迭代下一时刻的权系数矢量可以由当前时刻的权系数矢量加上以误差函数为比例因子的输入矢量得到。
图3.1给出了实现LMS 算法的流程图。
图3.1 LMS 算法的流程图[9]
3.2.2 LMS 算法性能分析
1. LMS 算法的收敛性
式(3-14)中的收敛因子μ应满足以下收敛条件
max 1
0μλ<< (3-15)
式中,max λ为自相关矩阵R 的最大特征值。
由于max ()tr R λ≤,因此,上式可以改写为
10()tr R μ<<
(3-16) 或者
10(1)in
M P μ<<+ (3-17) 式中,in P 为输入信号的功率。
通常式(3-17)比式(3-16)常用。
因为输入信号的功率比其自相关矩阵的特征值更容易估计。
2. 自适应学习曲线
若将代价函数式(3-5)中权向量作代换,即
opt V W W =- (3-18)
并称它为权偏差向量。
于是
2()[()][][]2[]H opt opt opt V E d n V W R V W P V W ξT =+++-+
2[()][]2H H opt opt opt E d n P W V R V W W RV P V T T =-+++-
min H V RV ξ=+ (3-19)
自适应权值的调整过程对系统的输出有影响,假定ξ就表示权固定在k w 时的输出均方误差,则由上式知:
2min ()k opt w w ξξλ=+- (3-20)
通常把权值迭代索引器的均方误差由初值0ξ到最小值min ξ的弛豫过程称为自适应系统的“学习”过程,而把由此产生的均方误差瞬时值变化曲线称为“学习曲线”,它表明了迭代过程中均方误差减小并趋于最小值的变化情况。
LMS 自适应滤波器自问世以来,受到人们普遍的重视,得到了广泛的应用。
这种滤波器的主要优点是收敛性能稳定,且算法比较简单。
然而,作为梯度算法的一种,LMS 算法有其固有的缺点,首先,这种算法一般来说不能从任意初始点通过最短的路径到达极值点;其次,当输入信号自相关阵R 的特性值在数值上分散性较大时,这种方法的性能趋于恶化。
3.3 关于LMS 算法性能的仿真验证
我们结合自适应滤波器的应用来对LMS 算法的性能进行仿真验证。
仿真(一):我们使用一阶自回归过程来研究实时数据集平均对LMS 算法瞬
态特征的影响。
考虑一阶AR 过程,其差分方程为
()(1)()u n au n v n =--+ (3-21) 这里a 是这个过程的参数,()v n 是零均值方差为2v δ的白噪声。
为了估计参数
a ,我们使用图3.2的一阶自适应预测器,预测器抽头权值的LMS 自适应算法形式表示如下
(1)()(1)()w n w n u n f n μ∧∧
+=+- (3-22)
其中
()()()(1)f n u n w n u n ∧
=-- (3-23)
是预测误差
图3.2一阶自适应预测器
实验条件为:1)AR 参数:a =-0.99;
2)AR 过程()u n 的方差:2v δ=0.93627。
图3.3为均方预测误差2()
f n与迭代次数n的关系图,其中μ=0.05。
由图3.1可见,LMS算法单一实现的学习曲线呈现严重噪声的形式。
这幅图也包括100次独立实验后集平均得到的2
[()]
E f n的相应图形。
LMS算法学习曲线集平均的平滑效应体现的一清二楚。
图3.3 LMS算法的学习曲线
图3.4是在变步长参数μ[所用的μ为0.01、0.05、0.1]的情况下,LMS算法的学习曲线的图形。
而且,集平均在100次独立试验后完成。
图3.4 不同步长对LMS算法收敛特性的影响
从图3.4可看到如下结果:
(1) 当步长参数μ减小时,LMS算法的收敛率响应减小。
(2) 步长参数μ减小也影响学习曲线的变化。
仿真(二):自适应均衡。
用于研究LMS算法性能的自适应均衡系统仿真模型如图2.9所示。
仿真时,
信道采用升余弦脉冲响应来模拟[6]:
20.51cos (2)1,2,30()n n W h n π+-==⎧⎧⎫⎡⎤⎪⎨⎬⎢⎥⎨⎣⎦⎩⎭⎪⎩
其他 (3-24) 该脉冲响应关于2=n 对称。
参数W 是一个可调参数,调整W 可以改变信道
性。
表3.1给出了自适应均衡器为11抽头,不同W 对应的特征值分散。
信道失真增大,特征值扩散度变大。
表3.1 W 值与特征值分散的对应关系
1 信道失真参数W (特征值扩散度)对系统的收敛性和稳态性的影响。
步长参数固定为μ=0.075。
选择这个值的根据是:μ必须小于max 1λ,其中
max λ表示相关矩阵R 的最大特征值。
对于每一个特征值扩散度,经过200次独立实验,通过瞬时均方误差2()e n 与n 的关系曲线平均,可获得自适应滤波器集平均学习曲线。
这个计算结果如图3.5所示。
平均M S E 迭代次数特征值扩散度的影响
图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示出计算的结果。
与前面一样,每一条学习曲线都是瞬态均方误差2()e n 与n 的关系曲线经过200次独立试验后得到的集平均结果。
101010100
101
迭代次数平均 M S E
图3.6不同步长参数对应的LMS 算法学习曲线
这个结果证明了自适应均衡器的收敛速率在很大程度取决于步长参数μ。
当步长参数较大时(如μ=0.075),均衡器收敛到稳态需要120次迭代。
当μ较小时(如μ=0.0075),收敛速率降低超过一个数量级。
该结果也表明平均均方误差的稳态值随着μ的变大而增大。
以上两个仿真实验充分证明了LMS 算法的失调与自适应收敛过程之间存在着矛盾的结论。
3.4 LMS 算法的改进
鉴于传统LMS 算法的矛盾,人们对固定步长的LMS 算法进行了各种各样的改进[10][11][12][13]。
其中最简单的一种改进就是归一化LMS (NLMS )算法
3.4.1 归一化LMS 算法
变步长LMS 算法中一个典型的算法就是归一化最小均方误差(NLMS) 算法
[6],它是针对标准LMS 算法的自身矛盾提出的改进,能有效地减小传统LMS 算法在收敛过程中对梯度噪声的放大作用,收敛速度也比LMS 算法快。
变步长()n μ的更新公式可以写成:
(1)()()()()()()W n W n n e n X n W n W n μ-
+=+=+∆ (3-25) 式中,()()()()W n n e n X n μ-
∆=表示滤波权矢量迭代更新的调整量。
为了达到快速收敛的目的,必须选择合适的变步长()n μ的值,一个可能的策略是尽可能多的减小瞬时平方误差,即用瞬时平方误差作为均方误差MSE 的简单估计,这也是LMS 算法的基本思想。
瞬时平方误差可以写成 22()[()()()]e n d n X n W n T =-
2()()()()()2()()()d n W n X n X n W n d n W n X n T T T =+- (3-26)
如果滤波权矢量的变化量'()()()W n W n W n -=+∆,则对应的平方误差2
()e n -可以由式(4-22)得到 22()()2()()()()e n e n W n X n X n W n T
--T =+∆
()()()()2()()()W n X n X n W n d n W n X n T T ---T +∆∆-∆ (3-27)
在此情况下,瞬时平方误差的变化量222()()()e n e n e n -∆=- 2()()()()()()()W n X n e n W n X n X n W n T T ---
T =-∆+∆∆ (3-28)
把()()()()W n n e n X n μ-∆=的关系代入式(4-24),得到 22222()2()()()()()()[()()]e n n e n X n X n n e n X n X n μμT T ∆=-+ (3-29)
为了增加收敛速度,合适的选取()n μ使平方误差最小化,故将式(4-25)对变系数()n μ求偏导数,并令其等于零,得
1()()()
n X n X n μT = (3-30) 这个步长值()n μ导致2()e n ∆出现负值,这对应于2()e n ∆的最小点,相当于平方误差2()e n 等于零。
为了控制失调量,考虑到基于瞬时平方误差的导数不等于均方误差MSE 求导数值,所以对LMS 算法的更新迭代公式作如下修正:
(1)()()()()()
u W n W n e n X n X n X n γT +=++ (3-31) 式中γ是一个很小的正常数,为防止()()X n X n T 过小而引起步长过大,从而导致算法发散。
u 为一固定的收敛因子,02u <<。
这就是所谓的归一化LMS 算法。
3.4.2 NVSSLMS 算法
在NLMS 基础上,Zayed Ramadan 和Alexander Poularikas 提出了一种归一化变步长LMS(NVSS)算法[14]。
NVSS 算法中步长迭代因子与误差量的欧式平方范数有关,可以使得在滤波过程开始阶段能有一个比较大的步长,随着迭代过程进行,步长减小并稳定在一个相当小的数值,提高了算法的收敛速度并减少了稳态误差。
其步长的迭代公式为:
2
()1||()||u n u e n μ=
+ (3-32) 上式中,1220||()||()n k e n e 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所示:
各算法均方误差统计平均收敛曲线相比较
M S E (归一化)迭代次数
图3.7 三种算法收敛性能比较
由图可以看出:LMS 算法、NLMS 算法、NVSS 算法针对该系统都可以达到收敛的作用;但是NVSS 收敛明显快于其他两种算法。
3.4.3 基于S 函数的LMS 算法
由上节可以看出,NVSS 中的步长()n μ不仅与当前误差量()e n 有关,还和n 步迭代之前的所有误差量有关,而且随着迭代过程的进行2||()||e n 会越来越大,步长()n μ是一个平滑下降的函数。
在平稳环境中,滤波器收敛到稳态后,()e n 接近于0,步长()n μ基本稳定在一个恒定的值。
在非平稳环境中,特别是系统连续跳变的环境中,由于每次跳变都会引起()e n 的增大,导致步长()n μ的分母持续增加,进而导致系统跟踪时变系统速度变慢,所以此算法的缺点就是跟踪时变系统能力差,如果一个时变系统的冲激响应持续改变,会使得算法跟踪系统的速度越来越慢。
综上所述,我们可以得出关于变步长的结论:在初始收敛阶段或位置系统发生变化时,自适应滤波器的权值与最优权值相差较大,所以采用较大的步长,以便有较快的收敛速度和时变跟踪能力;当算法接近收敛或收敛时,权值调整接近于最优权值时,不管主输入端的干扰信号有多大,都要采用小步长以保证达到很小的稳态失调量。
基于以上结论,覃景繁、欧阳景正提出了一种基于Sigmoid 函数的变步长LMS 算法(SVSLMS)[15],步长函数解析式如下:
1()=1+exp -n μβα(-0.5)(e(n))
(3-33) 上式类似于sigmoid 函数,简称S 函数:()m n μ=((1))f n ε-。
其中α是控制函数形状的常数,β是控制S 函数范围的常数。
()m n μ与e()n 的函数曲线如下图所示。
当e()n 较大时,()m n μ也较大,但不会超出界限β/2。
这恰恰符合算法在自适应过程中,初始阶段预测误差大,其能量e()n 也大,因此需要大的步长;当快要达到稳态时,预测误差随之减小,为了保证较小失调量和算法稳定性,必须采用小步长。
但sigmoid 函数形式较为复杂,而且在误差接近零时步长变化很大,导致在算法稳态时微小的误差产生较大的步长。
针对这一问题,高鹰、谢胜利[16]对该算法进行了改进,提出了 MSVSLMS 算法,步长和估计误差的函数关系为:
21()=(1exp((1))
m n n μβαε---- (3-34)
步长函数图像如图3.8所示:
μ(n )e(n)
图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,方差2v δ=0.04
仿真结果如图3.9所示
迭代次数平均M S E
图3.9 MVSLMS 算法收敛曲线
由以上仿真图,可以得出:基于S 函数的LMS 算法比普通LMS 算法,收敛快,且收敛后的稳态误差较小。
3.4.4 解相关LMS 算法
在LMS 算法中,当自适应滤波器的输入信号矢量)(n x 之间不满足统计独立的条件时,LMS 算法的性能将下降,尤其是收敛速度变慢。
大量研究表明[17][18],解相关(解除各时刻输入向量之间的相关性,使它们尽可能的保持统计独立)能够显著加快LMS 算法的收敛速度。
解相关可以在时域和频域两种状态下进行。
Doherty 与Porayath 提出时域解相关算法[17] 。
变换域解相关算法是对输入信号数据矢量)(n x 使用酋变换。
对于某些类型的输入信号,使用酋变换可以提高收敛速度,而计算复杂度与LMS 算法相当。
常用的酋变换可以使用离散傅氏变换或快速傅氏变换FFT ,离散余弦变换DCT ,沃尔什-哈达姆变换WHT 等。
一 时域解相关算法
在LMS 算法中,我们可以定义类似于投影系数的相关系数:
()(1)()(1)(1)
T T x n x n a n x n x n -=-- (3-35) 这里()a n 是()x n 和(1)x n -在采样时刻n 的相关系数。
()a n 越大,它们之间的关联性越强。
显然()a n 代表了()x n 与(1)x n -相关部分。
若从中减去该部分,则这一减法运算相当“解相关”,用解相关的结果作为更新方向向量()z n :
()()()(1)z n x n a n x n =-- (3-36)
即得到时域解相关算法。
二 变化域解相关算法
下面讨论酋变换。
基于离散余弦变换[6](DCT )的频域自适应算法-离散余弦变换最小均方算法(DCT-LMS )。
当采用DCT 变换酋矩阵对输入信号矢量进行酋变换,得到
)()(n n Sx u = (3-37) 其中S 是一M M ⨯的DCT 变换酋矩阵,即
I SS H β= (3-38)
式中,β是一个大于0的标量,上标H 表示矩阵的共轭转置。
变换后的输入数据变为)(n u 。
对应地,酋变换后的权向量w 变为
Sw w β
1= (3-39) 它就是我们需要更新估计的离散余弦变换域自适应滤波器的权向量。
因此原
预测误差)()()(ˆ)()(n n d n y
n d n e H x w -=-=可以改用变换后的输入数据向量)(n u 和滤波器权向量w 写为
)()()(n n d n e H u w -= (3-40)
将变换前后的输入数据向量)(n x 和)(n u 比较知,原信号向量的元素是)1(+-i n x 的移位形式,它们的相关性强,而T M n u n u n u n )](,),(),([)(21 =u 的元素则相当于M 信道的信号,可以期望,它们具有比原信号)(n x 更弱的相关性。
换言之,通过DCT 酋变换,在变换域实现了某种程度的解相关。
式(3-37)~(3-40)组成了离散余弦变换最小均方算法(DCT-LMS)。
由于第四章介绍的格型滤波器也具有解相关特性,而横向LMS 解相关算法的收敛性远远不如格型滤波器。
故这里不做关于横向LMS 解相关算法的仿真分析。
3.5 本章小结
本章重点分析了基本LMS 算法的性能,并作了详细仿真验证,接下来介绍并仿真分析了三类较为经典变步长LMS 算法,其中基于改进的S 函数的LMS 算法较好地解决了固有步长LMS 算法的矛盾。
最后各介绍了时域、变换域解相关LMS 算法,为引出下一章格型滤波器做铺垫。