高斯滤波器
1. 简介
本章讲解一系列递归状态估计器,统称高斯滤波器。
高斯滤波器是最早的连续贝叶斯滤波器的计算量可实现版本。
高斯滤波器的思想是所有的置信度都是多元高斯。分布表达式:
p(x)=det(2πΣ)−frac12exp{
−12(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(xt∣ut,xt−1)p(x_t|u_t,x_{t-1})p(xt∣ut,xt−1)是线性函数加高斯噪声(简称线性高斯),即
xt=Atxt−1+Btut+ϵtx_t=A_tx_{t-1}+B_tu_t+\epsilon_txt=Atxt−1+Btut+ϵt,
其中xt,utx_t, u_txt,ut分别是维度为n和m的列向量,At,BtA_t, B_tAt,Bt为系数阵,
ϵt\epsilon_tϵt是零均值高斯分布的随机向量,方差记为RtR_tRt。
后验高斯的均值为Atxt−1+BtutA_tx_{t-1}+B_tu_tAtxt−1+Btut,方差为RtR_tRt。 - 测量概率p(zt∣xt)p(z_t|x_t)p(zt∣xt)是线性高斯,即zt=Ctxt+δtz_t=C_tx_t+\delta_tzt=Ctxt+δt;
其中δt\delta_tδ