扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
背景说明
由于在工程应用中,系统的动态模型和量测模型往往不是线性的,此时,卡尔曼滤波不再适用。所以本文介绍三种模型构造高斯逼近的方法。
- 基于泰勒基数展开的扩张卡尔曼滤波(extend Kalman filter,EKF);
- 基于统计线性化的统计线性化滤波器(statistically linearized filter,SLF);
- 基于无迹变换的无迹卡尔曼滤波(unscented Kalman filter,UKF)。
无迹卡尔曼滤波被认为是统计线性化滤波的逼近。ULF优于EKF在于:SLF是更全局的逼近。不足在于:非线性函数的期望值必须进行闭型解算。UKF不要求模型函数可微,不要计算雅可比矩阵,但UKF的精度低于SLF,因为SLF采用了更多的数据;且UKF计算步骤较多。
扩展卡尔曼滤波
将高斯随机变量性转换在另一个随机变量y:
对
进行泰勒展开,设
,且
。其中
分别是
的雅可比矩阵和
矩阵。
利用展开式中的前两项逼近
,且可求起均值和方差分别为:
通常需要求
的联合协方差阵,该联合协方差阵可通过增光变换得到:
扩展卡尔曼滤波-过程和量测噪声可叠加类型:
叠加变换的通式为:【注意】该变换通式在后面的统计线性化滤波器和无迹变换滤波器中均一致。
则经过线性逼近的高斯逼近的
联合分布为:
EKF模型为:
式中,
为状态量,
为量测量,
为高斯过程噪声,
为量测噪声,
为系统的动态模型,
为系统的量测模型。
一阶可叠加卡尔曼滤波的预测与更新过程如下:
扩展卡尔曼滤波-过程和量测噪声不可叠加类型:
不可叠加变换通式为:
通过增广变换得到关于
的均值和协方差为:
非叠加变换的线性逼近为:
EKF模型为:
相关的变量和函数均与可叠加变换的一致。
一阶不可叠加卡尔曼滤波的预测和更新过程如下:
统计线性化滤波器
对于统计线性化滤波器,只是把一阶泰勒级数逼近换成统计线性化。变换模型一致:
在统计线性化中,可得到函数的线性近似:
使均方根误差最小,可得:
对
的逼近中,
恰好为均值,而逼近得到的协方差阵为:
统计线性化滤波器-噪声可叠加类型
其中,关于
的增广矩阵的均值和方差求法与EKF一致:
关于
的变换通式是一致的。
基于高斯逼近的统计线性化得到的
联合分布为:
该统计线性化滤波器的预测和更新过程如下:
统计线性化滤波器-噪声不可叠加类型
通过增广变换得到关于
均值和协方差:
关于
的变换通式为不可叠加的变换通式;
基于高斯逼近的统计线性化得到的
的分布如下:
不可叠加噪声的统计线性化(卡尔曼)滤波器的预测和更新步骤如下:
无迹卡尔曼滤波
噪声可叠加的无迹卡尔曼滤波
可叠加的变换通式均一致。
基于高斯逼近的无迹变换的
的分布为:
式中,子矩阵的计算表达式:
- 构造
个
点:
式中, 为比例系数,且由算法系数 决定(这两个系数应该是在相关算法中确定):
- 将
点带入非线性函数
中:
- 计算子矩阵:
其中,常值权值 的定义为:
噪声可叠加的无迹卡尔曼滤波预测和更新步骤:
系统的动态模型和量测模型与先前一致。
预测部分:
1). 构造
点:
2). 将
点带入系统动态模型中:
3). 计算预测均值
和预测协方差
:
更新部分:
1). 构造
点:
2). 将
点带入系统量测模型中:
3). 计算量测量预测均值
和预测协方差
,以及状态与量测量之间的互协方差
:
4). 结合量测量
,计算滤波增益
,滤波状态平均值
和方差
:
噪声不可叠加的无迹卡尔曼滤波
不可叠加的变换通式如EKF中的一致。
基于高斯逼近的无迹变换的
的分布如下:
式中,子矩阵的计算方法如下:
设
的维数分别为
,且
.
1). 构造增广随机变量
的
点:
式中,
与
的定义式一致,另外,增广均值和协方差定义式为:
2). 将
点带入非线性方程:
3). 计算预测均值
,预测协方差
和状态量和量测量之间的互协方差
:
噪声不可叠加的无迹卡尔曼滤波:
预测步骤:
1). 构造增广随机变量
的
点:
2). 将
点带入动态模型中:
3). 计算预测均值
,预测协方差
:
更新步骤:
1). 构造增广随机变量
的
点:
2). 将
点带入量测模型中:
3). 计算预测均值
,预测协方差
和状态量和量测量之间的互协方差
:
4). 结合量测量
,计算滤波增益
,滤波状态平均值
和方差
:
本文参考贝叶斯滤波与平滑,作者萨日伽。太累了,不想去一一检验错误,如有疑问,请留言。