前面我写了一篇关于贝叶斯滤波的博客,详细推导了贝叶斯滤波,。也介绍了为了解决贝叶斯滤波中的无穷积分问题,产生了许多滤波方法,讨论了不同滤波方法之间的关系其中卡尔曼滤波应用比较广泛,这里详细推导一下卡尔曼滤波。
这篇博客大部分参考了b站视频:忠厚老实的王大头
感谢up主做的视频
1. 假设
假 设 f ( x k − 1 ) 、 h ( x k ) 为 线 性 , Q k 、 R k 为 0 均 值 正 态 分 布 , X k − 1 ∼ N ( μ k − 1 + , σ k − 1 + ) 假设f(x_{k-1})、h(x_k)为线性,Q_k、R_k为0均值正态分布,X_{k-1} \sim N(\mu_{k-1}^+,\sigma_{k-1}^+) 假设f(xk−1)、h(xk)为线性,Qk、Rk为0均值正态分布,Xk−1∼N(μk−1+,σk−1+),所以状态转移方程和观测方程可以写成:
{ X k = f ( X k − 1 ) + Q k = F ∗ X k − 1 + Q k Y k = h ( X k ) + R k = H ∗ X k + R k \begin{cases} X_k = f(X_{k-1})+Q_k=F*X_{k-1}+Q_k \\ Y_k = h(X_k)+R_k = H*X_k+R_k \end{cases} {
Xk=f(Xk−1)+Qk=F∗Xk−1+QkYk=h(Xk)+Rk=H∗Xk+Rk
2. 预测步
f k − ( x ) = ∫ − ∞ + ∞ f Q k [ x − f ( v ) ] f k − 1 + ( x ) d v = ∫ − ∞ + ∞ ( 2 π Q ) − 1 2 e − ( x − F v ) 2 2 Q ∗ ( 2 π σ k − 1 + ) 1 2 e − ( v − μ k − 1 + ) 2 2 σ k − 1 + d v \begin{aligned} f_k^-(x)&=\int_{-\infty}^{+\infty}f_{Q_k}[x-f(v)]f_{k-1}^+(x)dv \\ &=\int_{-\infty}^{+\infty}(2\pi Q)^{-\frac{1}{2}}e^{-\frac{(x-Fv)^2}{2Q}}*(2\pi \sigma_{k-1}^+)^{\frac{1}{2}}e^{-\frac{(v-\mu_{k-1}^+)^2}{2\sigma_{k-1}^+}}dv \end{aligned} fk−(x)=∫−∞+∞fQk[x−f(v)]fk−1+(x)dv=∫−∞+∞(2πQ)−21e−2Q(x−Fv)2∗(2πσk−1+)21e−2σk−1+(v−μk−1+)2dv
这里的积分手算方法 { ① 复 变 函 数 , 用 留 数 定 理 算 ② 用 傅 里 叶 变 换 + 卷 积 去 算 \begin{cases} ①复变函数,用留数定理算 \\②用傅里叶变换+卷积去算 \end{cases} {
①复变函数,用留数定理算②用傅里叶变换+卷积去算
这里用第②种方法积分,先看看一些基本条件:
{