贝叶斯滤波器

贝叶斯滤波器

定义以下运动和观测模型:

运动方程: x k = f ( x k − 1 , v k , w k ) , k = 1 , ⋯   , K 观测方程: y k = g ( x k , n k ) , k = 0 , ⋯   , K \begin{aligned}&\text{运动方程:}\boldsymbol{x}_{k}=f\left(\boldsymbol{x}_{k-1}, \boldsymbol{v}_{k},\boldsymbol{w}_{k}\right), \quad k=1, \cdots, K \\&\text{观测方程:}\boldsymbol{y}_{k}=g\left(\boldsymbol{x}_{k}, \boldsymbol{n}_{k}\right), \quad k=0, \cdots, K\end{aligned} 运动方程:xk=f(xk1,vk,wk),k=1,,K观测方程:yk=g(xk,nk),k=0,,K

变量和符号定义如下:

  • x k ∈ R N \boldsymbol{x}_{k} \in \mathbb{R}^{N} xkRN 表示系统状态
  • x 0 ∈ R N \boldsymbol{x}_{0} \in \mathbb{R}^{N} x0RN 表示初始状态
  • v k ∈ R N \boldsymbol{v}_{k} \in \mathbb{R}^{N} vkRN 表示输入
  • w k ∈ R N \boldsymbol{w}_{k} \in \mathbb{R}^{N} wkRN 表示过程噪声
  • y k ∈ R M \boldsymbol{y}_{k} \in \mathbb{R}^{M} ykRM 表示测量
  • n k ∈ R M \boldsymbol{n}_{k} \in \mathbb{R}^{M} nkRM 表示测量噪声
  • k k k 为时间下标,最大值为 K K K
  • 函数 f ( ⋅ ) f(\cdot) f() 为非线性的运动模型
  • 函数 g ( ⋅ ) g(\cdot) g() 为非线性的观测模型

贝叶斯滤波仅使用过去以及当前的测量,通过构造一个完整的概率密度函数PDF,来计算当前状态 x k \boldsymbol{x}_{k} xk 的置信度:

P ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k ) (1) P\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k}\right) \tag{1} P(xkxˇ0,v1:k,y0:k)(1)

其中, x ˇ 0 \check{\boldsymbol{x}}_{0} xˇ0 表示 0 时刻系统状态的先验。

贝叶斯滤波器可以用下面公式表示:

p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k ) ⏟ 后验置信度  = η p ( y k ∣ x k ) ⏟ 利用  g ( ⋅ )  进行更新  ∫ p ( x k ∣ x k − 1 , v k ) ⏟ 利用  f ( ⋅ )  进行预测  p ( x k − 1 ∣ x ˇ 0 , v 1 : k − 1 , y 0 : k − 1 ) ⏟ 先验置信度  d x k − 1 (2) \begin{aligned}& \underbrace{p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k}\right)}_{\text {后验置信度 }} \\=& \eta \underbrace{p\left(\boldsymbol{y}_{k} \mid \boldsymbol{x}_{k}\right)}_{\text {利用 } \boldsymbol{g}(\cdot) \text { 进行更新 }} \int \underbrace{p\left(\boldsymbol{x}_{k} \mid \boldsymbol{x}_{k-1}, \boldsymbol{v}_{k}\right)}_{\text {利用 } \boldsymbol{f}(\cdot) \text { 进行预测 }} \underbrace{p\left(\boldsymbol{x}_{k-1} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k-1}, \boldsymbol{y}_{0: k-1}\right)}_{\text {先验置信度 }} \mathrm{d} \boldsymbol{x}_{k-1}\end{aligned}\tag{2} =后验置信度  p(xkxˇ0,v1:k,y0:k)η利用 g() 进行更新  p(ykxk)利用 f() 进行预测  p(xkxk1,vk)先验置信度  p(xk1xˇ0,v1:k1,y0:k1)dxk1(2)

推导过程

对(1)式进行贝叶斯展开,有:

p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k ) = p ( x k , x ˇ 0 , v 1 : k , y 0 : k ) p ( x ˇ 0 , v 1 : k , y 0 : k ) = p ( y k ∣ x k , x ˇ 0 , v 1 : k , y 0 : k − 1 ) p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) p ( x ˇ 0 , v 1 : k , y 0 : k − 1 ) p ( y k ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) p ( x ˇ 0 , v 1 : k , y 0 : k − 1 ) = p ( y k ∣ x k , x ˇ 0 , v 1 : k , y 0 : k − 1 ) p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) p ( y k ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) (3) \begin{aligned}& p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k}\right) \\\\&= \frac{p\left(\boldsymbol{x}_{k}, \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k}\right)}{p\left(\check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k}\right) } \\\\&= \frac{p\left(\boldsymbol{y}_{ k} \mid \boldsymbol{x}_{k}, \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right)p\left( \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right)}{p\left(\boldsymbol{y}_{ k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) p\left( \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right)} \\\\&=\frac{p\left(\boldsymbol{y}_{ k} \mid \boldsymbol{x}_{k}, \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right)}{p\left(\boldsymbol{y}_{ k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) }\end{aligned}\tag{3} p(xkxˇ0,v1:k,y0:k)=p(xˇ0,v1:k,y0:k)p(xk,xˇ0,v1:k,y0:k)=p(ykxˇ0,v1:k,y0:k1)p(xˇ0,v1:k,y0:k1)p(ykxk,xˇ0,v1:k,y0:k1)p(xkxˇ0,v1:k,y0:k1)p(xˇ0,v1:k,y0:k1)=p(ykxˇ0,v1:k,y0:k1)p(ykxk,xˇ0,v1:k,y0:k1)p(xkxˇ0,v1:k,y0:k1)(3)

由于 y k \boldsymbol{y}_k yk 的状态只与 x k \boldsymbol{x}_k xk 相关,所以上式可化简为:

p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k ) = p ( y k ∣ x k ) p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) p ( y k ) (4) \begin{aligned}& p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k}\right) \\\\&= \frac{p\left(\boldsymbol{y}_{ k} \mid \boldsymbol{x}_{k}\right) p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right)}{p\left(\boldsymbol{y}_k\right) }\end{aligned}\tag{4} p(xkxˇ0,v1:k,y0:k)=p(yk)p(ykxk)p(xkxˇ0,v1:k,y0:k1)(4)

p − 1 ( y k ) = η p^{-1}\left(\boldsymbol{y}_k\right) = \eta p1(yk)=η,则有:

p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k ) = η p ( y k ∣ x k ) p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) (5) \begin{aligned}& p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k}\right) = \eta p\left(\boldsymbol{y}_{ k} \mid \boldsymbol{x}_{k}\right) p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) \end{aligned}\tag{5} p(xkxˇ0,v1:k,y0:k)=ηp(ykxk)p(xkxˇ0,v1:k,y0:k1)(5)

全概率公式贝叶斯公式有:

p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) = ∫ p ( x k , x k − 1 ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) d x k − 1 = ∫ p ( x k ∣ x k − 1 , x ˇ 0 , v 1 : k , y 0 : k − 1 ) p ( x k − 1 ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) d x k − 1 (6) \begin{aligned}& p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right)\\\\=&\int p\left(\boldsymbol{x}_{k}, \boldsymbol{x}_{k-1} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) \mathrm{d} \boldsymbol{x}_{k-1} \\\\=& \int p\left(\boldsymbol{x}_{k} \mid \boldsymbol{x}_{k-1}, \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) p\left(\boldsymbol{x}_{k-1} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) \mathrm{d} \boldsymbol{x}_{k-1}\end{aligned}\tag{6} ==p(xkxˇ0,v1:k,y0:k1)p(xk,xk1xˇ0,v1:k,y0:k1)dxk1p(xkxk1,xˇ0,v1:k,y0:k1)p(xk1xˇ0,v1:k,y0:k1)dxk1(6)

然后,由一阶马尔可夫性假设( k 时刻的状态只和 k - 1 时刻状态有关)有:

p ( x k ∣ x k − 1 , x ˇ 0 , v 1 : k , y 0 : k − 1 ) = p ( x k ∣ x k − 1 , v k ) (7) p\left(\boldsymbol{x}_{k} \mid \boldsymbol{x}_{k-1}, \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right)=p\left(\boldsymbol{x}_{k} \mid \boldsymbol{x}_{k-1},\boldsymbol{v}_{k}\right)\tag{7} p(xkxk1,xˇ0,v1:k,y0:k1)=p(xkxk1,vk)(7)

并且 k - 1 时刻的状态与 k 时刻的输入无关,即:

p ( x k − 1 ∣ x ˇ 0 , v 1 : k , y 0 : k − 1 ) = p ( x k − 1 ∣ x ˇ 0 , v 1 : k − 1 , y 0 : k − 1 ) (8) p\left(\boldsymbol{x}_{k-1} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k-1}\right) = p\left(\boldsymbol{x}_{k-1} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k-1}, \boldsymbol{y}_{0: k-1}\right) \tag{8} p(xk1xˇ0,v1:k,y0:k1)=p(xk1xˇ0,v1:k1,y0:k1)(8)

结合 (5)、(6)、(7)、(8) 式,即可得到:

p ( x k ∣ x ˇ 0 , v 1 : k , y 0 : k ) = η p ( y k ∣ x k ) ∫ p ( x k ∣ x k − 1 , v k ) p ( x k − 1 ∣ x ˇ 0 , v 1 : k − 1 , y 0 : k − 1 ) d x k − 1 (9) \begin{aligned}& p\left(\boldsymbol{x}_{k} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k}, \boldsymbol{y}_{0: k}\right) \\=& \eta p\left(\boldsymbol{y}_{ k} \mid \boldsymbol{x}_{k}\right) \int p\left(\boldsymbol{x}_{k} \mid \boldsymbol{x}_{k-1},\boldsymbol{v}_{k}\right)p\left(\boldsymbol{x}_{k-1} \mid \check{\boldsymbol{x}}_{0}, \boldsymbol{v}_{1: k-1}, \boldsymbol{y}_{0: k-1}\right) \mathrm{d} \boldsymbol{x}_{k-1}\end{aligned}\tag{9} =p(xkxˇ0,v1:k,y0:k)ηp(ykxk)p(xkxk1,vk)p(xk1xˇ0,v1:k1,y0:k1)dxk1(9)

即证。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值