245第3章 最小均方误差自适应格形滤波器前面介绍的滤波器是横向结构的(或称为直接形式),这一章我们介绍另一类结构的自适应滤波器,称为自适应格形滤波器。
自适应格形滤波器具有一系列重要优点,使其有着广泛的应用领域,例如用于系统辨识和控制、噪声干扰对消、信道均衡、以及语音分析和合成等。
特别是递推最小二乘格型滤波器具有非常好的数值特性并能跟踪时变信号。
自适应格形滤波器正如自适应横向滤波器一样,有最小均方误差准则和最小二乘准则两种,因而自适应格形滤波器也两类不同的算法及实现结构。
这一章将讨论最小均方误差自适应格形滤波器。
求解线性预测正规方程也可采用Levinson-Durbin 算法,其运算量比直接求解正规方程要小得多。
根据Levinson-Durbin 算法可以发展出格形滤波器。
格形滤波器具有一系列重要优点,使其在自适应中获得广泛应用。
格形滤波器的优点包括:(1)一个m 阶格形滤波器可以产生相当于从1阶到m 阶的m 个横向滤波器的输出。
这使我们能在变化的环境下动态地选择最佳的阶;(对于横向滤波器来说,一旦滤波器的长度改变就会导致一组新的滤波器系数,而新的滤波器系数与旧的完全不同。
而格形滤波器的结构是阶次递推式的,它的阶数的改变并不影响其它级的反射系数。
)(2)格形滤波器具有模块式结构,便于实现高速并行处理;(3)格形滤波器系数优良的数值特性。
3.1 线性预测滤波器3.1.1 前向线性预测滤波器前向线性预测是已知)1(-n x ,…,)(m n x -等m 个值,用这m 个值线性组合预测)(n x ,即)()1()(ˆ1m n x a n x a n xmm m -----= ∑=--=mk mkk n x a1)( 3.1.1)mk a 称为前向预测系数。
实现这种处理的滤波器称为前向线性预测滤波器。
前向线性预测误差为245()()()∑=-+=-=mk mkfmk n x an x n xn x e 1)(ˆ (3.1.2)如果把fm e 看成是输出,)(n x 是其输入,这时滤波器称为前向线性预测误差滤波器。
其传递函数为∑=-+==mk k mk f mfm z a z X z E z H 11)()()( (3.1.4)其中)(z E f m 、)(z X 分别为f m e 、)(n x 的z 变换。
前向线性预测滤波器和前向线性预测误差滤波器可用图3.1来表示。
图3.1 前向线性预测误差滤波器我们主要讨论)(n x 为实信号的情况,但不难推广到复信号情况。
根据最小均方误差准则,最佳预测系数应满足0})]({[2=∂∂mkfm a n e E m k ≤≤1 (3.1.5)可得0)}()({=-k n x n e E f m m k ≤≤1 (3.1.6)即最佳预测误差与用于预测的数据正交。
这就是对于前向线性预测的正交原理。
由(3.1.6)得()fm e n245进一步得 0)()(1=-+∑=mi mii k r ak r m k ≤≤1 (3.1.10)这就是最佳mk a (m k ≤≤1)必须满足的正规方程。
它是m 个方程组成的方程组。
根据正交原理(式(3.1.6))可求得对于最佳mk a 的最小前向预测误差功率 ()]})()[({})]({[1min 2∑=-+==mi mkf mf mfmi n x an x n e E n e E ε()∑=+==mi mif mi r ar n x n e E 1)()0(})({ (3.1.11)结合式(3.1.10)和(3.1.11),可得下面的矩阵方程⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--001)0()1()()1()0()1()()1()0(1fm mm m a a r m r m r m r r r m r r r ε (3.1.12) 方程(3.1.12)称为Yule-Walker 方程。
这是一个1+m 方程的方程组。
已知)0(r ,)1(r ,…, )(m r ,即可接出1m a ,2m a ,…, mm a ,fmε,得出最佳向前预测误差滤波器和相应的最小预测误差。
3.1.2 后向线性预测滤波器由)1(+-m n x ,…, )(n x 预测)(m n x -,就称为后向预测。
前后向预测可用图3.2表示。
对)(m n x -的后项预测可表示为()∑=+--=-mk mkk m n x bm n x1)(ˆ (3.1.13)相应的后项线性预测误差为()()()∑=+-+-=---=mk mkbmk m n x bm n x m n xm n x e 1)(ˆ (3.1.14)类似地,后向线性预测滤波器和后向线性预测误差滤波器如图3.3所示。
245图3.2 前向预测和后项预测 图3.3 后向线性预测滤波器对于最佳的mk b 值有0})]({[2=∂∂mkbm b n e E m k ≤≤1 (3.1.15)从而有 0)}()({=+-k m n x n e E bm m k ≤≤1 (3.1.16)这就是后向线性预测的正交原理。
将)(n e bm的表达式代入(3.1.16)得 0)()(1=-+∑=mi mii k r bk r m k ≤≤1 (3.1.17)比较式(3.1.10)和式(3.1.17)可看出,最佳的mk a 和mk b 满足同样的方程组。
所以mk a =mk b m k ≤≤1 (3.1.18)后向预测误差滤波器的传递函数为)1()()()(1∑=-+==mk k mkmb mbm z bzz X z E z H (3.1.19)其中其中)(z E b m 为b m e 的z 变换。
因对于最佳预测成立式(3.1.18),所以由(3.1.19)和(3.1.4)可得1()()b m fm m H z z H z --= (3.1.20)对于最佳后向预测,可得最小后向预测误差功率为245∑=+==mi mi b mb mi r b r n e E 1min 2)()0(})]({[ε (3.1.21)根据式(3.1.18),式(3.1.21)和式(3.1.11)相同,所以令其为m ε,即f bm m m εεε== (3.1.22)结合式(3.1.17)和式(3.1.21),可得类似于式(3.1.12)的矩阵方程⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---m m mm b b r m r m r r m r m r m r r r ε 001)0()1()()1()2()1()()1()0(1 (3.1.23) 3.1.3 Levinson-Durbin 算法定义前向预测误差f m ε和后项预测误差bm ε之相关函数为)}1()({1-≡∆+n e n e E bm f m m (3.1.24)()⎥⎦⎤⎢⎣⎡+--+--=-∑=mk mk f m b mf mk m n x b m n x n e n e n e 1)1(1)()1()( ()⎥⎦⎤⎢⎣⎡+--+--=∑=m k mk f mf mk m n x b n e m n x n e 1)1()(1)(根据正交原理式(3.1.6),上式的第二项为零,所以不难得到∑=+-+++=∆mi mim i m r am r 11)1()1( (3.1.25)将式(3.1.25)加到1+m 个方程的方程组上,得到2+m 个方程的方程组:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡∆=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+--++110001)0()1()()1()1()0()1()()()1()0()1()1()()1()0(m m mm m a a r r m r m r r r m r m r m r m r r r m r m r r rε (3.1.26) 因为这个方程组的系数是对称的和Toeplitz 的(各对角线元素相等),所以首先245颠倒方程的次序(等号右边矩阵的行颠倒),再颠倒变量的次序(变量的行颠倒)就得如下方程⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡∆=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+--++m m m mm a a r r m r m r r r m r m r m r m r r r m r m r r r ε0010)0()1()()1()1()0()1()()()1()0()1()1()()1()0(11(3.1.27) 引入系数1+m K ,并将式(3.1.26)和式(3.1.27)组合起来⎪⎪⎪⎭⎪⎪⎪⎬⎫⎪⎪⎪⎩⎪⎪⎪⎨⎧⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡∆+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡∆=⎪⎪⎪⎭⎪⎪⎪⎬⎫⎪⎪⎪⎩⎪⎪⎪⎨⎧⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+--+++++m m m m m m mm m mm m K a a K a a r r m r m r r r m r m r m r m r r r m r m r r r εε00001001)0()1()()1()1()0()1()()()1()0()1()1()()1()0(111111(3.1.28)但是,另一方面对于1+m 阶前向线性预测滤波器有⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+--++++++0001)0()1()()1()1()0()1()()()1()0()1()1()()1()0(11,1,11,1m m m m m m a a a r r m r m r r r m r m r m r m r r r m r m r r r ε (3.1.29) 比较式(3.1.28)和式(3.1.29)就得到下列的求解最佳线性预测系数的Levinson-Durbin 算法:k m m m mk k m a K a a -++++=1,1,1 m k ≤≤1 11,1+++=m m m K a()m m m K εε2111++-= (3.1.30) m mi mi mm m i m r a m r K εε⎥⎦⎤⎢⎣⎡-+++-=∆-=∑=++111)1()1(245)}({)0(20n x E r ==ε其中前面的2个等式是方程左边第二因子相等求得,后2个等式是方程右边对应相等得到。
对于零阶递推、1阶递推和2阶递推如图3.4所示。
根据初值,由给定的相关函数值即可由式(3.1.30)推出各阶的最佳预测滤波器系数。
从Levinson-Durbin 递推公式运算量为2()O m 。