2.4 粒子滤波算法
粒子滤波技术可以处理非线性、非Gauss系统状态估计问题,它不具有Kalman滤波框架,具有很好的适应性和非常广泛的应用范围。粒子滤波广泛应用于经济学预测、雷达跟踪、定位和故障诊断等领域[134],[149-151]。
2.4.1 最优贝叶斯递推滤波和重要性采样
记X(k)={x(0),x(1),…,x(k)},Z(k)={z(0),z(1),…,z(k)},则状态X(k)的最优估计为
通常p(X(k)|Z(k))非常复杂,不易直接产生符合密度函数p(X(k)|Z(k))的粒子。设q(X(k)|Z(k))是较p(X(k)|Z(k))更容易实现采样的概率分布函数,有
由于
定义,有
应用Monte-Carlo(MC)方法进行近似,以若干独立同分布离散粒子{X(i)(k),i=1,2,…,Ns}~q(X(k)|Z(k))对期望的概率密度进行近似,即
由式(2-179)和式(2-180)有
其中称为重要性权重,称为归一化重要性权重。
同理,有k时刻的状态估计
其中,独立同分布粒子{x(i)(k),i=1,2,…,Ns}~q(x(k)|X(i)(k-1),Z(k)),,。
可以看出,重要性权重不是递推形式的,无法进行在线(实时)估计。为此,引出序贯(递推)重要性采样方法。
2.4.2 序贯重要性采样
序贯重要性采样(Sequential Importance Sampling,SIS)是重要性采样的扩展。由于
同时
因此
即
此外,适用于式(2-182)的也有如上递推形式,证明从略。
SIS更新粒子方法如下:
SIS算法理论上给出状态估计的递推算法,但存在所谓的粒子退化问题。即递推若干步后,大部分粒子的重要性权重将趋于0,从而导致滤波发散。克服粒子退化的一个办法是重采样。
本章采用的重采样方法是系统采样法(Systematic Sampling),具体如下:
根据如下规则生成N个随机数
如果,则直接复制m个粒子为重采样粒子。
2.4.3 PF滤波算法
选取重要性函数
则粒子滤波算法具体如下。
第1步:初始化
第2步:产生预测粒子
式中,ξ(i)(k-1)为随机向量,且与w(k-1)同分布。
第3步:滤波。
1)计算重要性权重
若每次进行重采样,即,则根据式(2-186),有
2)输出
3)根据重采样规则采样N s个粒子
转第2步循环迭代,其中第2步和第3步可交换。