高斯滤波器
1. 简介
本章讲解一系列递归状态估计器,统称高斯滤波器。
高斯滤波器是最早的连续贝叶斯滤波器的计算量可实现版本。
高斯滤波器的思想是所有的置信度都是多元高斯。分布表达式:
p ( x ) = det ( 2 π Σ ) − f r a c 12 exp { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } p(x)=\det (2\pi\Sigma)^{-frac{1}{2}}\exp\{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\} p(x)=det(2πΣ)−frac12exp{
−21(x−μ)TΣ−1(x−μ)}
这个分布是由前两阶矩来描述的,即均值$\mu$与方差 Σ \Sigma Σ。
Σ \Sigma Σ是一个二次、对称、半正定矩阵,维度是状态变量维度的平方。
高斯后验的后果是,高斯是单模型(unimodel)的,也就是有单个最大值;
因此只能用来做tracking,而不适用于全局定位之类的问题。
高斯有两种表达:矩表达和权威(canonical)表达,功能相同,但算法计算不同。
2. 卡尔曼滤波器
2.1 线性高斯系统
卡尔曼滤波器可用于线性系统中的滤波和预测,适用于连续状态,不适用于离散空间。
使用矩来表达后验:均值 μ t \mu_t μt和方差 Σ t \Sigma_t Σt。
需要满足三个条件,后验才是高斯分布:
- 状态转移概率 p ( x t ∣ u t , x t − 1 ) p(x_t|u_t,x_{t-1}) p(xt∣ut,xt−1)是线性函数加高斯噪声(简称线性高斯),即
x t = A t x t − 1 + B t u t + ϵ t x_t=A_tx_{t-1}+B_tu_t+\epsilon_t xt=Atxt−1+Btut+ϵt,
其中 x t , u t x_t, u_t xt,ut分别是维度为n和m的列向量, A t , B t A_t, B_t At,Bt为系数阵,
ϵ t \epsilon_t ϵt是零均值高斯分布的随机向量,方差记为 R t R_t Rt。
后验高斯的均值为 A t x t − 1 + B t u t A_tx_{t-1}+B_tu_t Atxt−1+Btut,方差为 R t R_t Rt。 - 测量概率 p ( z t ∣ x t ) p(z_t|x_t) p(zt∣xt)是线性高斯,即 z t = C t x t + δ t z_t=C_tx_t+\delta_t zt=Ctxt+δt;
其中