基于动态Kalman滤波的多传感数据融合算法研究
2015-01-26吴耀李文钧姜华何风行
吴耀+李文钧+姜华+何风行
摘 要:提出一种基于动态Kalman滤波的多传感器数据融合算法。首先通过模糊理论和协方差匹配技术对传统的Kalman滤波算法中的噪声协方差进行调整,使模型的噪声更接近真实的噪声水平,这在很大程度上提高了Kalman滤波器对模型变化的适应能力。然后使用矩阵加权多传感器线性最小方差意义下的最优信息融合算法实现数据融合。最后通过仿真实验验证了本文所提出的算法优于经典的卡尔曼滤波算法。
关键词:数据融合;噪声协方差;卡尔曼滤波;传感器
中图分类号:TP274 文献标识码:A 文章编号:2095-1302(2015)01-00-03
0 引 言
多传感器数据融合结果的性能是一直存在的问题[1],针对这个问题的其中一个解决办法是通过经典卡尔曼滤波算法,它采用方差上界消除相关和统一的信息分配原则[2],避免了互协方差阵的计算来对多传感器组合系统进行数据处理,后来又有人在此基础上提出了极大似然融合估计算法[3-5],但是要求假设随机变量服从正态分布,以便构造似然函数。这在很大程度上提高了多传感数据融合的准确度,但是,在实际的融合过程中经典卡尔曼滤波器技术存在着难以克服的发散问题等,当观测噪声和过程噪声不再是白噪声时,滤波器就会变得不稳定。
针对传统的卡尔曼滤波器与系统模型的耦合度强、鲁棒性差以及难以克服的发散问题[6,7],本人在研究了大量现有的数据融合算法的基础之上,提出了一种基于动态卡尔曼滤波的多传感器数据融合算法,在很大程度上提高了Kalman滤波器对模型变化的适应能力,使滤波精度更高。最后通过仿真实验验证了本文所提出的算法优于经典的卡尔曼滤波算法。
1 系统总体概述
首先,假设存在N个不同的传感器,它们的采样率是一致的。多传感器动态系统的模型可描述为:
X(k)=A(k)X(k-1)+B(k)P(k) (1)
Yi(k)=Zi(k)X(k)+Mi(k),i=1,2,…,N (2)
其中:k表示离散时间,X(k)∈Rn是系统的n维状态向量,A(k)∈Rn是系统的状态转移矩阵,B(k)是噪声与状态向量之间的转移矩阵,随机向量P(k) 表示状态转移时系统的高斯噪声,且P(k) 满足:
E{P(k) }=0 (3)
E{P(k)PT(s) }=Q(k)δks (4)
其中:E为数学期望,T为转置,δkj为克罗内克函数。
式(2)中i表示第i个传感器,Yi(k)∈Rn为第i个传感器的观测向量,Zi(k)∈Rn为第i个传感器的观测阵,Mi(k)∈Rn为对应传感器的观测噪声,满足均值为0的高斯分布,且M(k)满足:
E{Mi(k)}=0 (5)
E{Mi(k)MiT(s)}=Ti(k)δks (6)
其中:E为数学期望,T为转置,δkj为克罗内克函数。
2 经典Kalman滤波描述
2.1 经典Kalman滤波算法
1960年由卡尔曼首次提出卡尔曼滤波,Kalman滤波是一种线性最小方差估计。Kalman滤波理论在很多领域都得到了较好的应用,阿波罗登月飞行和C-5A飞机导航系统的设计是早期应用中的成功者。本文主要讲述景点卡尔曼滤波算法在多传感数据融合领域的应用。
对于第一节中的系统,经典Kalman滤波算法描述为:
X(k)=X(k/k-1)+H(k)[Y(k)-Z(k)X(k/k-1)] (7)
X(k/k-1)=A(k)X(k/k-1) (8)
H(k)=r(k/k-1)Z(k)T[Z(k)r(k/k-1)Z(k)T+T(k)]-1 (9)
r(k/k-1)=A(k)r(k-1)A(k)T+B(k)Q(k)B(k)T (10)
r(k)=[I-H(k)]Z(k)r(k-1) (11)
2.2 线性最小方差加权数据融合算法
在线性最小方差意义下的多传感器系统,有如下加权数据融合定理。
定理1:已知有n个不同传感器,它们的随机向量Y∈Rn的N个无偏估计为Yi(k/k),i=1,2,…,n,且已知估计误差的协方差阵为Pij,i,j=1,2,…,m,则按矩阵加权线性最小方差无偏融合估计Y0(k/k)为:
(12)
最优加权阵Bi,i=1,2,…,m由下面的公式计算:
B=P-1e(eTP-1e)-1 (13)
其中,P=(Pij),i=1,2,…,m是nm×nm的对称正定矩阵,B=[B1,B2,…,Bm]T和e=[In,I2,…,In]T都是nm×m的矩阵。最优融合估计误差方差阵为:
P0=(eTP-1e)-1 (14)
其中P0
3 动态Kalman滤波算法
对于第一节所描述的系统,在线性最小方差意义下经典卡尔曼滤波器给出了无偏融合估计。在过程噪声和观测噪声的数学期望均为零且均为白噪声的前提下,经典卡尔曼滤波给出的系统状态估计还算准确,与实际系统符合程度较高。但是,在实际的环境中,过程噪声和观测噪声的协方差矩阵是不能准确知道的,而且一般情况下的过程噪声和观测噪声也不再是白噪声了,此时若还用经典Kalman滤波,将会导致系统的状态估计误差非常大,甚至很容易导致滤波的发散,一旦出现滤波发散将会使数据融合失败。
为了使系统的过程噪声和观测噪声更符合实际情况,而不能提前就确定过程噪声和观测噪声的协方差矩阵,因此,必须采取一定的措施来动态的估计以上两种噪声的协方差,从而提高滤波的精度,防止滤波的发散,修正系统状态估计值,使得估计值与真实值较为接近。
本节主要研究通过协方差匹配技术,增强残差的理论协方差和实际协方差的一致性来实现。残差u(k),可表示为:
u(k)=Y(k)-Z(k)X(k/k-1) (15)
残差的理论协方差S(k+1) ,可通过下面的表达式计算:
S(k+1) =H(k+1) P(k+1/k) HT(k+1) +R(k+1) (16)
残差的实际协方差F(k),可通过下面的表达式计算:
(17)
其中:K是经验参数,表示用来计算实际协方差阵的窗口大小,一般取20左右。通过比较残差的实际协方差和残差的理论协方差的差值大小,采用模糊推理系统调整R(k) 来消除二者之间的差异,即:残差的理论协方差和实际协方差基本一致时,不作调整。残差的理论协方差大于实际协方差时,减小R(k) 的值。残差的理论协方差小于实际协方差时,增大R(k) 的值。
FLS包括3个部分:模糊化、模糊控制规则生成以及反模糊化。模糊化是把输入的精确量转化成输入的模糊量,而模糊控制规则生成是将输入的模糊量通过推理生成输出的模糊量,最后的反模糊化过程则把输出的模糊量输出转化成精确量的输出。反模糊化的主要方法有最大隶属度法、重心法,其中,重心法是目前应用较多的反模糊化方法,本文采用的就是重心法,其计算公式如下:
(18)
式中:α表示计算出的精确值,μ(αi)表示隶属度函数,αi表示模糊集合的元素。
图1 动态卡尔曼滤波算法流程图
4 实验验证
假设存在两个传感器,满足以下的线性系统:
(19)
(20)
其中: x1(k), x2(k)分别为k时刻输入信号的状态值, u1(k),u2(k)是线性不相关的且数学期望为零的高斯白噪声序列,其协方差矩阵为Q=0.02I2;yj1(k),yj1(k)分别为第j个传感器在k时刻对系统状态的观测值,vj1(k),vj1(k)分别为第j个传感器的噪声序列,为两个传感器的观测矩阵。
为了方便比较,采用如下记号作为性能指标:
其中:Xi(k)与Xi(k/k)分别表示定位物体在k时刻的真实值和估计值。下表给出了经典Kalman滤波和动态Kalman滤波仿真实验均方误差的比较:
表1 经典卡尔曼滤波与动态卡尔曼滤波均方误差的比较
均方误差(Δi) Δ1 Δ2
经典Kalman滤波 0.923 1 0.931 6
动态Kalman滤波 0.714 8 0.725 3
下图给出了分别采取经典Kalman滤波和动态Kalman滤波的两种情形下系统状态的最优估计值与真实值的对比。
对本文提出的动态卡尔曼滤波算法和经典卡尔曼滤波算法性能和误差进行了对比,如图2、图3所示。在相同实验室环境下,本文算法的最优估计值与真实值更加接近且均方误差<0.75。
图2 动态Kalman滤波与经典Kalman滤波性能的对比
图3 动态Kalman滤波与经典Kalman滤波均方误差的对比
5 结 语
针对实际情况下,过程噪声协方差和观测噪声协方差不能事先确定这一问题。本文提出了一种基于动态Kalman滤波器的多传感数据融合算法。通过协方差匹配技术,增强残差的理论协方差和实际协方差的一致性来实时地估计两种噪声的协方差。仿真实验表明了,本文提出的算法是可行的也是有效的。当然这里还存在一个问题待以后继续研究,即传感器数量选择问题,并不是传感器数量越多越好,达到一定数量以后,任意增加个数可能还会有负面的影响。
参考文献
[1] 王媛彬.多传感器信息融合概述及其应用[J].传感器世界,2010(12):6-9.
[2] 李海艳,李维嘉,黄运保.基于卡尔曼滤波的多传感器测量数据融合[J].武汉大学学报,2011,44(4):521-526.
[3] Bar-shalom,Y. On the track-to-track correlation problem[J]. IEEEE Transactions on Automatic Control,1981(2):571-572.
[4] 彭冬亮,文成林, 薛安克.多传感器多源信息融合理论及应用[M].北京:科学出版社,2010.
[5] Bar-Shalom Y, Li X R. Estimation and Tracking, Principles, Techniques, and Software[M]. Artech House, 1993.
[6] 郝凯,孟正大. 基于卡尔曼滤波的室内服务机器人定位[J].华中科技大学学报,2008,36(1):193-195.
[7] 徐田来,游文虎,崔平远.基于模糊自适应卡尔曼滤波的INS/GPS组合导航系统研究[J].宇航学报,2005,26(5):571-575.
[8] Carlson N A, Berarducci M P. Federated Kalman filter simulation results[J]. Journal of the Institute of Navigation,1994,41(3):297-321.
[9] LeBlanck, Saffiotti. A Multi-robot Object Localization: A Fuzzy Fusion Approach[J]. IEEE Transon Systems, Man, and Cybernetics, PartB: Cybernetics, 2009,39(5):1259-1276.
[10] 徐琦,蔡聪,王熠钊. 一种基于数据融合的机动目标跟踪预测算法[J].系统仿真学报,2011,23(11):2444-2448.
[11] 权义宁,姜振,黄晓冬,等. 一种新的数据融合航迹关联算法研究[J].西安电子科技大学学报,2011,39(1):82-90.
[12] Hall L D. Mathematical Techniques in Multisensor Data Fusion[M]. Norwood, MA:Artech House,2002.