背景说明

由于在工程应用中,系统的动态模型和量测模型往往不是线性的,此时,卡尔曼滤波不再适用。所以本文介绍三种模型构造高斯逼近的方法。

  1. 基于泰勒基数展开的扩张卡尔曼滤波(extend Kalman filter,EKF);
  2. 基于统计线性化的统计线性化滤波器(statistically linearized filter,SLF);
  3. 基于无迹变换的无迹卡尔曼滤波(unscented Kalman filter,UKF)。

无迹卡尔曼滤波被认为是统计线性化滤波的逼近。ULF优于EKF在于:SLF是更全局的逼近。不足在于:非线性函数的期望值必须进行闭型解算。UKF不要求模型函数可微,不要计算雅可比矩阵,但UKF的精度低于SLF,因为SLF采用了更多的数据;且UKF计算步骤较多。

扩展卡尔曼滤波

将高斯随机变量性转换在另一个随机变量y:
xN(m,P)y=g(x) \bm {x \sim N(m, P) } \\ \bm{y = g(x)}

g(x)\bm{g(x)}进行泰勒展开,设x=m+δx\bm{x = m + \delta x},且δxN(m,P)\bm{\delta x \sim N(m,P)}。其中Gx(m),Gxxi(m)\bm{G_{x}(m),G^i_{xx}(m)}分别是g\bm{g}的雅可比矩阵和Hessian\bm{Hessian}矩阵。
g(x)=g(m+δx)g(m)+Gx(m)δx+12δxGxxiδxei+... \bm{g(x) = g(m + \delta x) \approx g(m) + G_{x}(m)\delta x + \sum{\frac{{1}}{2}}\delta xG^i_{xx}\delta xe_{i}}+...

利用展开式中的前两项逼近g(x)\bm{g(x)},且可求起均值和方差分别为:
g(x)=g(m+δx)g(m)+Gx(m)δxE[g(x)]=g(m)E[(g(x)E[g(x)])(g(x)E[g(x)])T]=Gx(m)PGxT(m) \bm{g(x) = g(m + \delta x) \approx g(m) + G_{x}(m)\delta x} \\ \bm{E[g(x)] = g(m)} \\ \bm{E[(g(x) - E[g(x)])(g(x) - E[g(x)])^T] = G_x(m)PG^T_x(m)}

通常需要求x,y\bm{x,y}的联合协方差阵,该联合协方差阵可通过增光变换得到:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

扩展卡尔曼滤波-过程和量测噪声可叠加类型:

叠加变换的通式为:【注意】该变换通式在后面的统计线性化滤波器和无迹变换滤波器中均一致。
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
则经过线性逼近的高斯逼近的x,y\bm{x,y}联合分布为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

EKF模型为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
式中,xkRn\bm{x_k \in R^n}为状态量,ykRm\bm{y_k \in R^m}为量测量,qk1N(0,Qk1)\bm{q_{k-1} \sim N(0, Q_{k-1})}为高斯过程噪声,rkN(0,Rk)\bm{r_k \sim N(0,R_k)}为量测噪声,f()\bm{f(\cdot)}为系统的动态模型,h()\bm{h(\cdot)}为系统的量测模型。

一阶可叠加卡尔曼滤波的预测与更新过程如下:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

扩展卡尔曼滤波-过程和量测噪声不可叠加类型:

不可叠加变换通式为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
通过增广变换得到关于x,y\bm{x,y}的均值和协方差为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
非叠加变换的线性逼近为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
EKF模型为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
相关的变量和函数均与可叠加变换的一致。

一阶不可叠加卡尔曼滤波的预测和更新过程如下:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

统计线性化滤波器

对于统计线性化滤波器,只是把一阶泰勒级数逼近换成统计线性化。变换模型一致:
xN(m,P)y=g(x) \bm {x \sim N(m, P) } \\ \bm{y = g(x)}
在统计线性化中,可得到函数的线性近似:
g(x)b +Aδxδx=xm \bm {g(x) \simeq b \ + A\delta x} \\ \bm{\delta x = x-m}

使均方根误差最小,可得:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
g(x)\bm{g(x)}的逼近中,b\bm{b}恰好为均值,而逼近得到的协方差阵为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

统计线性化滤波器-噪声可叠加类型

其中,关于x,y\bm{x,y}的增广矩阵的均值和方差求法与EKF一致:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
关于x\bm{x}的变换通式是一致的。
基于高斯逼近的统计线性化得到的x,y\bm{x,y}联合分布为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

该统计线性化滤波器的预测和更新过程如下:扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

统计线性化滤波器-噪声不可叠加类型

通过增广变换得到关于(x,y)\bm(x,y)均值和协方差:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
关于x\bm{x}的变换通式为不可叠加的变换通式;
基于高斯逼近的统计线性化得到的x,y\bm{x,y}的分布如下:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
不可叠加噪声的统计线性化(卡尔曼)滤波器的预测和更新步骤如下:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

无迹卡尔曼滤波

噪声可叠加的无迹卡尔曼滤波

可叠加的变换通式均一致。
基于高斯逼近的无迹变换的x,y\bm{x,y}的分布为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
式中,子矩阵的计算表达式:

  1. 构造2n+1\bm{2n+1}sigma\bm{sigma}点:
    扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
    式中,λ\bm{\lambda}为比例系数,且由算法系数α, κ\bm{\alpha,\ \kappa}决定(这两个系数应该是在相关算法中确定):
    扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
  2. sigma\bm{sigma}点带入非线性函数g()\bm{g(\cdot)}中:
    扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
  3. 计算子矩阵:
    扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
    其中,常值权值Wi(m),Wi(c)\bm{W^{(m)}_i,W^{(c)}_i}的定义为:
    扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

噪声可叠加的无迹卡尔曼滤波预测和更新步骤:
系统的动态模型和量测模型与先前一致。
预测部分:
1). 构造sigma\bm{sigma}点:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
2). 将sigma\bm{sigma}点带入系统动态模型中:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
3). 计算预测均值mk\bm{m^-_k}和预测协方差Pk\bm{P^-_k}:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

更新部分:
1). 构造sigma\bm{sigma}点:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
2). 将sigma\bm{sigma}点带入系统量测模型中:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
3). 计算量测量预测均值mk\bm{m^-_k}和预测协方差Pk\bm{P^-_k},以及状态与量测量之间的互协方差Ck\bm{C_k}:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
4). 结合量测量yk\bm{y_k},计算滤波增益Kk\bm{K_k},滤波状态平均值mk\bm{m_k}和方差Pk\bm{P_k}
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

噪声不可叠加的无迹卡尔曼滤波

不可叠加的变换通式如EKF中的一致。
基于高斯逼近的无迹变换的x,y\bm{x,y}的分布如下:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
式中,子矩阵的计算方法如下:
x,q\bm{x,q}的维数分别为n,nq\bm{n,n_q},且n=n +nq\bm{n^{'} =n\ + n_q}.
1). 构造增广随机变量 x~=(x,q)\bm{ \widetilde{x} = (x,q)}sigma\bm{sigma}点:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
式中,λ\bm{\lambda^{'}}λ\bm{\lambda}的定义式一致,另外,增广均值和协方差定义式为:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
2). 将sigma\bm{sigma}点带入非线性方程:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
3). 计算预测均值μU\bm{\mu_U},预测协方差SU\bm{S_U}和状态量和量测量之间的互协方差CU\bm{C_U}
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

噪声不可叠加的无迹卡尔曼滤波:

预测步骤:
1). 构造增广随机变量 (xk1,qk1)\bm{ (x_{k-1},q_{k-1})}sigma\bm{sigma}点:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
2). 将sigma\bm{sigma}点带入动态模型中:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
3). 计算预测均值mk\bm{m^-_k},预测协方差Pk\bm{P^-_k}
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

更新步骤:
1). 构造增广随机变量 (xk,qk)\bm{ (x_k,q_k)}sigma\bm{sigma}点:扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
2). 将sigma\bm{sigma}点带入量测模型中:
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
3). 计算预测均值μk\bm{\mu_k},预测协方差Sk\bm{S_k}和状态量和量测量之间的互协方差Ck\bm{C_k}
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器
4). 结合量测量yk\bm{y_k},计算滤波增益Kk\bm{K_k},滤波状态平均值mk\bm{m_k}和方差Pk\bm{P_k}
扩展卡尔曼滤波,无迹卡尔曼滤波和统计线性化滤波器

本文参考贝叶斯滤波与平滑,作者萨日伽。太累了,不想去一一检验错误,如有疑问,请留言。

相关文章:

  • 2021-06-25
  • 2021-08-16
  • 2021-12-14
  • 2021-12-06
  • 2021-04-21
  • 2021-04-20
  • 2021-07-29
猜你喜欢
  • 2018-03-26
  • 2021-10-07
  • 2022-01-21
  • 2021-04-15
  • 2021-08-28
  • 2021-10-23
相关资源
相似解决方案