从贝叶斯滤波到扩展卡尔曼滤波

0 前言

扩展卡尔曼滤波(Extended Kalman Filter,EKF)是标准卡尔曼滤波在非线性情形下的一种扩展形式,它是一种高效率的递归滤波器(自回归滤波器)。

EKF 的基本思想是利用泰勒级数展开将非线性系统的状态转移函数 f ( x ) f(x) f(x) 和(或)观测函数 h ( x ) h(x) h(x) 线性化,然后采用卡尔曼滤波框架对信号进行滤波,因此它是一种次优滤波。

1 贝叶斯滤波的三大概率密度函数

在此前的文章《从概率到贝叶斯滤波》《从贝叶斯滤波到卡尔曼滤波》中,已经讲到贝叶斯滤波的先验概率密度函数、似然概率密度函数和后验概率密度函数:

(1) 先验概率密度函数
f X k − ( x ) = ∫ − ∞ + ∞ f Q k [ x − f ( v ) ] f X k − 1 + ( v ) d v f_{X_k}^-(x)=\int_{-\infty}^{+\infty}f_{Q_k}[x-f(v)]f_{X_{k-1}}^+(v)\mathrm{d}v fXk(x)=+fQk[xf(v)]fXk1+(v)dv

(2) 似然概率密度函数
f Y k ∣ X k ( y k   ∣   x ) = f R k [ y k − h ( x ) ] f_{Y_k|X_k}(y_k \ | \ x) = f_{R_k}[y_k-h(x)] fYkXk(yk  x)=fRk[ykh(x)]

(3) 后验概率密度函数
f X k + ( x ) = η k ⋅ f R k [ y k − h ( x ) ] ⋅ f X k − ( x ) f_{X_k}^+(x)=\eta_k·f_{R_k}[y_k-h(x)]·f_{X_k}^-(x) fXk+(x)=ηkfRk[ykh(x)]fXk(x)

其中,后验概率密度函数中的归一化常数 η k \eta_k ηk 为:
η k = { ∫ − ∞ + ∞ f R k [ y k − h ( x ) ] f X k − ( x ) d x } − 1 \eta_k=\left\{\int_{-\infty}^{+\infty}f_{R_k}[y_k-h(x)]f_{X_k}^-(x)\mathrm{d}x\right\}^{-1} ηk={ +fRk[ykh(x)]fXk(x)dx}1

2 扩展卡尔曼滤波的假设

扩展卡尔曼滤波以贝叶斯滤波为理论基础,并作了五个前提假设。

2.1 与卡尔曼滤波相同的假设

(1) 假设一:状态量服从正态分布
X ∼ N ( μ X ,   σ X 2 ) X \sim \mathcal{N}(\mu_X, \ \sigma_X^2) XN(μX, σX2)

(2) 假设二:观测量服从正态分布
Y ∼ N ( μ Y ,   σ Y 2 ) Y \sim \mathcal{N}(\mu_Y, \ \sigma_Y^2) YN(μY, σY2)

(3) 假设三:过程噪声服从均值为 0 的正态分布
Q ∼ N ( 0 ,   σ Q 2 ) Q \sim \mathcal{N}(0, \ \sigma_Q^2) QN(0, σQ2)

(4) 假设四:观测噪声服从均值为 0 的正态分布
R ∼ N ( 0 ,   σ R 2 ) R \sim \mathcal{N}(0, \ \sigma_R^2) RN(0, σR2)

2.2 与卡尔曼滤波不同的假设

(5) 假设五:状态转移函数和(或)观测函数为非线性函数

在卡尔曼滤波的前提假设中,认为状态方程中的状态转移函数 f ( x ) f(x) f(x) 以及观测方程中的观测函数 h ( x ) h(x) h(x) 均为线性函数。基于这种线性假设,存在常数或常矩阵 F F F,使得 f ( x ) f(x) f(x) 可以写成卡尔曼滤波中的线性形式,存在常数或常矩阵 H H H,使得 h ( x ) h(x) h(x) 也可以写成卡尔曼滤波中的线性形式。

不同于标准卡尔曼滤波,扩展卡尔曼滤波处理的是非线性系统,假设系统的状态转移函数和(或)观测函数为非线性函数。

3 扩展卡尔曼滤波的公式推导

3.1 预测步的两个公式

当状态转移函数为线性函数时,扩展卡尔曼滤波的预测步与标准卡尔曼滤波相同;当状态转移函数为非线性函数时,扩展卡尔曼滤波的预测步采用下面的推导过程。

根据假设一, k − 1 k-1 k1 时刻状态量 X k − 1 X_{k-1} Xk1 服从均值为 μ k − 1 + \mu_{k-1}^+ μk1+,方差为 σ k − 1 + 2 {\sigma_{k-1}^+}^2 σk1+2 的正态分布:
X k − 1 ∼ N ( μ k − 1 + ,   σ k − 1 + 2 ) X_{k-1} \sim \mathcal{N}(\mu_{k-1}^+, \ {\sigma_{k-1}^+}^2) Xk1N(μk1+, σk1+2)

X k − 1 X_{k-1} Xk1 的后验概率密度函数为:
f X k − 1 + = 1 σ k − 1 + 2 π e − ( x − μ k − 1 + ) 2 2 σ k − 1 + 2 f_{X_{k-1}}^+=\frac{1}{\sigma_{k-1}^+\sqrt{2\pi}}e^{-\frac{(x-\mu_{k-1}^+)^2}{2{\sigma_{k-1}^+}^2}} fXk1+=σk1+2π 1e2σk1+2(xμk1+)2

对状态转移函数 f ( x ) f(x) f(x) X k − 1 X_{k-1} Xk1 的后验估计处 x ^ k − 1 + \hat{x}_{k-1}^+ x^k1+(即 μ k − 1 + \mu_{k-1}^+ μk1+)进行一阶泰勒级数展开
f ( X k − 1 ) = f ( x ^ k − 1 + ) + f ′ ( x ^ k − 1 + ) ( X k − 1 − x ^ k − 1 + ) + o ( X k − 1 − x ^ k − 1 + ) f(X_{k-1})=f(\hat{x}_{k-1}^+)+f'(\hat{x}_{k-1}^+)(X_{k-1}-\hat{x}_{k-1}^+)+o(X_{k-1}-\hat{x}_{k-1}^+) f(Xk1)=f(x^k1+)+f(x^k1+)(Xk1x^k1+)+o(Xk1x^k1+)

其中, o ( X k − 1 − x ^ k − 1 + ) o(X_{k-1}-\hat{x}_{k-1}^+) o(Xk1x^k1+) 为高阶无穷小量,对其进行舍弃,便可得到状态转移函数 f ( x ) f(x) f(x) 的近似形式:
f ( X k − 1 ) ≈ f ( x ^ k − 1 + ) + f ′ ( x ^ k − 1 + ) ( X k − 1 − x ^ k − 1 + ) ≈ f ′ ( x ^ k − 1 + ) ( X k − 1 ) + [ f ( x ^ k − 1 + ) − f ′ ( x ^ k − 1 + ) x ^ k − 1 + ] \begin{aligned} f(X_{k-1}) & \approx f(\hat{x}_{k-1}^+)+f'(\hat{x}_{k-1}^+)(X_{k-1}-\hat{x}_{k-1}^+) \\ & \approx f'(\hat{x}_{k-1}^+)(X_{k-1})+[f(\hat{x}_{k-1}^+)-f'(\hat{x}_{k-1}^+)\hat{x}_{k-1}^+] \end{aligned} f(Xk1)f(x^k1+)+f(x^k1+)(Xk1x^k1+)f(x^k1+)(Xk1)+[f(x^k1+)f(x^k1+)x^k1+]

F j = f ′ ( x ^ k − 1 + ) , C F = f ( x ^ k − 1 + ) − f ′ ( x ^ k − 1 + ) x ^ k − 1 + F_j=f'(\hat{x}_{k-1}^+), \quad C_F=f(\hat{x}_{k-1}^+)-f'(\hat{x}_{k-1}^+)\hat{x}_{k-1}^+ Fj=f(x^k1+),CF=f(x^k1+)f(x^k1+)x^k1+,则近似有:
f ( X k − 1 ) ≈ F j ∗ X k − 1 + C F f(X_{k-1}) \approx F_j*X_{k-1}+C_F f(Xk1)FjXk1+CF

结合假设三与上式, k k k 时刻状态量 X k X_k Xk 的先验概率密度函数为:
f X k − ( x ) = ∫ − ∞ + ∞ f Q k [ x − f ( v ) ] f X k − 1 + ( v ) d v = ∫ − ∞ + ∞ 1 σ Q k 2 π e − ( x − F j ∗ v − C F ) 2 2 σ Q k 2 ∗ 1 σ k − 1 + 2 π e − ( x − μ k − 1 + ) 2 2 σ k − 1 + 2 d v \begin{aligned} f_{X_k}^-(x) & = \int_{-\infty}^{+\infty}f_{Q_k}[x-f(v)]f_{X_{k-1}}^+(v)\mathrm{d}v \\ & = \int_{-\infty}^{+\infty}\frac{1}{\sigma_{Q_k}\sqrt{2\pi}}e^{-\frac{(x-F_j*v-C_F)^2}{2{\sigma_{Q_k}}^2}}*\frac{1}{\sigma_{k-1}^+\sqrt{2\pi}}e^{-\frac{(x-\mu_{k-1}^+)^2}{2{\sigma_{k-1}^+}^2}}\mathrm{d}v \end{aligned} fXk(x)=+fQk[xf(v)]fXk1+(v)dv=+σQk

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值