理论教育 卡尔曼滤波:视线追踪效果与应用

卡尔曼滤波:视线追踪效果与应用

时间:2023-10-27 理论教育 版权反馈
【摘要】:图6.1 卡尔曼滤波模型卡尔曼滤波是随机信号估计的算法之一,采用状态空间法在时域内设计滤波器,避免了在频域内对信号功率谱进行分解的麻烦。卡尔曼滤波是根据观测信息求系统状态的最优估计。图6.2 卡尔曼滤波计算流程图6.3卡尔曼滤波增益流程其中,增益计算流程是独立计算流程,而滤波计算流程依赖于增益计算流程。如果系统是一致完全随机可控和一致完全随机可观测的,则卡尔曼滤波一定是一致渐进稳定的。

卡尔曼滤波:视线追踪效果与应用

卡尔曼滤波建立在线性代数和隐马尔可夫(Hidden Markov)模型上。其基本动态系统可以用一个马尔可夫链表示,该马尔可夫链建立在一个被高斯噪声(即正态分布的噪声)干扰的线性算子上的。系统状态可以用一个实矢量表示。随着离散时间的每一次增加,线性算子就会作用在当前状态上,产生一个新的状态,并会带入一些噪声,同时系统的控制信息也会被加入。同时,另一个受噪声干扰的线性算子产生这些隐含状态的可见输出。卡尔曼滤波器的模型如图6.1所示,图中圆圈代表矢量(如u),正方形代表矩阵(如h),星形代表高斯噪声(如v),高斯噪声对应的协方差矩阵在星形的右下角标出(如R),k-1、kk+1分别代表上一时刻、当前时刻和下一时刻。其中,R代表了观测信息的质量,F为状态转移阵,将过去k-1时刻状态和现在的k时刻状态联系起来;B代表控制输入uk)的增益矩阵;H为观测矩阵,表示状态变量Xk)对测量变量Hk)的增益。

978-7-111-34689-0-Chapter06-1.jpg

图6.1 卡尔曼滤波模型

卡尔曼滤波是随机信号估计的算法之一,采用状态空间法在时域内设计滤波器,避免了在频域内对信号功率谱进行分解的麻烦。同时卡尔曼滤波算法采用递推计算方式,将实时观测信息和历史信息融合于估计值中,从而不必存储时间过程中的观测量。在状态空间方法中,引入了状态变量和状态空间概念。状态是比信号更广泛、更灵活的概念,它非常适合处理多变量系统和信号估计问题,信号可视为状态或状态的分量。系统状态变量是能体现系统特征、特点和状况的变量。状态空间方法的关键技术包括状态空间模型和状态估计方法。状态方程是描写状态变化规律的模型,它表示了相邻时刻的状态转移变化规律。观测方程描写状态观测的信息,通常含有观测噪声且只能对部分状态变量进行观测。卡尔曼滤波是根据观测信息求系统状态的最优估计。

6.1.1.1 离散卡尔曼滤波

1.离散卡尔曼滤波基本方程

k时刻被估计状态Xk)受系统噪声序列Wk-1)驱动,驱动机理由下述状态方程描述:

Xk)=ϕkk-1)Xk-1)+Γk-1)Wk-1) (6.1)

Xk)的量测满足线性关系,量测方程为

Zk)=HkXk)+Vk) (6.2)

式中,ϕkk-1)为k-1时刻至k时刻的一步转移矩阵;Γk-1)为系统噪声驱动矩阵;Hk)为量测矩阵;Vk)为量测噪声序列;Wk)为系统激励噪声序列。同时,Wk)和Vk)满足

E[Wk)]=0,Cov[Wk),Wj)]=E[WkkWjT]=Qkσkj (6.3)

E[Vk)]=0,Cov[Vk),Vj)]=E[VkVjT]=Rkσkj (6.4)

Cov[Vk),VjT]=0 (6.5)

式中,Qk)为系统噪声序列的方差距阵,假设为非负定阵;Rk)为量测噪声序列的方差距阵,假设为正定阵。若已知k时刻的量测值为Zk),则Xk)的估计Xk)按下述步骤求解。

(1)估计误差方程

k时刻状态矢量为Xk),估计值为978-7-111-34689-0-Chapter06-2.jpg,误差矢量为ek)=Xk)-978-7-111-34689-0-Chapter06-3.jpg,则估计误差方差矩阵为

978-7-111-34689-0-Chapter06-4.jpg

估计误差方差为

978-7-111-34689-0-Chapter06-5.jpg

卡尔曼滤波根据测量矢量Zk),求出状态矢量Xk)的最佳估计值X978-7-111-34689-0-Chapter06-6.jpg,使得估计误差的方差ξk)为最小。

(2)预测误差方差矩阵

根据估计方差最小理论,k+1时刻的状态矢量估计值978-7-111-34689-0-Chapter06-7.jpg,等于状态矢量Xk+1)在给定{Z(1),Z(2),…,Zk)}时的条件均值,即

978-7-111-34689-0-Chapter06-8.jpg(www.daowen.com)

将此式带入状态方程,其中E{Xk+1)Z(1)…Zk)}=0,得到状态矢量Xk)在k+1时刻的最优预测矢量,即

978-7-111-34689-0-Chapter06-9.jpg

同理,可以得到观测矢量的最优预测矢量为

978-7-111-34689-0-Chapter06-10.jpg

联立求解,得到估值误差方差矩阵为

Pk+1k)=ϕk+1,kPkϕTk+1,k)+Qk) (6.11)

(3)滤波估值方程

在对k时刻状态矢量Xk)进行预测后,根据实际得到的k+1时刻的观测值Zk+1)对预测值X978-7-111-34689-0-Chapter06-11.jpg进行修正,即可得到k+1时刻的状态矢量Xk+1)的滤波估值Xk+1),有

978-7-111-34689-0-Chapter06-12.jpg

式中,Kk+1)称为增益矩阵,有

Kk+1)=Pk+1kHTk+1)[Hk+1)Pk+1kHTk+1)+Rk)]-1 (6.13)得到滤波误差方差矩阵为

Pk+1)=(I-Kk+1)Hk+1))Pk+1k) (6.14)

在一个滤波周期内,从卡尔曼滤波使用系统信息和量测信息的先后次序来看,卡尔曼滤波具有两个明显的信息更新过程——时间更新过程和量测更新过程。式(6.9)说明了根据k-1时刻的状态估计预测k时刻状态估计方法,式(6.11)对这种预测的质量作了定量描述。这两个公式的计算仅使用了与系统动态特性有关的信息,如一步转移阵、噪声驱动阵、驱动噪声的方差阵等。从时间的推移过程来看,这两个公式将时间从k-1时刻推进到k时刻。所以,这两个公式描述了卡尔曼滤波的时间更新过程。其余各式用来计算对时间更新值的修正量,这些修正量由时间更新的质量优劣Pkk+1)、量测信息的质量优劣Rk)、量测与状态的关系Hk)及具体的量测值Zk)所确定。所有这些方程围绕着如何合理利用Zk),描述了卡尔曼滤波的量测更新过程。卡尔曼滤波的时间更新过程和量测更新过程如图6.2和图6.3所示。卡尔曼滤波具有两个计算流程——滤波计算流程和增益计算流程。

978-7-111-34689-0-Chapter06-13.jpg

图6.2 卡尔曼滤波计算流程

978-7-111-34689-0-Chapter06-14.jpg

图6.3卡尔曼滤波增益流程

其中,增益计算流程是独立计算流程,而滤波计算流程依赖于增益计算流程。

2.滤波状态和测量初值选取

卡尔曼滤波是一种递推算法,启动时必须先给定初值X978-7-111-34689-0-Chapter06-15.jpgP0。如果选取978-7-111-34689-0-Chapter06-16.jpg,则滤波过程中估计始终无偏,即978-7-111-34689-0-Chapter06-17.jpg。如果开始并不了解初始状态的统计特性,令

978-7-111-34689-0-Chapter06-18.jpg

式中,α为很大的正数,在此情况下滤波器不能保证是无偏的。由于P0CX0,所以实际的估计均方误差也不一定是最小的。如果系统是一致完全随机可控和一致完全随机可观测的,则卡尔曼滤波一定是一致渐进稳定的。即随着滤波步数的增加,盲目选取的滤波初值978-7-111-34689-0-Chapter06-19.jpgP0的影响将逐渐减弱直至消失,估计逐渐趋向无偏,估计的均方误差也逐渐和P0=CX0时的结果保持一致。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈