1、第5章 维纳滤波与卡尔曼滤波第5章 维纳滤波与卡尔曼滤波5.1 引言5.2 维纳滤波器的离散形式时域解5.3 维纳滤波器的z域解5.4 维纳预测器5.5 卡尔曼滤波5.6 卡尔曼滤波的方法与公式第5章 维纳滤波与卡尔曼滤波5.1 引引 言言 信号处理的实际问题,常常是要解决在噪声中提取信号的问题。因此,我们需要寻找一种所谓有最佳线性过滤的滤波器,当信号与噪声同时输入时,这种滤波器在输出端能将信号尽可能精确地重现出来,而将噪声尽可能地抑制掉。维纳(Wiener)滤波和卡尔曼(Kalman)滤波就是用来解决从噪声中提取信号问题的一种过滤(或滤波)的方法。实际上这种线性滤波问题,可以看成是一种线性估
2、计问题。一个线性系统,如果它的单位样本响应为h(n),输入信号是一个随机信号x(n),且x(n)=s(n)+v(n)(5.1.1)第5章 维纳滤波与卡尔曼滤波其中,s(n)表示信号,v(n)表示噪声,则输出y(n)为(5.1.2)mmnxmhny)()()(我们希望x(n)通过线性系统h(n)后得到的y(n)尽量接近于s(n),因此称y(n)为s(n)的估计值,通常用s(n)表示,即(5.1.3)()(nsny如图 5.1所示,这个线性系统h(n)称为s(n)的一种估计器。图 5.1 维纳滤波器的输入-输出关系第5章 维纳滤波与卡尔曼滤波实际上,式(5.1.2)的卷积形式可以理解为,从当前和过
3、去的观察值x(n),x(n1),x(n2),x(nm),来估计信号的当前值s(n)。因此,用h(n)进行过滤的问题实质上是一种估计问题。由于我们现在涉及的信号是随机信号,所以这样一种过滤问题实际上是一种统计估计问题。一般将从当前的和过去的观察值x(n),x(n1),x(n2),估计当前的信号值y(n)=s(n)的过程称为过滤或滤波;从过去的观察值估计当前的或将来的信号值y(n)=s(n+N)(N0)的过程称为预测或外推;从过去的观察值估计过去的信号值y(n)=s(nN)(N1)的过程称为平滑或内插。因此维纳过滤又常常被称为最佳线性过滤与预测或线性最优估计。这里所谓的最佳与最优,是以最小均方误差
4、为准则的。此处只讨论过滤和预测问题。第5章 维纳滤波与卡尔曼滤波如果我们用s(n)与s(n)分别表示信号的真值与估计值,而用e(n)表示它们之间的误差,即e(n)=s(n)s(n)(5.1.4)显然,e(n)可能是正的,也可能是负的,是一个随机变量。因此,用它的均方值来表达误差是合理的。维纳滤波和卡尔曼滤波的误差准则就是最小均方误差准则,即Ee2(n)min=E(s(n)s(n)2min(5.1.5)采用最小均方误差准则作为最佳过滤准则的原因还在于它的理论分析比较简单,不要求对概率的描述,并且在这种准则下导出的最佳线性系统对其他很广泛的一类准则而言也是最佳的。第5章 维纳滤波与卡尔曼滤波维纳滤
5、波和卡尔曼滤波都是解决线性滤波和预测问题的方法,并且都是以均方误差最小为准则的,在平稳条件下两者的稳态结果是一致的,但是它们解决问题的方法却有很大区别。维纳滤波根据全部的过去观测值和当前观测值来估计信号的当前值,因此它的解形式是系统的传递函数H(z)或单位脉冲响应h(n);而卡尔曼滤波是用当前一个估计值和最近一个观测值来估计信号当前值的,它的解形式是状态变量值。维纳滤波只适用于平稳随机过程,卡尔曼滤波就没有这个限制。设计维纳滤波器要求已知信号与噪声的相关函数,设计卡尔曼滤波器要求已知状态方程和量测方程。当然两者之间也有联系。第5章 维纳滤波与卡尔曼滤波5.2 维纳滤波器的离散形式维纳滤波器的离
6、散形式时域解时域解维纳滤波器的设计,实际上就是在最小均方误差条件下探索和确定滤波器的冲激响应h(n)或系统函数H(z),其实质是求解维纳霍夫(Wiener-Hopf)方程。但令人遗憾的是,当需要满足因果性(物理可实现性)的约束时,求解维纳霍夫方程相当困难。从图 5.1中我们可以得到mmnxmhnsny)()()()(如果系统是物理可实现的,即要求h(n)=0,n0则此时系统的输出应为第5章 维纳滤波与卡尔曼滤波(5.2.1)0)()()()(mmnxmhnsny它实现的是将当前的及过去的诸输入值作相应的加权后的求和运算。维纳滤波器的设计则是要确定均方误差(5.2.2)202)()()()(mm
7、nxmhnsEneE在最小意义下的冲激响应hopt(n)。为了便于讨论,我们先将式(5.2.1)改写成(5.2.3)1)(iiixhns式中第5章 维纳滤波与卡尔曼滤波(5.2.4)()1()()1(1 1mnxinxxmhihhimmiii或于是有(5.2.5)212)()(iiixhnsEneE为了求出hopt(n),对上式的各hi求偏导数,并令其等于0,得(5.2.6)10 iijiEsh xx0 1jE exj或 由上式便可确定所需要的hi。第5章 维纳滤波与卡尔曼滤波式(5.2.6)符合正交性原理,即满足两个矢量正交时它们的点乘等于零的关系。正交性原理可以比较方便地用图 5.2来说明
8、。这里假设求和项的项数为2,图中的s显然位于由x1与x2决定的平面内,而e垂直于该平面。因此e既垂直于x1,又垂直于x2,此时它的长度最短。图 5.2的情况很容易推广到多维的形式。从式(5.2.6)可以看到,满足正交性原理与满足均方差最小的条件是一致的。由图 5.2所得到的s就是满足最小均方误差的估计值。第5章 维纳滤波与卡尔曼滤波图 5.2 几何图形表示的正交性原理第5章 维纳滤波与卡尔曼滤波如果令及分别为x的自相关函数和x与s的互相关函数,代入式(5.2.6)可得正交性原理的另一表达形式:jixxjixxEjsxjsxE(5.2.7)1 1jhixxisxijj,如果将式(5.2.4)的关
9、系式代回到式(5.2.6)和式(5.2.7)中,则式(5.2.6)和式(5.2.7)分别为(5.2.8)0 00kknxmnxmhnsEm,)()()()(opt及00 mxxxskmkmhk),()()(opt(5.2.9)第5章 维纳滤波与卡尔曼滤波对于一般的卷积表示式,可以在时间域求解,也可以将其变换到z域后再按相应的函数关系求解。但是在维纳霍夫方程式(5.2.7)和式(5.2.9)中,有约束条件k0和j1。这时,虽然在式(5.2.9)中的h(k)与xx(k)有卷积的形式,但却不能简单地将式(5.2.9)应用卷积定理变换到z域来求H(z),然后再用逆Z变换,将H(z)变换得到h(k)。所
10、以,有了k0这个约束条件,要从维纳霍夫方程中求解最佳h(k)是非常困难的。这个约束条件是由于我们假设了h(k)是一个物理可实现的因果系统而产生的。如果没有k0的约束,即无上述物理可实现条件限制,则非因果的维纳霍夫方程为(5.2.10)mxxxsmkmhk)()()(opt第5章 维纳滤波与卡尔曼滤波它没有约束条件,可以将它变换至z域,得到(5.2.11)()()(optzzHzxxxs)()()(optzzzHxxxs从而可以较为方便地获得(5.2.12)()()()(optoptzzZzHZnhxxxs11从式(5.2.8)来看,k0的约束就是只能利用过去和当前的x()数据的约束。第5章 维
11、纳滤波与卡尔曼滤波如果从x(n)求s(n)时,并不严格要求实时得到有关结果,而是允许在将来(例如可以经过一定等待或延迟)得到相应的结果,那么在数字信号处理中实现起来就比较方便。此时在0)()()()(mmnxmhnsny中的求和下限就不必限于m=0,而是可以让m0了,也即没有了h=0(m 0)的限制,因而前述维纳霍夫方程也就不再有k0的约束了。在要求作严格实时处理的场合,不允许有过多的等待和延迟,此时必须考虑因果性限制,在工程实际中常在时域里用逼近的方法解上述方程。这时,如果具有因果性约束的h(n),可用长度为N的有限长序列来逼近,则式(5.2.1)与式(5.2.3)、式(5.2.6)以及式(
12、5.2.7)与式(5.2.9)可以分别表示为第5章 维纳滤波与卡尔曼滤波(5.2.13)()()()()(110NiiiNmxhnsmnxmhnsny和(5.2.14)NjexExxhsEjjNiii 2 1 ,001,以及(5.2.15)1011,1 ,0 )()()(,2 ,1 NmxxxsNixxisxNkmkmhkNjhijj第5章 维纳滤波与卡尔曼滤波为了表述方便,我们将式(5.2.15)的维纳霍夫方程写成矩阵的形式,即(5.2.16)hxxxs式中(5.2.17)T21sxsxsxxsN为x与s的互相关矩阵;而(5.2.18)NNNNNNxxxxxxxxxxxxxxxxxxxx21
13、2121212111第5章 维纳滤波与卡尔曼滤波为x的自相关矩阵;以及(5.2.19)T21Nhhhh式中的h1,h2,hN为h(n)在n=0,1,N1时的样本值。从式(5.2.16)即可解得(5.2.20)optxsxxhh1第5章 维纳滤波与卡尔曼滤波5.3 维纳滤波器的维纳滤波器的z域解域解任何一个具有有理功率谱密度的随机信号均可以看做由一个白噪声w(n)激励某个物理网络所得,而一般工程中的信号s(n)的功率谱密度通常均可表示为z的有理式,因而可用图 5.3所示的信号模型来描述。图中的A(z)就是形成信号s(n)的传递函数。白噪声的自相关函数及功率谱密度分别为)()(2nnwww和2)(
14、wwwz第5章 维纳滤波与卡尔曼滤波图 5.3 s(n)的信号模型第5章 维纳滤波与卡尔曼滤波当信号模型的冲激响应为实序列时,我们可得到s(n)的功率谱密度为(5.3.1)()()(12zAzAzwss又因为x(n)=s(n)+v(n),所以x(n)也可以用图 5.4(a)所示的信号模型来表示。图 5.4 维纳滤波器输入输出关系第5章 维纳滤波与卡尔曼滤波当x(n)的功率谱密度也是z的有理式时,显然可以将x(n)表示成图 5.4(b)所示的模型形式,且当所列模型的冲激响应为实序列时将有关系式xx(z)=2wB(z)B(z1)(5.3.2)相应地,利用图5.4(b)的信号模型,也可以实现x(n)
15、的白化。根据式(5.3.2),如果xx(z)在单位圆内存在一对共扼极点(或共扼零点)z1,2=rej(|r|1),则z3,4=(1/r)ej(|r|1)应该也是xx(z)在单位圆外,相应的另一对共扼极点(或共扼零点),它们的分布如图 5.5所示。这里,如果令B(z)由单位圆内的零、极点构成,则B(z1)由单位圆外的零、极点构成,那么B(z)所代表的系统应该是一个因果的、最小相位系统。第5章 维纳滤波与卡尔曼滤波图 5.5 B(z)和B(z1)的极(零)点分布关系第5章 维纳滤波与卡尔曼滤波由图 5.4(b)得)()()(zWzBzX)()(1)(zXzBzW或(5.3.3)式中,B(z)为因果
16、的最小相位系统;1/B(z)显然也是一个物理可实现的最小相位系统。于是,与白噪声获得x(n)的过程相反,也可以利用式(5.3.3)实现白化x(n)的目的。如前所述,设计维纳滤波器实际上就是求解E(ss)2最小时的最佳H(z)问题。为了便于获得这时的hopt(z),将图 5.1重画成图 5.6(a),并将此滤波器分解成图 5.6(b)所示的形式。第5章 维纳滤波与卡尔曼滤波图 5.6 利用白化x(n)的方法求解维纳霍夫方程第5章 维纳滤波与卡尔曼滤波显然,这里的(5.3.4)()()(zBzGzH第5章 维纳滤波与卡尔曼滤波5.3.1 非因果维纳滤波器非因果维纳滤波器根据前面对图 5.6(b)的
17、讨论,可得(5.3.5)kknwkgns)()()(式中,g(k)为G(z)的逆Z变换。而s(n)的均方误差为(5.3.6)22)()()()(kknwkgnsEneE krkrnwknwrgkgnsknwkgnsE)()()()()()()(2)(2对上式逐项求均值:第一项:)0()(2ssnsE第5章 维纳滤波与卡尔曼滤波第二项:kwskkkgnsknwEkg)()(2)()()(2第三项:krrnwknwErgkg)()()()(rkrwwwkgkrrgkg)()()()(22代入原式得(5.3.7)rwkwssskgkkgneE)()()()()(22220kwwskwwswsskkk
18、g2220)()()()(第5章 维纳滤波与卡尔曼滤波为了求得相对于g(k)的最小均方误差值,我们令0)()(2kgneE同时考虑到式(5.3.7)中的ss(0)和项均与g(k)无关,因而可以得到均方误差最小时的g(k),即kwwsk22)(,)()(opt0wwswkkgk于是,)()(opt2wwskkgk(5.3.8)第5章 维纳滤波与卡尔曼滤波其Z变换为(5.3.9)2wwszzG)()(opt而且还可以由式(5.3.4)得到(5.3.10)()()()()(optzBzzBzGzHwsw21另外我们知道,如果x(n)是由白噪声激励一个系统函数为B(z)的线性系统而得到的,则x(n)与
19、s(n)的互相关函数为)()()()()()(ksxkmnwkbnsEmnxnsEm)()()(kkmnwnsEkb)()()()(mmbkmkbswswk(5.3.11)第5章 维纳滤波与卡尔曼滤波由于)()(mmsxsx所以式(5.3.11)也可以写成)()()(mmbmwsxs(5.3.12)()()(mmbmwsxs或并有)()()(zzBzwsxs1(5.3.13)()()(1zBzzxsws及第5章 维纳滤波与卡尔曼滤波将其代入到式(5.3.10)得(5.3.14)()()()()()(optzzzBzBzzHxxxsxsw121这与没有因果性约束所得的系统函数表示式(5.2.11
20、)完全一样。下面看式(5.3.14)的基本含义。考虑到x(n)=s(n)+v(n),而且s(n)与v(n)又不相关,即对于任何m都有Es(n)v(n+m)=0,因而有(5.3.15)()()()()()(mnsnvnsEmnsnxEmxs)()()(mmnsnsEss及(5.3.16)()()(zzzvvssxx第5章 维纳滤波与卡尔曼滤波将其代入式(5.3.14)得(5.3.17)()()()(optzzzzHvvssss将z=ej代入上式,就可以得到非因果维纳滤波器的频率响应为(5.3.18)()()()()()()()()(vvssssvvssssxxxsPPPHjjjjjjopteee
21、eee可以看出,Hopt(ej)完全取决于信号和噪声的功率谱密度以及它们的分布情况。当没有噪声时,Pvv()=0。从式(5.3.18)不难得到Hopt(ej)=1;随着Pvv()的增加,Hopt(ej)将减小;当Pss()=0而Pvv()0时,Hopt(ej)=0。即第5章 维纳滤波与卡尔曼滤波(5.3.19)0 00 0 10 0 0ej)(,)()()()()(,)(,)(,)(,)(optvvssvvssssvvssvvssPPPPPPPPPH若Pss()与Pvv()随的变化特性如图 5.7所示,则维纳滤波器的Hopt(ej)如图中虚线所示。由图可见,在噪声谱密度越大的频率处,Hopt(
22、ej)的值就越小,因而这种滤波器具有从噪声中提取信号的能力,这与我们直观想象中所要求的滤波器的特性是一致的。第5章 维纳滤波与卡尔曼滤波图 5.7 Hopt(ej)决定于Pss()和Pvv()特性的例子第5章 维纳滤波与卡尔曼滤波下面求非因果维纳滤波器的最小均方误差Ee2(n)min,由式(5.3.7)和式(5.3.8)有kwwssskneE2220)()()(min根据帕赛瓦尔(Parseval)公式,有(5.3.20)zzzzzneEwswswssd1j21122)()()()(min得出式(5.3.20)第一项是因为zzzmmssssdj211)()(所以zzzssssdj2101)()
23、(第5章 维纳滤波与卡尔曼滤波得出式(5.3.20)第二项是因为,按帕赛瓦尔公式:(5.3.21)zzzYzXnynxCnd1j21)()()()(当y*(n)=x(n)时,上式成为(5.3.22)zzzXzXnxCnd2112)()()(于是Cwswswkwwszzzzkd2111222)()()(再将式(5.3.13)代入式(5.3.20),得zzzBzzBzzneExsxswssd1j211122)()()()()()(min第5章 维纳滤波与卡尔曼滤波考虑到式(5.3.14),有(5.3.23)zzzzHzneExswssd1j211opt22)()()()(min当s(n)与v(n)
24、不相关时,xs(z)=ss(z),xx(z)=ss(z)+vv(z),又因为ss(z)=ss(z1),代入上式得(5.3.24)zzzzzzneEvvssvvssdj212)()()()()(min取单位圆为积分围线,将z=ej代入上式,得(5.3.25)2d21)()()()()(minvvssvvssPPPPneE上式说明,Ee2(n)min仅当信号与噪声的功率谱没有重叠时才能为0。第5章 维纳滤波与卡尔曼滤波5.3.2 因果维纳滤波器因果维纳滤波器对于有物理可实现性约束条件的维纳滤波器:g(k)=0,k0时存在。如果它是一个稳定序列,则F(z)+的全部极点必定在单位圆内,于是式(5.3.
25、28)的Z变换可以写成(5.3.29)()(zzGwsw2opt1所以(5.3.30)()()()()()()()(122optopt1zBzBzzBzzBzGzHwxswsw式(5.3.30)就是我们要求的因果维纳滤波器的传递函数,它与式(5.3.14)表示的非因果维纳滤波器的传递函数几乎完全相同,只是多了一个+。第5章 维纳滤波与卡尔曼滤波因果维纳滤波器的最小均方误差为kwswswsskwwssskkukkneE)()()()()()()(min2022210 0利用帕赛瓦尔公式,上式的z域表示形式如下:(5.3.31)zzzzzneECwswswssd1j21122)()()()(min
26、zzzBzzBzzxsxswssd1j21112)()()()()(1opt1d()()()2jssxsCzzHzzz 第5章 维纳滤波与卡尔曼滤波5.4 维维 纳纳 预预 测测 器器5.4.1 预测的可能性预测的可能性我们所讨论的信号是随机的,任一时刻x(n)或s(n)的取值是具有偶然性的,即使在已知该序列以前的全部取值的情况下,仍然不能准确地确定当前的取值,当然也更无法准确地确定将来某个时刻的取值。但是通过估计的办法,利用x(n)与s(n)的某些统计特性,可以预测和确定当前和今后最有可能的取值。在统计平均的意义上,我们说预测是可能的。第5章 维纳滤波与卡尔曼滤波任何一个输入x(n),可以从
27、它的自相关函数了解它在任意两点间相关的程度。这就是说,如果知道了自相关函数xx(m)以及x(n)在一个点及其全部过去的取值,就可以估计它在其后另一点的取值。当知道现在和全部过去的取值时,可以推测它在将来某一点的可能值,这就是一种预测。我们前面已提到一个随机信号x(n)可看成是一个随机白噪声w(n)通过一个线性系统B(z)产生的,如图 5.4(b)所示。从这个意义上看,一个随机信号x(n)的自相关性是由该线性系统B(z)的惯性造成的。按图5.4(b),x(n)的自相关函数的Z变换为xx=B(z)B(z1)w(z)第5章 维纳滤波与卡尔曼滤波因为w(n)是白噪声,所以)()(mmwww22)(ww
28、wz从而xx=2wB(z)B(z1)。白噪声的自相关函数为ww(m)=2w(m),即对于m0,恒有ww(m)=0,这说明白噪声w(n)在各个不同时间点上的值是不相关的。但白噪声w(n)通过一个系统B(z)后,如果B(z)是一个惯性系统,则x(n)一定是非白色的,即x(n)在不同的时间点上的值一定是相关的。函数xx(m)或其Z变换xx(z)表达了这种相关性。因此,x(n)在不同时间点上的值的相关性是由于B(z)的惯性造成的,如果B(z)的特性已知,x(n)的自相关性也就知道了。xx(z)=2wB(z)B(z1)反映了B(z)的特性与x(n)的相关性之间的关系,它说明了系统的惯性与系统输出信号的自
29、相关函数之间的关系。总之,可以利用系统的惯性来进行预测。第5章 维纳滤波与卡尔曼滤波例如,当w(n)的样本序列仅为(n)时,若n0,则w(n)=0,此时我们可以准确地预测n0时s(n)的值。现在x(n)=s(n)=b(n),其中b(n)为B(z)的逆Z变换,如果系统的B(z)已知,那么b(n)就已知。事实上,因为当n0时w(n)=0,所以n0的s(n)完全取决于系统的惯性。系统有惯性,响应b(n)就有尾迹。如图 5.8(b)及(c)所示,n0时的s(n)是系统对(n)响应的尾迹。现在,如果w(n)如图 5.8(d)所示(图中w(n)仅在n=0,1,2,3时有值,n3,w(n)=0),那么也同样
30、可以准确地预测在将来任何时刻的s(n)值。因为任何w(n)的样本序列都可看成是在不同时间出现的函数之和,即niiinAnw0)()(第5章 维纳滤波与卡尔曼滤波于是niiinbAnsnx0)()()(所以在任何将来时刻的s(n)值是完全可以由系统b(n)的惯性确定的,它等于各Aib(ni)在该时刻的尾迹之和,如图 5.8(e)所示。综上所述,如果我们仅观察到输入w(n)在0n的一段样本序列所激励出来的系统响应s(n),并且已知当N0时w(n)=0,那么只要我们知道系统的惯性,就可以准确地预测将来任何(n+N)时刻的s(n+N)值。第5章 维纳滤波与卡尔曼滤波图 5.8 利用系统的惯性进行预测第
31、5章 维纳滤波与卡尔曼滤波现在如果我们仅观察到w(n)在n=0n的一段样本序列的响应s(n),但是w(n+N)(当N0)的值并不一定等于0,那么此时s(n+N)不仅决定于系统的惯性,还与w(n+N)(N0)的状态有关。然而我们并不能确切地知道w(n+N)(N0)的状态。但是如果已知w(n)的自相关函数,就可以根据w(n+N)(N0)的统计平均特性以及系统的惯性来估计(或预测)s(n+N)的值。这种估计当然不可能与真值完全相同,而会有一定的误差。这是因为w(n+N)(N0)本身的每个值都是随机的、不确定的,而我们只观察到w(n)在n=0n 的样本序列的响应s(n)。这里要强调的是,这种预测是可能
32、的、有根据的。第5章 维纳滤波与卡尔曼滤波5.4.2 预测器的计算公式预测器的计算公式图 5.9表示一个预测器的输入输出信号,其中yd(n)是希望得到的输出,即s(n+N),而实际得到的输出y(n)为s(n+N)的估计值s(n+N)。图 5.9 维纳预测器第5章 维纳滤波与卡尔曼滤波利用前面维纳滤波器估计当前值的结果,我们很容易将它们用于预测,得到预测器的计算公式。主要的讨论目标仍然是求出预测器的传递函数H(z),以及预测器的均方误差Ee2(n+N)。维纳滤波器与维纳预测器的差别仅仅在于,前者所希望的输出为yd(n)=s(n),后者为yd(n)=s(n+N)。实际的输出,前者为y(n)=s(n
33、),后者为 y(n)=s(n+N)。因而对于预测器有(5.4.1)iiimxhmnxmhNnsny)()()()(设计维纳预测器的问题就是求E(s(n+N)s(n+N)2为最小条件下的h(n)或H(z)的问题。为此,令 ,得2()0(1)iE e nNjx第5章 维纳滤波与卡尔曼滤波 2()0iijiE s nNh x x即1,1jdj ix yix xihj(5.4.2)或(5.4.3)opt0()(),0dxyxxmhmkm k将式(5.4.2)和式(5.4.3)与式(5.2.7)和式(5.2.9)比较可见,如果我们将所希望的输出用yd表示,则维纳滤波器的yd=s(n+N),因而有()()
34、()()dxyxskkE x n s nk第5章 维纳滤波与卡尔曼滤波而维纳预测器的yd=s(n+N),因而有()()()()dxyxskE x n s nNkkN上式的Z变换为()()dNxyxszzz(5.4.4)及(5.4.5)11()()dNxyxszzz第5章 维纳滤波与卡尔曼滤波1.没有物理可实现性约束的没有物理可实现性约束的(非因果的非因果的)维纳预测器维纳预测器非因果的维纳预测器是物理不可实现的系统,但它指出了预测器可能得到的最好的结果。借用维纳滤波器的计算公式,这里我们可以将其写成(5.4.6)opt()()()dxyxxzHzz对于维纳滤波器,yd=s(n);对于维纳预测器
35、,yd=s(n+N)。最小均方误差为22minmin1opt()()()1d ()()()2jdssxyCE e nNE s nNs nNzzHzzz(5.4.7)第5章 维纳滤波与卡尔曼滤波这里yd=s(n+N)。将式(5.4.4)和式(5.4.5)代入式(5.4.6)与式(5.4.7),得(5.4.8)opt()()()NxsxxzzHzz21opt1d()()()()()2jNssxsCzE s nNs nNzHz zzz(5.4.9)第5章 维纳滤波与卡尔曼滤波2.有物理可实现性约束的有物理可实现性约束的(因果的因果的)维纳预测器维纳预测器借用维纳滤波器的计算公式,这里我们可以将其写成
36、(5.4.10)opt2121()11()()()()()()dNxyxszzzHzB zB zB zB z最小均方误差为2min1opt1opt()()1d()()()2j1d()()()2jdssxyCNssxsCE s nNs nNzzHzzzzzHz zzz(5.4.11)第5章 维纳滤波与卡尔曼滤波将式(5.4.11)与式(5.4.9)比较可见,二者具有完全相同的形式,只是它们的Hopt有所不同,前者应按式(5.4.10)计算,后者应按式(5.4.8)计算。第5章 维纳滤波与卡尔曼滤波5.4.3 纯预测器纯预测器(N步步)纯预测是在v(n)=0的情况下对s(n+N)进行的预测。因此对
37、纯预测器来说,x(n)=s(n),从而有(5.4.12)21()()()()()xxssxswzzzB z B z 对于因果系统,将式(5.4.12)代入式(5.4.10)及式(5.4.11)得21opt211()()1()()()()()NNwwzB z B zHzz B zB zB zB z(5.4.13)及22121optmin1d()()()()()()2jNwwCzE e nNB z B zHz zB z B zz 212111d()()()()()2j()NNwwCzB z B zz B zzB z B zB zz 21211d()()()()2jNNwwCzB z B zzB z
38、z B zz 第5章 维纳滤波与卡尔曼滤波此表达式可用帕赛瓦尔定理进一步化简。根据帕赛瓦尔定理:11d()()()2jCnzx n y nX z Yzz 当x(n)、y(n)是实序列时,可以去除上式的共轭符号,即得11d()()()2jCnzx n y nX z Yzz 设b(n)是B(z)的逆Z变换,利用上式,得(5.4.14)2222min()()()()()wwnnE e nNb nb nN u n b nN又因为B(z)是一个因果系统,所以b(n)是一个因果序列,求和下限可从0开始。展开求和项,可进一步化简为第5章 维纳滤波与卡尔曼滤波 222220()(0)(1)(2)()nb nb
39、bbb222220()()(1)(2)()nb nNbNbNbNb代入式(5.4.14)得(5.4.15)12222222min000()()()()NwwwnnnE e nNb nb nNb n上式说明最小均方误差将随着N的增大而增大,即预测距离越远,误差越大。例例 5.1 已知x(n)=s(n)及211()(1)(1)xxazazaz第5章 维纳滤波与卡尔曼滤波其中1a0的部分,得11Nzaz11()()1Nn NnNzZau naa u naz再回到z域,得1()()1NNNnaz B zZ a a u naz第5章 维纳滤波与卡尔曼滤波代入Hopt(z)表达式,得图 5.10 纯预测的
40、例子1opt11()1NNazHzaaaz这个结果可以用方框图 5.10表示。第5章 维纳滤波与卡尔曼滤波由式(5.4.15)得11122222222min000()()()(1)1NNNnnNwwnnnE e nNb na u naaa 它说明:N越大,误差越大。如果N=0,则没有误差。现在来解释上述问题。我们是把x(n)=s(n)看成由白噪声通过B(z)产生的,而11()()1()X zB zazw z故该信号模型可以用一个一阶差分方程来表达:1()()()W zX zaz X z即x(n)=w(n)+ax(n1)(5.4.16)如图 5.11所示。第5章 维纳滤波与卡尔曼滤波图 5.11
41、 一阶信号模型第5章 维纳滤波与卡尔曼滤波现在来讨论例5.1所得到的估计值(5.4.17)()()Ns nNa s n的含义。式(5.4.17)所示的结果正是式(5.4.16)中的差分方程在条件N0,w(n+N)=0下的解。因为按式(5.4.16)有x(n)=w(n)+ax(n1)又x(n)=s(n)所以第5章 维纳滤波与卡尔曼滤波s(n+1)=x(n+1)=ax(n)=as(n),w(n+1)=0s(n+2)=x(n+2)=ax(n+1)=a2s(n),w(n+2)=0s(n+3)=x(n+3)=ax(n+2)=a3s(n),w(n+3)=0s(n+N)=x(n+N)=ax(n+N1)=aN
42、s(n),w(n+N)=0第5章 维纳滤波与卡尔曼滤波5.4.4 维纳预测器的时域解维纳预测器的时域解一步线性预测公式一步线性预测公式我们现在来讨论维纳预测器的时域解。对于纯预测问题,有v(n)=0,s(n)=x(n),A(z)=B(z),于是01()()()()iikiy nx nNh k x nkh x线性预测的问题常常是要求在过去p个样本:x(n1),x(n2),x(np)的基础上预测当前值x(n)。此时上式可写成1()()()()pky nx nh k x nk这就是一步线性预测公式,并常常用下列符号表示:(5.4.18)1()()ppkkx na x nk 第5章 维纳滤波与卡尔曼滤
43、波其中,p为阶数,apk=h(k)。于是100()()()()()(),1ppkkppkpke nx nx nx na x nka x nka(5.4.19)221()()()ppkkE e nE x na x nk为了求得最小均方误差下的apk(k=1,2,p),令2()0,1,2,plE e nlpa即12()()()0,1,2,ppkkEx na x nkx nllp(5.4.20)第5章 维纳滤波与卡尔曼滤波或Ee(n)x(nl)=0,l=1,2,p(5.4.21)式(5.4.20)与式(5.4.21)即是正交性原理,由式(5.4.21)可得(5.4.22)()()0E e n x n
44、于是(5.4.23)2min1()()()()()()()()()ppkkE e nE e nx nx nE e n x nEx na x nkx n将式(5.4.23)用自相关函数表示,有(5.4.24)1()()0,1,2,pxxpkxxklalklp第5章 维纳滤波与卡尔曼滤波(5.4.25)2min1()(0)()pxxpkxxkE e nalk将上面的式子写成矩阵形式,并考虑到xx(m)=xx(m),得(5.4.26)2min11(0)(1)()()(1)(2)(1)0()(1)(0)0 xxxxxxpxxxxxxppxxxxxxpE e napapp式(5.4.26)左边的自相关矩
45、阵xx具有下列性质:(1)当x(n)为实数时,自相关矩阵xx是一个对称阵,即xx=xxT。当x(n)为复数时,xx=xxH(H表示共轭转置),即自相关矩阵是一个Hermitian矩阵。第5章 维纳滤波与卡尔曼滤波(2)在自相关矩阵中沿任一对角线的元素均相同,因此自相关矩阵又是一个Toeplitz矩阵。(3)自相关矩阵为正定阵,这是因为E|CTX|20(5.4.27)这里C为任意不全为零的实数组成的列矩阵:C=c1,c2,cpTX=x1,x2,xpT式(5.4.27)可写成ECTXXTC=CTEXXTC0(5.4.28)按正定的定义,式(5.4.28)为正定的二次型,其中矩阵EXXT为正定自相关
46、矩阵。第5章 维纳滤波与卡尔曼滤波如果上面的cj,xj(j=1,2,p)均为复数,则上面各式中的转置符号“T”应改为共轭转置符号“H”。此时同样可以证明自相关矩阵为正定矩阵。Levinson利用自相关矩阵的上述(1)和(2)的两个性质,得到Yule-Walker方程的递推公式,称为Levinson算法。利用Levinson递推公式计算apk(k=1,2,p),可以不必作矩阵的逆运算。第5章 维纳滤波与卡尔曼滤波5.5 卡卡 尔尔 曼曼 滤滤 波波1.状态方程和量测方程状态方程和量测方程要给出卡尔曼滤波的信号模型,先来讨论状态方程和量测方程。图 5.12是维纳滤波的模型,信号s(n)可以认为是由
47、白噪声w(n)激励一个线性系统A(z)的响应,假设响应和激励的时域关系可以用下式表示:s(n)=as(n1)+w(n1)(5.5.1)图 5.12 维纳滤波的信号模型和观测信号模型第5章 维纳滤波与卡尔曼滤波式(5.5.1)为一阶AR模型。在卡尔曼滤波中,信号s(n)被称为状态变量,用矢量的形式表示,在k时刻的状态用S(k)表示,在k1时刻的状态用S(k1)表示。激励信号w(n)也用矢量表示为w(k)。激励和响应之间的关系用传递矩阵A(k)表示,它是由系统的结构确定的,与A(z)有一定的关系。有了这些假设后我们给出状态方程:S(k)=A(k)S(k1)+w(k1)(5.5.2)上式表示的含义就
48、是在k时刻的状态S(k)可以由它前一个时刻的状态S(k1)来求得,即认为k1时刻以前的各状态都已记忆在状态S(k1)中了。第5章 维纳滤波与卡尔曼滤波卡尔曼滤波是根据系统的量测数据(即观测数据)对系统的运动进行估计的,所以除了状态方程之外,还需要量测方程。下面还是从维纳滤波的观测信号模型入手进行介绍。如图5.12(b)所示,观测数据和信号的关系为:x(n)=s(n)+v(n),v(n)一般是均值为0的高斯白噪声。在卡尔曼滤波中,用X(k)表示量测到的信号矢量序列,v(k)表示量测时引入的误差矢量,则量测矢量X(k)与状态矢量S(k)之间的关系可以写成X(k)=S(k)+v(k)(5.5.3)上
49、式和维纳滤波的x(n)=s(n)+w(n)在概念上是一致的,也就是说,卡尔曼滤波的一维信号模型和维纳滤波的信号模型是一致的。第5章 维纳滤波与卡尔曼滤波把式(5.5.3)推广之后就得到更普遍的多维量测方程:X(k)=C(k)S(k)+v(k)(5.5.4)上式中的C(k)称为量测矩阵,它的引入原因是,量测矢量X(k)的维数不一定与状态矢量S(k)的维数相同,因为我们不一定能观测到所有需要的状态参数。假如矢量X(k)是m1的矢量,S(k)是n1的矢量,C(k)就是mn的矩阵,v(k)是m1的矢量。第5章 维纳滤波与卡尔曼滤波2.信号模型信号模型有了状态方程S(k)=A(k)S(k1)+w(k1)
50、和量测方程X(k)=C(k)S(k)+v(k)后我们就能给出卡尔曼滤波的信号模型,如图 5.13所示。图 5.13 卡尔曼滤波的信号模型第5章 维纳滤波与卡尔曼滤波例例 5.2 设卡尔曼滤波中量测方程为X(k)=S(k)+w(k),已知信号的自相关函数的Z变换为 ,0.8|z|1.25,噪声的自相关函数为ww(m)=(m),信号和噪声统计独立。求卡尔曼滤波信号模型中的A(k)和C(k)。10.36()(1 0.8)(1 0.8)sszzz解解:根据等式2110.36()()()(1 0.8)(1 0.8)sswzA z A zzz可以求得11()()1 0.8()zS zA zzW z变换到时
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。