1 / 29 第3章 最小均方算法 3.1 引言 最小均方(LMS,least-mean-square)算法是一种搜索算法,它通过对目标函数进行适当的调整[1]—[2],简化了对梯度向量的计算。由于其计算简单性,LMS算法和其他与之相关的算法已经广泛应用于白适应滤波的各种应用中[3]-[7]。为了确定保证稳定性的收敛因子范围,本章考察了LMS算法的收敛特征。研究表明,LMS算法的收敛速度依赖于输入信号相关矩阵的特征值扩展[2]—[6]。在本章中,讨论了LMS算法的几个特性,包括在乎稳和非平稳环境下的失调[2]—[9]和跟踪性能[10]-[12]。本章通过大量仿真举例对分析结果进行了证实。在附录B的B.1节中,通过对LMS算法中的有限字长效应进行分析,对本章内容做了补充。 LMS算法是自适应滤波理论中应用最广泛的算法,这有多方面的原因。LMS算法的主要特征包括低计算复杂度、在乎稳环境中的收敛性、其均值无俯地收敛到维纳解以及利用有限精度算法实现时的稳定特性等。 3.2 LMS算法 2 / 29
在第2章中,我们利用线性组合器实现自适应滤波器,并导出了其参数的最优解,这对应于多个输入信号的情形。该解导致在估计参考信号以d()k时的最小均方误差。最优(维纳)解由下式给出: 10wRp(3.1)
其中,R=E[()x()]T
xkk
且p=E[d()x()] kk,假设d()k和x()k联合广义
平稳过程。 如果可以得到矩阵R和向量p的较好估计,分别记为()Rk和()pk,则可以利用如下最陡下降算法搜索式(3.1)的维纳解:
w(+1)=w()-g()wkkk
w()(()()w())kpkRkk+2(3.2)
其中,k=0,1,2,…,g()wk表示目标函数相对于滤波器系数的梯度向量估计值。 一种可能的解是通过利用R和p的瞬时估计值来估计梯度向量,即
()x()x()TRkkk ()()x()pkdkk(3.3)
得到的梯度估计值为 3 / 29
()2()x()2x()x()()Twgkdkkkkwk 2x()(()x()())Tkdkkwk 2()x()ekk(3.4)
注意,如果目标函数用瞬时平方误差2()ek
而不是MSE代替,则上
面的梯度估计值代表了真实梯度向量,因为
2010()()()()2()2()2()()()()Tekekekekekekekwwkwkwk
L
2()x()ekk ()wgk(3.5)
由于得到的梯度算法使平方误差的均值最小化.因此它被称为
LMS算法,其更新方程为 (1)()2()x()wkwkekk(3.6) 其中,收敛因子应该在一个范围内取值,以保证收敛性。
图3.1表示了对延迟线输入x()k的LMS算法实现。典型情况是,LMS算法的每次迭代需要N+2次乘法(用于滤波器系数的更新),而且还需要N+1次乘法(用于产生误差信号)。
LMS算法的详细描述见算法3.1 4 / 29 图3.1LMS自适应RH滤波器
算法3.1 LMS算法 5 / 29
Initialization x(0)(0)[000]TwL Dofor0k ()()x()()Tekdkkwk (1)()2()x()wkwkekk 需要指出的是,初始化并不一定要像在算法3.1小那样将白
适应滤波器的系数被创始化为零:比如,如果知道最优系数的粗略值,则可以利用这些值构成w(0),这样可以减少到达0w的
邻域所需的迭代次数。 3.3 LMS算法的一些特性 在本节中,描述丁在平稳环境下与LMS算法收敛特性相关的主要特性。这里给出的信息对于理解收敛因子对LMS算法的各个收敛方面的影响是很重要的。 3.3.1 梯度特性 正如第2章中所指出的(见式(2.79)),在MSE曲面上完成搜索最优系数向量解的理想梯度方向为 ()2{[x()x()]()[()x()]}TwgkEkkwkEdkk 2[()]Rwkp(3.7) 在LMS算法中,利用R和p的瞬时估计值确定搜索方向,即 6 / 29
()2[x()x()()()x()]Twgkkkwkdkk(3.8)
正如所期望的,由式(3.8)所确定的方向与式(3.7)所确定的方向
很不同。因此,当通过利用LMS算法计算更加有效的梯度方向时,收敛特性与最陡下降算法的收敛特性并不相同。 从平均的意义上讲,可以说LMS梯度方向具有接近理想梯度方向的趋势,因为对于固定购系数向量w,有
[()]2{[x()x()][()x()]}TwEgkEkkwEdkk wg(3.9)
因此,向量g()wk可以解释为wg的无偏瞬时估计值。在具有遍历
件的环境中,如果对于一个固定的w,利用大量的输入和参考信号来计算向量g()wk,则平均方向趋近于wg,即
11lim()MwwMigkigM(3.10)
3.3.2 系数向量的收敛特性
假设一个系数向量为w。的未知FIR滤波器,被一个具备相同阶数的白适应FIR滤波器利用LMS算法进行辨识。在未知系统输出令附加了测量白噪声n(k),其均值为零,方差为2
n
。
在每一次迭代中,自适应滤波器系数相对于理想系数向量0w,
的误差由N+1维向量描述: 7 / 29
0()()wkwkw(3.11) 利用这种定义,LMS算法也可以另外描述为 (1)()2()x()wkwkekk 0()2x()[x()x()()]TTwkkkwkwk
0()2x()[x()()]Twkkekwk
0[2x()x()]()2()x()TIkkwkekk(3.12) 其中,0()ek为最优输出误差.它由下式给出:
00()()x()Tekdkwk 00x()()x()TTwknkwk ()nk(3.13) 于是,系数向量中的期望误差为
0[(1)]{[2x()x()]()2[()x()]}TEwkEIkkwkEekk(3.14) 假设x()k的元素与()wk和0()ek的元素统计独立,则式(314)可以简
化为
[(1)]{2[x()x()]}[()]TEwkIEkkEwk (2)[()]IREwk(3.15) 如果我们假设参数的偏差只依赖于以前的输入信号向量,则第一个假设成立,而在第二个假设中,我们也考虑了最优解对应的误差信号与输入信号向量的元素正交。由上述表达式可得 8 / 29
1[(1)](2)[(0)]kEwkIREw
(3.16)
如果将式(3.15)左乘QT(其中Q为通过一个相似变换使R对角化的酉矩阵),则可以得到 [(1)](2)[()]TTTEQwkIQRQEQwk '[(1)]Ewk
'(2)[()]IEwk
01'
1200012[()]0012NEwk
LMMMOM(3.17)
其中,'(1)(1)TwkQwk
为旋转系数误差向量。应用旋转可以
得到一个产生对角矩阵的方程,从而更加易于分析方程的动态特性。另外.上述关系可以表示为 '1'[(1)](2)[(0)]kEwkIEw
101'11(12)000(12)[(0)]00(12)kkkNEw
LMMMOM(3.18)
该方程说明.为了保证系数在平均意义上收敛,LMS算法的收敛因子必须在如下范围内选取:
max10
(3.19) 9 / 29
其中,max为R的最大持征值。在该范围内的值保证了当
k
时,式(3.18)中对角矩阵的所有元素趋近于零.这是因为对于i
=0,l,…,N,有1(12)1
i
。因此,对于较大的k值,'[(1)]Ewk
趋近于零。 按照上述方法选取的值确保了系数向量的平均值接近于员优系数向量0w比该指出的是,如果矩阵R具有大的特征值扩展,
则建议选择远小于上界值。因此,系数的收敛速度将主要取决于最小特征值,它对应于式(3.18)中的最慢模式。 上述分析中的关键假设是所谓的独立件理论[4],它考虑了当i0,1,…,k时,所有向量()xi均为统计独立的情况。这个假设允许我们考虑在式(3.14)中()wk独立于()x()T
xkk
。尽管在x()k由
延迟线元素组成时,这个假设并不是非常有效,但是由它得到的理论结果与实验结果能够很好地吻合。 3.3.3 系数误差向量协方差矩阵 在本节中,我们将推导得出自适应滤波器系数误差的二阶统计量表达式。由于对于大的k值,()wk的平均值为零,因此系数误差向量的协方差的定义为
00cov[()][()()]{[()][()]}TTwkEwkwkEwkwwkw(3.20) 将式(3.12)代人式(3.20),可以得到