Kalman滤波的感性认识

更简单明了的感性认识

对于线性系统一般状态方程涉及到两个,由这两个方程估计状态量:

  1. 运动方程: xk=f(xk1,uk)+ωkx_k = f(x_{k-1},u_k)+\omega_k (由上一时刻状态怎么得到当前时刻的状态)
  2. 观测方程:zk=h(xk)+vkz_k = h(x_k) +v_k(在当前时刻的状态下产生了怎样的观测)

假设所有分布都是高斯分布,从上时刻xk1x_{k-1}根据运动方程得到的xkx_k 服从一个高斯分布G1G_1;我们得到的观测(传感器直接测量) zkz_{k}也是高斯分布,从它根据观测方程推出的xkx_k是另一个高斯分布G2G_2;最后我们由两个状态方程得到关于xkx_{k}的两个高斯分布G1G2G_1和G_2,卡尔曼滤波结果就是把G1G2G_1和G_2相乘得到更确定的估计。
Kalman滤波

相关高斯分布公式总结

  • 一维高斯分布N(μ,σ2)=12πσexp(12(xμ)2σ2)N(\mu ,\sigma^2 )=\frac{1}{\sqrt{2\pi}\sigma}exp\left ( -\frac{1}{2} \frac{(x-\mu)^{2}}{\sigma^{2} }\right )

  • 多维高斯分布N(μ,Σ)=1(2π)Ndet(Σ)exp(12(xμ)Σ1(xμ))N(\bm{ \mu }, \Sigma)=\frac{1}{\sqrt{(2\pi)^{N}det(\Sigma)}}exp\left ( -\frac{1}{2} (\bm{x}-\bm{\mu})^\top \Sigma^{-1} (\bm{x}-\bm{\mu})\right )


  • 两个独立的高斯分布xN(μx,Σxx)\bm{x}\sim N(\bm{\mu_{x}}, \bm{\Sigma_{xx}})yN(μy,Σyy)\bm{y}\sim N(\bm{\mu_{y}}, \bm{\Sigma_{yy}})相加的结果依然是高斯分布:x+yN(μx+μy,Σxx+Σyy)\bm{x}+\bm{y} \sim N(\bm{\mu_{x}}+\bm{\mu_{y}},\bm{\Sigma_{xx}}+\bm{\Sigma_{yy}})

  • 如果一个常数aa乘以高斯分布xN(μx,Σxx)\bm{x}\sim N(\bm{\mu_{x}}, \bm{\Sigma_{xx}}),那么axa\bm{x}服从:axN(aμx,a2Σxx)a\bm{x}\sim N(a\bm{\mu_{x}}, a^2\bm{\Sigma_{xx}})

  • 如果 y=Ax\bm{y}=\bm{Ax}xN(μx,Σxx)\bm{x}\sim N(\bm{\mu_{x}}, \bm{\Sigma_{xx}}),则y\bm{y}满足:yN(Aμx,AΣxxAT)\bm{y}\sim N(\bm{A\mu_{x}}, \bm{A\Sigma_{xx}A^T})

  • 两个高斯分布相乘,如果是一维: xN(μx,σx2)yN(μy,σy2)x\sim N(\mu_x, \sigma_x^2) \qquad y\sim N(\mu_y,\sigma_y^2),那么xyN(μ,σ2)x\cdot y\sim N(\mu, \sigma^2)
    μ=μx+σx2(μyμx)σx2+σy2σ2=σx2σx4σx2+σy2\mu = \mu_x +\frac{\sigma_x^2(\mu_y - \mu_x)}{\sigma_x^2+\sigma_y^2} \\ \quad \\ \sigma^2 = \sigma_x^2-\frac{\sigma_x^4}{\sigma_x^2+\sigma_y^2}
    如果令 k=σx2σx2+σy2k=\frac{\sigma_x^2}{\sigma_x^2+\sigma_y^2},那么:
    μ=μx+k(μyμx)σ2=σx2kσx2\mu = \mu_x + k(\mu_y-\mu_x) \\ \quad \\ \sigma^2= \sigma_x^2-k\sigma_x^2
    扩展到多维 xN(μx,Σxx)yN(μy,Σyy)\bm{x}\sim N(\bm{\mu_x}, \Sigma_{xx}) \qquad \bm{y}\sim N(\bm{\mu_y},\Sigma_{yy}),那么xyN(μ,Σ)\bm{x\cdot y} \sim N(\bm{\mu}, \Sigma)K=Σxx(Σxx+Σyy)1μ=μx+K(μyμx)Σ=ΣxxKΣxxK=\Sigma_{xx}(\Sigma_{xx}+\Sigma_{yy})^{-1} \\ \quad \\ \bm{\mu}= \bm{\mu_x} + K(\bm{\mu_y-\mu_x}) \\ \quad \\ \Sigma =\Sigma_{xx} -K \Sigma_{xx}

线性卡尔曼滤波

好理解Kalman参考

理论推导

  1. 假设线性系统的状态方程:{xk=Akxk1+uk+wkzk=Hkxk+vk\left\{\begin{aligned} \bm{x_k}&= A_k \bm{x_{k-1}}+\bm{u_k}+\bm{w_k} \\ \bm{z_k}&= H_k\bm{x_k}+\bm{v_k} \end{aligned}\right.

xk\bm{x_k}:状态向量
uk\bm{u_k}:输入

https://zhuanlan.zhihu.com/p/48876718
http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/#mathybits

应用代码

扩展卡尔曼滤波(EKF)

理论推导

应用代码

无迹卡尔曼滤波(UKF)

理论推导

应用代码

相关文章:

  • 2021-12-01
  • 2022-02-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-25
  • 2021-07-28
  • 2022-01-11
  • 2021-09-04
猜你喜欢
  • 2021-10-23
  • 2021-12-07
  • 2021-06-15
  • 2021-07-11
  • 2021-09-07
  • 2021-10-09
相关资源
相似解决方案