版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章自适应卡尔曼滤波及融合方法5.1引言5.2扩展遗忘因子递推最小二乘算法5.3变分贝叶斯自适应卡尔曼滤波算法5.4双重迭代的VB_AKF算法5.5基于VB_AKF的集中式融合方法5.6小结
5.1引言
滤波问题中,状态向量依据不同时刻的观测值或者量测值进行估计。然而量测总是不精确的,这是因为量测系统受到内外部各种因素的干扰,包括量测误差和环境扰动。为了简化问题,人们通常假定量测误差序列服从均值为零、方差已知的高斯分布。然而,量测噪声总是波动的,相应的噪声方差也随时间的不同而有所变动。此外,在实际应用中,量测噪声方差总是未知的。
5.2扩展遗忘因子递推最小二乘算法
5.2.1问题描述
假设动态时变系统如下
(5-1)
(5-2)量测值yk的维数lk通常依赖于k时刻传感器对量测值的检测和传输情况,因为存在漏检和传输丢失的情况。wk和vk是零均值随机变量。若把时变xk看做为一个待估计的参数,则动态矩阵Fk假设为单位矩阵。Hk是一个已知的量测矩阵。上述系统的一个重要应用是在给定观测值yk的条件下获得最优估计xk。有两种方法求解未知状态或者时变参数xk的最优估计。第一种方法是最小二乘法(LeastSquares,LS),估计公式为(5-3)(5-4)以及增加了遗忘因子的最小二乘法估计公式其中λ是一个给定的遗忘因子(0<λ≤1)。若状态转移矩阵Fi是一个单位矩阵,则上述估计是常规的最小二乘法。Fk通常情况下并不是单位矩阵,因此上述估计方法只能称为近似最小二乘方法。该方法的缺点是只能适用于随时间缓慢变化的动态系统。第二种方法是推导一种线性无偏的最小误差方差或者是最小均方误差估计器(LeastMeanSquare,LMS)。这种估计方法使用yi,Hi,Fi(i≤k)来估计xk。这需要知道动态过程噪声w
k和量测噪声v
k的二阶矩。卡尔曼滤波是已知的最好的递推最小均方估计算法。卡尔曼滤波具有两个显著的优点,即:最小均方意义下的最优性和算法过程的递推性。尽管卡尔曼滤波算法在实际应用中取得了巨大成功,但是也有一些显著缺点。首先,必须知道过程噪声方差和量测噪声方差。如果两者未知,则需要对其进行估计。然而在一些实际应用中,尤其是状态向量的维数较高的情况下,噪声方差难于估计。如果将不准确的噪声方差应用到卡尔曼滤波过程中,滤波精度会大大降低。其次,如果噪声项随时间的相关性未知,或者如果噪声v
k和噪声w
k是交叉相关的,且相关性未知,此时卡尔曼滤波性能表现就比较差。再次,如果噪声项的统计特性随时间变化,则时变参数系统的识别问题仍然难以解决。为了在一定程度上克服上述问题,下面介绍朱允民提出的扩展遗忘因子递推最小二乘算法(EFRLS)[6]。5.2.2扩展递推最小二乘算法
将0时刻到j时刻的所有量测信息综合到一起,结合最小二乘准则来获得最优状态估计xk|j。为此,引入下列符号利用式(5-5)~式(5-9),上述模型可以改写为(5-11)(5-10)其中(5-12)在上述过程中,可以看到Yj中的每一个块向量yi被当作为状态xk的量测,状态转移矩阵Fi也被合并到Xkj中。在Yj和Xkj给定条件下,xk的最优最小二乘估计xk|j为(5-13)若k=j,则xk|j称为滤波;若k>j,则xk|j表示预测;若k<j,则xk|j表示平滑。下面根据式(5-13)推导其等价的递推公式。定理5.1
假设
是非奇异矩阵,则对于任意k≥k0和j≥j0,有如下递推公式证明:将式(5-6)、式(5-8)、式(5-9)和式(5-12)代入X(k+1)j得因此有类似地,使用式(5-19)可得
对于任意的k≥k0和j≥j0,上述两个矩阵都是行满秩的。根据式(5-19)和式(5-13),易知式(5-14)成立。此外,根据式(5-20)、定义(5-17)和大家所熟知的矩阵求逆引理,可得(5-20)(5-21)由式(5-5)、式(5-16)、式(5-20)和式(5-21),根据前面提到的递推最小二乘法,易知递推公式成立。证毕。当j=k时,上述定理针对的就是滤波问题。即:ERLS滤波公式如下(5-22)(5-23)(5-24)对于任意的对称正定矩阵Ψ和任意的相容向量x-1,ERLS算法的初始值设定如下(5-25)为简单起见,Ψ的值选取如下(5-26)ERLS算法中式(5-14)~式(5-17)的初始值xk-j|0和Pk-j|0可使用x-1和Ψ-1获得。定理5.2
若存在正整数j0和k0,使得
非奇异,则ERLS算法和式(5-13)中的严格最小二乘估计之差随着j→∞而趋近于零。
证明:由式(5-17)和式(5-25),有(5-27)对应于式(5-13)中的XTkjXkj和Yj,由(5-13)可得(5-28)显然,若Ψ较小,式(5-26)中的α较小或者j较大,则式(5-28)和式(5-13)之差变得很小,并且随着j值的增大,这个差值趋向于零。证毕。5.2.3扩展遗忘因子递推最小二乘算法
此处的遗忘因子最小二乘准则是(5-29)式中Λj是一个形式如下的对角阵(5-30)其中:Ii是一个li×li的单位阵,λ称为遗忘因子。将Λ1/2j乘以式(5-11)两端,得(5-31)若定义变量(5-32)(5-33)则即为采用加权最小二乘准则的解。因此,类似定理5.1中的讨论,可以推导EFRLS估计方程。定理5.3
假定
是非奇异的,则对于任意的k≥k0和j≥j0,针对带有遗忘因子的最小二乘方法有如下递推公式证明:根据式(5-32),可得(5-38)(5-39)因此,对于任意k≥k0和j≥j0,上述两个矩阵都是以行为满秩的。根据式(5-33)和式(5-38),易知式(5-34)成立。此外,由式(5-39)和式(5-37)中的定义,以及人们所熟知的矩阵求逆引理,可得(5-40)由式(5-38)~式(5-40),式(5-36)和所述的递推最小二乘法及相应公式成立。证毕。定理5.4考虑EFRLS算法,(1)若存在一个常量M>0和一个递减的正数项序列使得(5-41)则矩阵序列{Pk|k}收敛为一个正定矩阵。类似地,增益矩阵序列{Lkk}也收敛。该定理证明过程详见参考文献[6]。则
。(2)若Fk和Hk分别为常量矩阵F和H,并且存在一个常量M>0和一个递减正数序列项,使得(5-42)
EFRLS算法的不足之处在于需要选择一个合适的遗忘因子λ,才能保证好的估计结果。遗忘因子的选取受下列因素影响:
(1)如果过程噪声方差较小,意味着状态的历史数据中包含了更多的与当前时刻数据一致的信息。因此,过程方差越小,遗忘因子λ应该越大。
(2)如果量测噪声较大,且是常量或者随时间缓慢变化的,λ值应该越大。原因是因为当量测噪声方差较大时,需要更多的数据去抑制噪声。
(3)量测矩阵Hk的列秩越大,表明量测值所包含的对应时刻状态估计值的信息量越多,因此,λ应该越小。
(4)矩阵Pk|j的条件数越优,遗忘因子λ应该越小。
5.3变分贝叶斯自适应卡尔曼滤波算法
5.3.1问题描述
考虑如下离散线性高斯系统
xk=Fkxk-1+wk
(5-43)
yk=Hkxk+vk
(5-44)
其中,xk为状态向量,yk为观测向量,Fk是状态转移矩阵,Hk是量测矩阵,wk表示均值为零、方差为Qk的过程噪声,vk表示均值为零、方差为Σk的量测噪声。状态先验信息服从高斯分布,即:x0~N(m0,P0)。状态先验和过程噪声假设为已知量,量测噪声方差Σk假定为未知量。此外,过程噪声、量测噪声和初始状态值相互独立。变分贝叶斯近似是一种递推方法,能够近似先验分布p(x1:k,Σk|y1:k)。通常我们可以使用贝叶斯框架来解决滤波问题。假定在k-1时刻的概率密度函数p(xk-1,Σk-1|y1:k-1)已知,并假定状态向量的动态模型和量测方差相互独立,于是状态向量的后验分布可以做如下分解
p(xk,Σk|xk-1,Σk-1)=p(xk|xk-1)p(Σk|Σk-1)
(5-45)
利用Chapman-Kolmogorov方程,滤波预测阶段可以表达为(5-46)其中p(xk|xk-1)可以通过系统动态方程获得。在时刻k,借助于贝叶斯定理来更新观测值,即(5-47)其中的归一化常数为(5-48)5.3.2基于变分贝叶斯近似的自适应卡尔曼滤波
变分贝叶斯近似(VariationalBayesianapproximation,VB)又称做集成学习,是近似积分的方法之一,来源于贝叶斯统计和机器学习。该方法也是一种近似求解参数后验概率分布的迭代优化算法。在贝叶斯估计中,若所有超参数集为ξ,所有中间隐变量集为η,观测变量为y,变分贝叶斯近似就是利用后验密度的近似因子分解形式Q(ξ)来逼近后验分布
的[18-21]。
假定状态向量和量测噪声方差相互独立,我们可以得到如下近似公式
p(xk,Σk|y1:k)≈Qx(xk)QΣ(Σk)
(5-49)现在使用Kullback-Leibler(KL)散度来度量真实后验p(xk,Σk|y1:k)和近似后验Qx(xk)QΣ(Σk)之间的差异。于是有(5-50)为了最小化Kullback-Leibler散度,使用变分积分方法,固定Qx(xk)来求解QΣ(Σk),然后固定QΣ(Σk)来求解Qx(xk),其迭代公式如下(5-51)(5-52)式(5-51)和式(5-52)是对偶的,并不能直接求解。考虑到Qx(xk)服从高斯分布而QΣ(Σk)服从逆伽玛分布[11],因此可以将它们表达为(5-53)(5-54)其中,参数mk,Pk,αk,i,βk,i分别为其中,i=1,…,d,d为量测噪声方差的维数,下标ii表示求取矩阵中的对角线元素,并将其作为行向量,另外,量测噪声为
此处假定量测噪声方差Σk中各个分量互不相关,即Σk可以写成一个对角阵的形式Σk=diag([σ2k,1,…,σ2k,d]),其中d表示量测维数。(5-59)
5.4双重迭代的VB_AKF算法
5.4.1算法过程
假设式(5-43)和式(5-44)所表示的系统中噪声方差之间存在如下关系
Qk=g(Σk)
(5-60)
其中,噪声方差Σk和Qk均是未知量。本节在该假设下推导新的滤波算法。如果事先给定当前时刻的过程噪声方差一个估计值,例如令Qk=Qk-1,则利用VB_AKF算法可以计算出此时对应的量测噪声方差Σk。然后通过式(5-60)计算新的过程噪声方差,接着利用新的过程噪声方差计算新的量测噪声方差。经过迭代,最终获得比较精确的Σk和Qk。此处假定过程噪声方差初值Q0=Q0。
为了能够适应真实量测噪声的变化,在计算过程中使用衰减系数ρ来刻画当前量测噪声水平与前一时刻量测噪声的关系,如下式
(5-61)^^^^^^5.4.2仿真实验及结果分析
考虑目标跟踪例子[12],其离散动态方程和量测方程为(5-62)(5-63)其中,状态变量为x=[ξ
ξ]T,其分量分别表示目标位置和速度,噪声矩阵G=[T2/2T]T,过程噪声wk和量测噪声vk是相互独立的零均值高斯白噪声,方差分别为Qk和Rk。两种噪声方差之间的函数关系假设为·(5-64)实验中参数设定如下:x0=[0
0]T,
,T=1,ρ=0.93,α=1,β=1,仿真步数为400步。传感器的真实量测噪声方差取值如图5.1所示。在下面的实验中分别使用KF、VB_AKF[11]、EFRLS[6]和DRVBAKF算法,采用MonteCarlo方法仿真100次。其中,EFRLS算法中选取参数α=0.5,此时该算法能获得较好的误差性能。实验一算法有效性分析
令量测噪声方差和过程噪声方差的关系如式(5-64),其中,计算各种算法的均方根误差(RMS),结果如图5.2所示。图5.2(a)表明,各种算法都能够对位置分量进行有效估计。其中,KF误差最小,而VB_AKF和DRVBAKF的误差与KF基本一致,当两种噪声方差均未知且没有其它先验知识时,采用EFRLS获得的误差比其它几种算法高。图5.2(b)表明速度分量与位置分量的误差情况类似。这说明采用DRVBAKF可以获得和KF基本相同的误差性能。在滤波过程中,用VB_AKF和DRVBAKF估计出来的不同时刻的量测噪声方差结果如图5.1所示。图5.1表明,DRVBAKF与VB_AKF相比,估计出来的量测噪声方差更接近真实值。这也意味着DRVBAKF比VB_AKF获得的状态估计更精确。图5.1不同算法在滤波过程中对量测噪声方差的估计值
图5.2当=0.1时状态向量估计误差实验二取不同值条件下的滤波性能
的取值决定了两种噪声方差之间差异的大小,当这种差异很大或者很小时,各种算法的误差大小关系是否会发生变化?为了考察在该情况下的实验误差性能,设计如下实验。实验中首先固定真实量测噪声方差的变化情况如图5.1中真实值所示,而真实过程噪声方差使用式(5-64)计算得到,然后采用不同算法对其滤波,计算各种噪声比情况下各种算法滤波结果的均方根误差的均值(为方便起见,图中仍用RMS表示)。实验中取={100,50,10,5,1,0.5,0.1,0.05,0.01},结果如图5.3所示。图5.3(a)所示位置分量误差表明,当>50时,EFRLS的误差和其它几种算法误差较为接近;当逐渐变小时,EFRLS的误差性能没有明显改善,但其它三种算法的滤波误差不断降低。其中,DRVBAKF和KF误差非常接近,VB_AKF比DRVBAKF稍差一些。图5.3(b)所示速度分量误差表明,几种算法的误差大小关系依然是KF最好,DRVBAKF误差和KF基本一致,VB_AKF稍差一些,而EFRLS误差较大。这一结论和实验一相同。图5.3取不同值的条件下状态向量估计误差实验三算法鲁棒性分析
在实际应用中,要想确切地知道过程噪声方差和量测噪声方差之间的函数关系也很困难,但是可以粗略地估计这种函数关系。为了研究在不确切知道两种噪声方差之间函数关系的情况下本节算法的误差情况,令真实量测噪声方差如图5.1所示,过程噪声方差则分别利用式(5-64)和参数={10,8,6,4,2,1,0.8,0.6,0.4,0.2,0.1}计算获得。在使用DRVBAKF时,假定不确切知道两种方差之间的函数关系,均令=1,然后计算各种算法滤波结果的平均均方根误差,结果如图5.4所示。图5.4(a)表明,当∈[0.1,4]时,DRVBAKF误差小于EFRLS误差;当0.4<ω<2时,DRVBAKF的位置分量误差小于VB_AKF,与KF的误差性能接近。图5.4(b)表明,当0.4<ω<4时,DRVBAKF比VB_AKF的速度分量误差小,也比EFRLS误差小,但是比KF误差大。上述实验现象说明,当真实方差之比估计得越准确,误差性能越好,越接近KF误差;当与真实方差之比存在较大误差(例如小于4倍)时,应用DRVBAKF仍能获得较低的滤波误差。这一结论表明了在不确切知道两种噪声方差之间的关系的情况下,DRVBAKF具有较强的鲁棒性,这为该算法在实际系统中的推广应用提供了可供参考的实验证明。图5.4算法鲁棒性实验四迭代次数对滤波精度的影响
在已知过程噪声方差的条件下,采用VB_AKF算法的内层循环收敛速度很快,平均迭代约2到3次[11]。为了说明本节算法中外层循环次数对滤波结果误差性能的影响,我们进行实验验证。采用不同的迭代次数计算整个滤波过程的均方根误差的平均值,结果如图5.5所示。为了对比,同时给出了相应的Kalman滤波误差结果。由图5.5易知,新算法的误差收敛很快,只需要迭代2次,误差即可收敛到一个稳定结果。这说明本节算法花费的时间复杂度代价不会很大。图5.5外层迭代次数对应的滤波误差
5.5基于VB_AKF的集中式融合方法
在多传感器融合系统中,如果存在一个或者多个传感器的量测噪声方差未知,就不能够直接采用传统的融合算法融合这些量测数据。为了应对这一情况,我们提出了两种新的集中式融合算法,即:基于VB_AKF的扩维集中式融合算法和基于VB_AKF的序贯集中式融合算法。
假定动态方程如式(5-43)所示,多传感器量测方程定义为
yjk=Hjkxk+vjk
(5-65)
其中j=1,…,N,N表示总的传感器个数。量测噪声服从零均值高斯分布,即:vjk~N(0,Σjk),传感器各自的噪声协方差Σjk未知。
在多传感器条件下,式(5-54)可以改写为(5-66)在卡尔曼滤波框架下使用变分贝叶斯近似,式(5-53)和式(5-66)中的参数可以通过下式获得其中,i=1,…,d
j,ii表示将矩阵的对角元素拉成一个行向量,下标dj表示第j个传感器的量测矩阵的维数。量测噪声协方差矩阵为(5-71)此处我们假定量测噪声方差的每一个分量都是相互独立的,而且协方差矩阵都是对角阵。
为了在运算中反映量测噪声方差的波动,将尺度因子ρj∈(0,1]作为参数加入到逆伽玛分布中。这些公式给定如下(5-72)(5-73)其中i=1,…,dj。当ρj→1时,表示从时刻k-1到k,方差变化幅度很小,较为平稳;当ρj取值较小时,也就是远离1时,表示从时刻k-1到k,方差变化较为剧烈,是非平稳的。5.5.1基于VB_AKF的扩维集中式融合算法
多传感器估计问题可以通过矩阵扩维的方法进行求解。如果将量测模型矩阵写做H=[H1;H2;…;HN],其中Hi表示传感器i的量测矩阵,那么状态估计可以看做为具有高维量测的“单个”传感器估计[22-24]。因此,我们可以将不同传感器的量测数据、量测矩阵和量测噪声协方差矩阵组合在一起,然后使用卡尔曼滤波算法进行估计。这就是常规的扩维融合算法,通常被作为衡量融合算法性能的基准算法。该算法的实现过程分为两个阶段:扩维阶段和滤波阶段。扩维阶段用公式表示如下应用这些公式,我们可以获得形式与式(5-44)类似的扩维方程,接下来我们可以将卡尔曼滤波算法直接应用到如式(5-43)和式(5-65)所表示的线性高斯系统中。在量测噪声方差未知条件下的多传感器融合系统中,提出了一种新的基于VB_AKF的扩维融合算法,该算法详细步骤如下(方便起见,将其简称为AlgorithmA)。输入:Hjk,yjk,Fk-1,Qk-1,mk-1,Pk-1,αjk-1,βjk-1,ρj;输出:mk,Pk,Σjk,αjk,βjk;
Step1:利用式(5-74)和式(5-75)对量测向量和量测矩阵进行扩维。
Step2:对逆伽玛分布中的尺度因子和参数进行扩维,即Step3:对状态向量进行一步预测,即(5-81)
Step4:递推更新阶段(为简便起见,此处公式中所有的下标j都予以省略):
·初始化状态向量及其协方差,初始化逆伽玛分布的参数:(5-83)(5-82)
·利用式(5-67)~式(5-70)和式(5-71)进行递推计算,当前后两次迭代所得的量测噪声方差Σk或者状态向量mk之差收敛,或者迭代次数等于预设值时,迭代停止。
Step5:获得mk,Pk,Σk,αk,βk。
Step6:根据每个传感器的维数,对Σk,αk,βk进行分解,从而获得Σjk,αjk,βjk并输出。5.5.2基于VB_AKF的序贯集中式融合算法
随着传感器数目的增加,扩维集中式融合算法中的相应矩阵维数越来越大。由于在计算过程中存在矩阵求逆运算,因此,计算复杂度随着状态向量维数的增加而呈指数增长。本小节要介绍的序贯集中式融合算法可以在一定程度上缓和计算复杂度高的问题。
假定量测噪声方差Rk是一个对角阵,则方程p(y1,…,yN|x)=p(y1|x)…p(yN|x)成立,其中yi表示相同时刻传感器i的量测值,x表示相应的状态向量,N表示传感器数目。于是在卡尔曼框架下,对N个传感器的N个量测进行更新等价于对一个N维的量测进行更新[22,25]。在多传感器融合意义下,该方法通常称为序贯集中式融合算法。该算法的主要步骤总结如下:首先,在第一个传感器上进行状态预测和状态更新,然后将第一个传感器更新的结果作为第二个传感器状态更新过程的输入,继续进行更新……类似地,使用N个传感器的量测值将状态估计值更新一遍,从而获得较为精确的估计结果。注意到,在更新过程中,传感器的更新顺序不影响最终的融合结果。对于量测噪声方差未知的多传感器融合系统,我们结合序贯融合的思想和VB_AKF,提出了一种基于VB_AKF的序贯集中式融合算法。其过程描述如下(简称为AlgorithmB)。值得注意的是,在实验过程中发现,融合结果受传感器的融合次序影响而各不相同。其原因在于实验中所用的量测噪声方差是变动的,并不是一个常量[25]。输入:Hjk,yjk,Fk-1,Qk-1,mk-1,Pk-1,αjk-1,βjk-1,ρj;
输出:mk,Pk,Σjk,αjk,βjk;
Step1:利用式(5-81)计算状态向量的预测值。
Step2:
Forj=1,…,N
(i)计算第j个传感器量测噪声方差所服从的逆伽玛分布的参数:
αj-k=ρjαjk-1,βj-k=ρjβjk-1
(5-84)
(ii)递推计算状态向量及其协方差,递推计算第j个量测噪声方差:
·设置递推初始值:
mk=mj,-k,Pk=Pj,-k
(5-85)
αjk=0.5+αj,-k,βjk=βj,-k
(5-86)重复使用式(5-67)~式(5-71)进行计算,直到两次量测噪声方差之差收敛或者迭代次数等于一个预先设定的值;
(iii)保持第j个传感器量测噪声方差Σjk和相应的逆伽玛分布的参数αjk,βjk;并将使用当前传感器测量值进行估计的结果mk和Pk应用到下一个传感器量测值的更新过程中:
m-k=mk,P-k=Pk
(5-87)
EndFor
Step3:输出最终的状态向量mk及其协方差Pk,以及其它一些参数值Σjk,αjk,βjk,其中j=1,…,N。5.5.3对一些参数初始化的讨论
我们知道,逆伽玛分布的均值是α/(β-1),其中β>1。为了将该值的取值范围扩展到β>0,使用了一个近似均值α/β。逆伽玛分布中的初始参数α0和β0的设置应该参照量测噪声方差的近似估计以及式(5-71)。如果参数的初始误差过大,那么状态估计在起始阶段的状态估计误差也比较大。但是,随着滤波步数的增多,估计误差会逐渐收敛。
尺度因子ρ应该根据系统量测噪声方差的稳定程度来设置。尺度因子的设置随着系统的不同而不同,其值一般需要通过专家经验或者提前模拟仿真获得。如果尺度因子ρ选择得不合适,算法性能会变差。5.5.4仿真实验及结果分析
为了验证所提出的两种算法的有效性,给出了两个具有同步数据的多传感器系统的例子。
实验一多传感器观测系统下的随机共鸣器
采用Särkkä和Nummenmaa在文献[11]中使用的例子,即一个随机漂移的随机共鸣器。具有角速度ω的共鸣器的动态方程表示如下(5-88)其中[w1,k
w2,k
w3,k]T是具有已知方差Q的高斯白噪声序列。多传感器系统的量测方程表示为
yjk=x1,k+x2,k+vjk
(5-89)
其中,vjk是一个时变的具有未知方差Σjk的高斯随机变量,j=1,2,3表示系统中传感器的个数为3。其余参数设置如下:采样间隔Δt=0.1秒,角速度ω=0.025弧度/秒,初始状态向量xj0,i~N(0,1),其中i=1,2,3,j=1,2,3,过程噪声协方差Q=diag([0.01
0.01
0.01]),逆伽玛分布的先验为Σjk~InvGamma(1,1)。每个传感器对应的真实量测噪声方差序列如图5.6所示,真实噪声方差序列随时间变化,而且存在跳变。每一个仿真都采用MonteCarlo方法重复50次。如果采用传统的扩维集中式融合算法,则需要知道量测噪声方差,为了做实验对比,我们假定已知其近似值。在仿真过程中,假定量测噪声方差近似值服从高斯分布,采用方差的真实值作为均值,然后设定不同的方差分别产生不同的噪声方差序列,公式如下(5-90)设定σ1=σ2=σ3=2和σ1=σ2=σ3=5,并在仿真过程中把它们分别看做case1和case2。如果量测噪声方差完全未知,则可以使用本节所提出的两种算法。对上述各种情况进行仿真,计算相应状态估计分量的均方根误差(RMS),状态向量第一个分量的融合均方根误差结果如图5.7所示,其它分量的均方根误差情况与其类似。根据实验结果,我们可以发现,新算法具有较好的估计误差,而case1和case2所使用的量测噪声方差与真实值存在差异,因而估计误差较大。从结果中还可以发现,算法B的性能比算法A的好一些。但结果也并不总是这样,在其它的仿真实验中,算法B的结果可能就比算法A的差。图5.6量测噪声方差的估计值(最初传感器2的估计误差较大,是因为其逆伽玛分布的初始参数取值不合适)图5.7状态向量第一个分量的融合均方根误差利用算法A和算法B得到的量测噪声方差如图5.6所示。可以看到所提出的算法对量测噪声方差的估计是有效的,噪声方差的估计结果与真实值相差较小。此外,在噪声方差发生跳变的时刻附近,对方差估计的误差变大,估计值与真实值相比有所滞后。这是因为新算法能够借助于尺度因子调节当前噪声方差估计对前一时刻值的依赖程度,如式(5-72)所示的那样。实际上,我们可以借助于平滑技术改善这一结果,例如使用Rauch-Tung-Striebel(RTS)算法或者其它平滑算
法[12,26,27]。实验中,我们发现所提出的算法对过程噪声敏感,尤其是当过程噪声方差大于量测噪声方差10倍以上时误差会迅速增大。为了考察这一情况,我们采用不同的过程噪声方差进行仿真,仿真结果如图5.8所示。其中平均均方根误差定义为(5-91)其中,R为真实量测噪声方差,R为采用新算法在融合过程中计算所得,M表示整个仿真步数,N表示MonteCarlo仿真次数。^图5.8使用不同过程噪声方差Q所得到的量测噪声方差R的平均均方根误差参数ρ在区间[0.4,1]进行调整,分别计算相应的量测噪声方差和状态向量均方根误差的平均均方根误差,结果分别如图5.9和图5.10所示。如图所见,当ρ=0.9时,估计效果最好。也就是说,参数ρ可以影响融合结果的好坏和量测噪声方差估计的准确程度。不同的量测噪声序列应选择不同的ρ,参数ρ能够控制量测噪声的稳定性。当ρ取较小值时,量测噪声应该是不稳定的;而当ρ取较大值时,量测噪声应该是稳定的。当ρ∈(0,0.4)时,计算得到的平均均方根误差太大甚至发散,因此在图5.9中并未显示该区间内的结果。图5.9使用不同ρ情况下的不同传感器量测噪声方差估计值的平均均方根误差图5.10使用不同ρ情况下的状态向量中各个分量的平均均方根误差实验二多传感器观测系统下的线性目标跟踪
下面我们使用一维空间中的目标跟踪例子[12]。假定状态向量为x=[ζ
ζ]T,其中,ζ表示目标所处的位置分量,ζ表示目标的速度分量。离散动态方程和量测方程如下··(5-92)(5-93)其中,过程噪声wk服从具有方差Q的高斯分布,T表示采样间隔,j表示不同的传感器。在该实验中,我们使用3个传感器,因此j∈{1,2,3}。在滤波过程中,传感器的量测噪声方差均未知,并假定量测噪声方差服从高斯分布。在仿真过程中,真实的量测噪声方差序列像一个正弦曲线,如图5.11所示。图5.11量测噪声方差的估计值首先,为了对比所提出算法的性能,我们假定近似知道每一个传感器的量测噪声方差。为此,在仿真过程中,通过式(5-90)获得其近似值。借助于这些较为粗糙的噪声方差,就可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论