卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法,由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。卡尔曼滤波器的本质是线性最小均方误差估计,而均方误差是协方差矩阵的迹。卡尔曼滤波有好几种公式推导方法,本文从最小二乘估计的方法推导卡尔曼滤波过程。
卡尔曼滤波有以下几个特点:
(1)卡尔曼滤波处理的对象时随机信号
(2)被处理信号无有用和干扰之分,滤波的目的是要估计出所有被处理信号
(3)系统的白噪声激励和量测噪声并不是需要滤除的对象,它们的统计特性正式估计过程中需要利用的信息
所以确切的说卡尔曼滤波是属于最优估计理论,与常规滤波器具有完全不同的概念和含义,就实际运用而言卡尔曼滤波实质上
是由一套数字计算机实现的递推算法,每个递推周期中包含对被估计量的时间更新和量测更新过程。
1、系统的变量定义
为系统的真值
为系统的测量值
为卡尔曼滤波增益
系统的状态转移矩阵
为系统的输入增益矩阵
为系统的量测矩阵
为最优估计协方差矩阵
为预测值协方差矩阵
为k时刻的最优估计值
为k时刻的预测值,系统的后验概率估计
为k-1时刻的最优估计值
为系统的测量噪声,其均值,协方差矩阵为R且服从正态分布的测量噪声
为系统的过程噪声,其均值,协方差矩阵为Q且服从正态分布的过程噪声
2、系统的状态方程
......................................................................(1)
.......................................................................................(2)
.........................................................(3)
........................................(4)
公式(1)为系统状态转移方程,(2)为系统的测量方程,(3)为预测方程(后验概率估计),(4)为最佳估计方程
卡尔曼滤波器最终从上述公式求解出最优估计值,在求解最优估计值时首先需要推导出公式(4)的卡尔
曼滤波增益,具体的公式推导见下节
3、卡尔曼滤波推导
遵循误差最小原则,定义误差求误差最小化,为误差的协方差矩阵
................................................(5)
把误差中的最优估计值用公式(4)替代
.............................(6)
上述误差方程中的用公式(2) 代替得出:
................................................(7)
由于与无关,并且
所以协方差矩阵如下:
...........(8)
综上所示我们得到了公式(8),我们需对公式(8)求的导数,使之最小。
我们需将公式(8)展开如下所示:
....................(9)
卡尔曼滤波器的本质是线性最小均方误差估计,而均方误差是协方差矩阵的迹,所以我们
只需对的迹求导。由于 ,所以如下:
.................................(10)
对迹求导我们需要知道以下几个矩阵迹求导公式:
若矩阵B是对称阵则 其中tr表示矩阵的迹。
...............................(11)
令 得出: ..........................................(12)
把公式(12)的表达式替换公式(9)最后一项的得到以下式子:
..................................(13)
当的取值等于公式(12)时,最优估计值的协方差矩阵方差最小。但该公式中有一个
未知的量预测协方差矩阵,接下去我们将就继续推导的表达式。
定义预测误差,预测协方差矩阵
式子用公式(1)替代, 用公式(3)替代得出:
由于与无关,且 所以:
又
所以......................................................(14)
综上所示卡尔曼滤波的核心公式如下:
预测方程
最优估计方程
卡尔曼滤波增益
最优估计协方差矩阵递推公式
预测协方差矩形递推公式