粒子滤波详解

合集下载

粒子滤波原理

粒子滤波原理

粒子滤波原理粒子滤波是一种基于蒙特卡洛方法的非线性、非高斯状态估计算法,它在目标跟踪、传感器定位、机器人导航等领域得到了广泛的应用。

粒子滤波的原理是基于贝叶斯滤波理论,通过一组随机粒子来表示系统的状态空间,利用这些粒子对系统状态进行估计和预测。

本文将介绍粒子滤波的基本原理和算法流程。

粒子滤波的基本原理是通过一组随机粒子来逼近系统的后验概率分布,从而实现对系统状态的估计和预测。

在每个时间步,粒子滤波算法通过重采样、预测和更新三个步骤来实现对系统状态的推断。

首先,根据系统的运动模型对当前粒子进行预测,然后根据观测数据对预测结果进行更新,最后通过重采样来调整粒子的权重,以逼近真实的后验分布。

通过不断重复这个过程,粒子的分布将逼近真实的后验分布,从而实现对系统状态的准确估计。

粒子滤波算法的流程可以简单描述为,首先初始化一组随机粒子,根据系统的运动模型对粒子进行预测,然后根据观测数据对预测结果进行更新,最后通过重采样来调整粒子的权重。

重复这个过程直到达到收敛条件,得到系统状态的估计值。

在实际应用中,粒子滤波算法可以通过增加粒子数量来提高估计的准确性,同时也可以通过适当的重采样策略来提高算法的效率。

粒子滤波算法的优点是能够处理非线性和非高斯的系统模型,并且可以灵活地适应不同的观测数据。

同时,粒子滤波算法也具有较好的实时性和适用性,能够在复杂的环境中实现对系统状态的准确估计。

然而,粒子滤波算法也存在着粒子数目难以确定、计算复杂度较高等问题,需要在实际应用中进行合理的优化和改进。

总之,粒子滤波是一种基于蒙特卡洛方法的非线性、非高斯状态估计算法,它通过一组随机粒子来逼近系统的后验概率分布,实现对系统状态的估计和预测。

粒子滤波算法具有较好的适用性和实时性,在目标跟踪、传感器定位、机器人导航等领域得到了广泛的应用。

希望本文的介绍能够帮助读者更好地理解粒子滤波的原理和算法流程,为相关领域的研究和应用提供参考。

定位(粒子滤波)

定位(粒子滤波)

定位(粒⼦滤波)⼀、粒⼦滤波1.1 介绍粒⼦滤波器是⼀种基于蒙特卡罗的近似解法,由于计算机计算能⼒的不断提⾼和易于实现,粒⼦滤波器在机器⼈定位领域得到了⼴泛的应⽤,其优势在于对复杂问题的求解上,⽐如⼀些⾮线性、⾮⾼斯动态系统的状态递推估计或概率推理问题。

粒⼦滤波器的本质是使⽤⼀组有限的加权随机样本(粒⼦)来近似表征任意状态的后验概率密度 bel(x t) 。

1.2 算法粒⼦滤波器的算法流程主要是对粒⼦集X的预测和更新。

该算法的输⼊是粒⼦集X t−1,以及最新的控制u t和测量z t。

算法⾸先构造⼀个暂时的粒⼦集 ¯X,表⽰置信度¯bel(x t)。

这通过系统地处理输⼊粒⼦集Xt−1中的每个粒⼦x[1]t−1完成。

随后它将这些粒⼦转换为粒⼦集X t,⽤于近似后验分布 bel(x t)。

值得注意的是,这⾥ M 代表粒⼦集X t的粒⼦数量,M的要根据实际情况选取合适的值。

w[m]t =p(z t|x[m]t)是测量z t在粒⼦x[m]t下的概率,是粒⼦滤波表征后验概率密度的由来,即通过当前的观测到的数据来预测当前状态的发⽣概率。

还有就是算法的更新部分,采⽤了重采样(有⼀个版本是不进⾏重采样的)。

⼆、定位2.1 初始化假定机器⼈是在⼀个⼆维的世界中,在这个世界中可以被感知到的路标点有4个,分别是L1(20.0,20.0), L2(80.0,80.0), L3(20.0,80.0), L4(80.0,20.0),同时地图的⼤⼩是100X100。

那么⾸先我们在地图上随机⼀个机器⼈的坐标(x,y)和运动⽅向orientation,设定粒⼦集的M为1000,每个粒⼦都初始化⼀个和机器⼈相同数据结构的状态。

N = 1000 #初始粒⼦个数p = [] #粒⼦集world_size = 100.0 #地图尺⼨for i in range(N):x = random.random() * world_sizey = random.random() * world_sizeorientation = random.random() * 2.0 * pip.append([x,y,orientation])接着给机器⼈设定初始噪声参数,分别是前进噪声forward noise,转向噪声turn noise和传感器噪声 sense noise。

粒子滤波算法综述

粒子滤波算法综述

粒子滤波算法综述粒子滤波算法(Particle Filter),又被称为蒙特卡洛滤波算法(Monte Carlo Filter),是一种递归贝叶斯滤波方法,用于估计动态系统中的状态。

相比于传统的滤波算法,如卡尔曼滤波算法,粒子滤波算法更适用于非线性、非高斯的系统模型。

粒子滤波算法的核心思想是通过一组样本(粒子)来表示整个状态空间的分布,并通过递归地重采样和更新这些粒子来逼近真实状态的后验概率分布。

粒子滤波算法最早由Gordon等人在1993年提出,此后得到了广泛的研究和应用。

1.初始化:生成一组初始粒子,每个粒子都是状态空间中的一个假设。

2.重采样:根据先前的粒子权重,进行随机的有放回抽样,生成新的粒子集合。

3.预测:根据系统模型和控制输入,对新生成的粒子进行状态预测。

4.更新:利用观测数据和度量粒子与真实状态之间的相似度的权重函数,对预测的粒子进行权重更新。

5.标准化:对粒子权重进行标准化,以确保它们的总和为16.估计:利用粒子的权重对状态进行估计,可以使用加权平均或最大权重的粒子来表示估计值。

相对于传统的滤波算法,粒子滤波算法具有以下优势:1.粒子滤波算法能够处理非线性、非高斯的系统模型,适用性更广泛。

2.粒子滤波算法不需要假设系统模型的线性性和高斯噪声的假设,可以更准确地估计状态的后验概率分布。

3.粒子滤波算法可以处理任意复杂的系统模型,不受系统的非线性程度的限制。

然而,粒子滤波算法也存在一些缺点,如样本数的选择、计算复杂度较高、粒子退化等问题。

为了解决这些问题,研究者提出了一系列改进的算法,如重要性采样粒子滤波算法(Importance Sampling Particle Filter)、最优重采样粒子滤波算法(Optimal Resampling Particle Filter)等。

总的来说,粒子滤波算法是一种强大的非线性滤波算法,广泛应用于信号处理、机器人导航、智能交通等领域。

随着对算法的深入研究和改进,粒子滤波算法的性能和应用范围将进一步扩展。

粒子滤波,程序

粒子滤波,程序

粒子滤波(Particle Filter ,PF),又称为序贯蒙特卡罗算法,是一种基于蒙特卡罗方法的贝叶斯滤波技术。

粒子滤波的基本原理是寻找一组在状态空间传播的随机粒子(样本)描述系统的状态,通过蒙特卡罗方法处理贝叶斯估计中的积分运算,从而得到系统状态的最小均方差估计。

当粒子数量区域无穷时可以逼近服从任意概率分布的系统状态。

与其他滤波技术相比,粒子滤波不需要对系统状态做任何先验性假设,原则上可以应用于任何能用状态空间模型描述的随机系统。

一、贝叶斯估计贝叶斯定理是贝叶斯估计方法的理论基础。

贝叶斯定理表达如下:(|)()(|)()f y x f x f x y f y =其中,x 为待估计参数,y 为样本观测值信息,即样本信息,f(x)是待估计参数x 的先验分布密度函数,f(x|y)是x 的后验分布密度函数,f(y)和f(y|x)是y 的密度函数。

因此通过上式可以看出,后验信息正比于样本信息与先验信息的乘积。

可以通过样本信息对先验信息进行修正来得到更准确的后验信息。

得到后验分布的密度函数后,就可以此为基础进行参数的点估计、区间轨迹和假设检验。

二、序贯重要性采样方法序贯重要性采样方法的核心思想是利用一系列随机样本的加权和所需的验后概率密度得到状态的估计值。

当样本点的数量无穷多时,蒙特卡罗特性与验后概率密度的函数表达等价,序贯重要性采样滤波器近似于贝叶斯滤波器。

对于如下的非线性系统:(1)[(),()]()[(),()]x k f x k w k z k h x k v k +==式中,f(·)和h(·)是非线性函数,w(k)和v(k)是系统的状态噪声和观测噪声。

设001[,,,]k k x x x x =为从0~k 时刻所有状态向量的集合,112[,,,]k k z z z z =为1~k时刻所有观测向量的集合。

滤波过程中利用01k k x z 和获得最优的x k+1,即1{[()]}[()][()|]()k E f x k f x k p x k z dx k =⎰一般而言,()1|kp x k z ⎡⎤⎣⎦是多变量且非高斯的很难直接采样,可以用与其近似的分布1[()|]k x k z π代替它进行采样,则1111111111[x(k)][()][()|]()[()|][()][()|]()[()|][|()][()][()][()|]()[][()|][x(k)][()][()|]()[]k k k kk kk k k kEf f x k p x k z dx k p x k z f x k x k z dx k x k z p z x k p x k f x k x k z dx k p z x k z w f x k x k z dx k p z πππππ====⎰⎰⎰⎰ 式中1[()|]k x k z π称为重要性函数,而11[|()][()][()][()|]k k p z x k p x k w x k x k z π=称为重要性权值。

粒子滤波

粒子滤波

粒子滤波
粒子滤波是一种基于蒙特卡罗和递推贝叶斯估计的滤波方法。

其基本思想是:首先依据系统状态向量的经验条件分布,在状态空间产生一组随机样本集合,这些样本称为粒子;然后根据观测量不断地调整粒子的权重和位置,通过调整后的粒子的信息,修正最初的经验条件分布,它可以应用于任何动态状态空间模型,在传统维纳滤波,卡尔曼滤波及扩展的卡尔曼滤波不能处理的非线性非高斯问题上,粒子滤波显得尤为重要。

这种方法的核心思想是:用由粒子及其权重组成的离散随机测度近似相关的概率分布,并且根据算法递推更新离散随机测度。

这种滤波算法采用递推方式,易于在计算机上实现,并且,该算法能较好地适应观测信息出现异常突变时的情况。

粒子滤波是一种基于蒙特卡罗和递推贝叶斯估计的滤波方法。

其中用到的一个核心算法是序贯重要性采样算法。

序贯重要性采样算法是一种序列蒙特卡罗方法,它通过蒙特卡罗模拟递推贝叶斯滤波,是序贯蒙特卡罗滤波的基础。

其核心思想是利用一系列随机样本的加权和表示所需的后验概率密度,得到状态的估计值。

自动驾驶中的粒子滤波算法研究及应用

自动驾驶中的粒子滤波算法研究及应用

自动驾驶中的粒子滤波算法研究及应用随着自动驾驶技术的不断发展,粒子滤波算法已成为其中不可或缺的一部分。

本文将从粒子滤波算法的基本原理、研究现状与应用场景等方面,详细论述粒子滤波算法在自动驾驶中的研究及应用。

一、粒子滤波算法基本原理粒子滤波算法(Particle Filter),又称为蒙特卡罗滤波(Monte Carlo Filter)或者贝叶斯滤波(Bayesian Filter),是一种基于贝叶斯滤波理论的非线性滤波算法。

其基本思路是通过采样、重采样、预测和更新四个步骤来逼近目标状态概率分布,从而实现状态估计,是目前精度和效果最好的非线性滤波算法之一。

具体而言,粒子滤波算法的实现步骤为:1. 采样:根据先验概率密度函数,采样出一组粒子(Particle)作为当前状态的估计值。

2. 预测:利用运动模型对当前粒子位置进行预测,并引入高斯噪声,得到下一时刻的状态。

3. 更新:根据观测值对当前状态进行更新,并利用贝叶斯定理进行权重分配。

4. 重采样:根据每个粒子的权重进行重采样,得到新一批粒子群。

通过以上四个步骤的迭代,逐渐缩小状态估计的误差,最终实现对目标状态的估计。

二、粒子滤波算法在自动驾驶中的研究现状随着自动驾驶技术的不断发展,粒子滤波算法在其中的应用也日益广泛。

目前,主要研究方向包括以下几个方面:1. 车辆状态估计:针对车辆定位、速度估计、姿态估计等问题,利用粒子滤波算法进行状态预测与更新。

这些信息对于自动驾驶系统的决策和控制具有重要作用。

2. 静态与动态障碍物检测:利用粒子滤波算法结合激光雷达、摄像头等传感器实现车辆周围环境的感知,对障碍物进行识别和分析,从而为自动驾驶的路径规划和决策提供基础数据。

3. 车辆控制与路径规划:基于粒子滤波算法的定位和环境感知,结合预设的规划路径,最终得出实时的控制指令,实现自动驾驶系统的实时控制。

4. 传感器融合和多模态感知:将不同类型的传感器信息进行融合,以提高感知精度和鲁棒性,并利用粒子滤波算法进行状态估计和控制。

粒子滤波详解

粒子滤波详解

粒⼦滤波详解2.4粒⼦滤波例⼦滤波是以贝叶斯滤波和重要性采样为基本框架的。

因此,想要掌握例⼦滤波,对于上述两个基本内容必须有⼀个初步的了解。

重要性采样呢,其实就是根据对粒⼦的信任程度添加不同的权重,添加权重的规则就是:对于我们信任度⾼的粒⼦,给它们添加的权重就相对⼤⼀些;否则,就加的权重⼩⼀些。

根据权重的分布形式,实际上就是它与⽬标的相似程度。

粒⼦滤波的结构实际上就是加⼀层重要性采样思想在⾥⾯的蒙特卡罗⽅法(Monte Carlo method,即以某时间出现的频率来指代该事件的概率)。

该⽅法的基本思想是⽤⼀组样本(或称粒⼦)来近似表⽰系统的后验概率分布,然后使⽤这⼀近似的表⽰来估计⾮线性系统的状态。

采⽤此思想,在滤波过程中粒⼦滤波可以处理任意形式的概率,⽽不像Kalman滤波只能处理线性⾼斯分布的概率问题。

粒⼦滤波的⼀⼤优势也在于此,因此近年来该算法在许多领域得到成功应⽤。

2.4.1贝叶斯滤波理论贝叶斯滤波泛指⼀类以贝叶斯定理为基础的滤波技术,其根据所获得的观测,对状态后验概率分布、状态先验概率分布、状态估计值以及状态预测值等感兴趣量进⾏递归计算。

假设有⼀个系统,我们知道它的状态⽅程,和测量⽅程如下:=(,(状态⽅程)(2.4.1)=(,(测量⽅程)(2.4.2)其中x为系统状态,y为测量到的数据,f,h是状态转移函数和测量函数,v,n 为过程噪声和测量噪声,噪声都是独⽴同分布的。

由贝叶斯理论可知,状态估计问题(⽬标跟踪、信号滤波)就是根据之前⼀系列的已有数据(测量数据)递推的计算出当前状态的可信度,这个可信度就是概率公式p(),它需要通过预测和更新两个步奏来递推的计算。

预测过程是利⽤系统模型(状态⽅程2.4.2)预测状态的先验概率密度,也就是通过已有的先验知识对未来的状态进⾏猜测,即p( )。

更新过程则利⽤最新的测量值对先验概率密度进⾏修正,得到后验概率密度,也就是对之前的猜测进⾏修正。

处理这些问题之前,假设系统的状态转移服从⼀阶马尔科夫模型,即当前时刻的状态x(k)只与上⼀个时刻的状态x(k-1)有关, k 时刻测量到的数据y(k)只与当前的状态x(k)有关。

粒子滤波原理及应用百度云

粒子滤波原理及应用百度云

粒子滤波原理及应用百度云粒子滤波(Particle Filter)是一种基于贝叶斯滤波原理的非线性滤波方法,采用蒙特卡洛模拟技术,通过一些随机粒子来估计系统状态和状态分布概率密度函数。

粒子滤波在机器人定位、目标跟踪、图像匹配、参数估计等领域得到广泛应用。

一、粒子滤波的原理粒子滤波的核心思想是基于贝叶斯定理估计系统状态。

假设模型为:x_k=f_{k-1}(x_{k-1})+w_{k-1}z_k=h_k(x_k)+v_k其中,x_k是系统的状态,z_k是观测值,w_{k-1}是状态噪声,v_k是观测噪声,f_{k-1}和h_k是系统的状态转移函数和测量函数。

模型中的噪声可以是随机的,且满足高斯分布。

粒子滤波的大致流程如下:1. 初始化:在状态空间中随机产生一些粒子(进行随机采样),每个粒子都代表一个可能的状态。

2. 预测:利用系统的状态转移函数对粒子进行预测状态的更新(进行遍历)。

3. 权重计算:对每个粒子根据当前观测值计算其权重(按照条件方程,计算权值)。

4. 重采样:根据权重对粒子进行重新采样(按照贝叶斯定理选择得分高的粒子)。

5. 估计:利用重新采样的粒子对当前状态和状态分布进行估计(利用得分高的高权重粒子来标定状态)。

以上流程即为粒子滤波的基本原理。

二、粒子滤波的应用1. 机器人定位与导航机器人定位及导航是粒子滤波的主要应用之一,通过控制输入和传感器观测来更新机器人的状态,从而实现定位和导航。

2. 目标跟踪粒子滤波可以在视频图像中跟踪目标。

对于目标的各种运动状态,可以通过利用更多的状态量来描述,从而获得更加准确的跟踪方法。

(例如对目标发射不同的激光来标定位置)3. 图像匹配对于图像匹配问题,利用粒子滤波算法可以在大量的匹配行为中找到最好的匹配。

通过跟踪每个目标的位置和状态变化,对目标的运动轨迹进行估计,从而实现图像匹配。

4. 参数估计粒子滤波还可以用于参数估计问题。

对于一个系统的未知参数,可以利用观测值对其进行估计,通过采样技术可以得到最优的参数估计值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.4粒子滤波
例子滤波是以贝叶斯滤波和重要性采样为基本框架的。

因此,想要掌握例子滤波,对于上述两个基本内容必须有一个初步的了解。

重要性采样呢,其实就是根据对粒子的信任程度添加不同的权重,添加权重的规则就是:对于我们信任度高的粒子,给它们添加的权重就相对大一些;否则,就加的权重小一些。

根据权重的分布形式,实际上就是它与目标的相似程度。

粒子滤波的结构实际上就是加一层重要性采样思想在里面的蒙特卡罗方法(Monte Carlo method,即以某时间出现的频率来指代该事件的概率)。

该方法的基本思想是用一组样本(或称粒子)来近似表示系统的后验概率分布,然后使用这一近似的表示来估计非线性系统的状态。

采用此思想,在滤波过程中粒子滤波可以处理任意形式的概率,而不像Kalman滤波只能处理线性高斯分布的概率问题。

粒子滤波的一大优势也在于此,因此近年来该算法在许多领域得到成功应用。

2.4.1贝叶斯滤波理论
贝叶斯滤波泛指一类以贝叶斯定理为基础的滤波技术,其根据所获得的观测,对状态后验概率分布、状态先验概率分布、状态估计值以及状态预测值等感兴趣量进行递归计算。

假设有一个系统,我们知道它的状态方程,和测量方程如下:
=(,(状态方程)(2.4.1)
=(,(测量方程)(2.4.2)
其中x为系统状态,y为测量到的数据,f,h是状态转移函数和测量函数,v,n 为过程噪声和测量噪声,噪声都是独立同分布的。

由贝叶斯理论可知,状态估计问题(目标跟踪、信号滤波)就是根据之前一系列的已有数据(测量数据)递推的计算出当前状态的可信度,这个可信度就是概率公式p(),它需要通过预测和更新两个步奏来递推的计算。

预测过程是利用系统模型(状态方程2.4.2)预测状态的先验概率密度,也就是通过已有的先验知识对未来的状态进行猜测,即p( )。

更新过程则利用最新的测量值对先验概率密度进行修正,得到后验概率密度,也就是对之前的猜测进行修正。

处理这些问题之前,假设系统的状态转移服从一阶马尔科夫模型,即当前时刻的状态x(k)只与上一个时刻的状态x(k-1)有关, k时刻测量到的数据y(k)只与当前的状态x(k)有关。

预测阶段:为了进行递推,不放假设已知k-1时刻的概率密度函数p(),先不知k时刻的测量数据,预测状态x(k)出现的概率为:p()=。

(2.4.3)
更新阶段:当获取k时刻的观测值后,利用观测值修正先验概率密度p(),得到后验概率密度p(这就是滤波了。

p(
=(2.4.4)
其中归一化常数:
p()=(2.4.5)
2.4.6)
可得:p()=
由测量方程(2-16)可知y(k)只与x(k)有关,p()也称之为似然函数,只和测量噪声n(k)的概率分布有关:
p()=(2.4.7)
2.4.2蒙特卡洛采样
蒙特卡洛方法(Monte Carlo Method)也称统计模拟方法,是20世纪40年代中期由于科学技术的发展和电子计算机的发明而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。

蒙特卡洛方法的基本原理是,事件的概率可以用大量试验中发生的频率来估计,当样本容量足够大时,可以认为该事件发生的频率即为其概率。

因此,可以先对影响其可靠度的随机变量进行大量的随机抽样,然后把这些抽样值一组一组地代入功能函数式,确定结构是否失效,最后从中求得结构的失效概率。

蒙特卡洛方法在金融工程学、宏观经济学、计算物理学(如粒子运输计算、量子热力学计算、空气动力学计算)等领域应用广泛。

假设我们能得到一些服从一个目标概率分布p(x)的样本(,)(每个样本看成一个粒子)。

那么这些粒子作为一部分自变量的某些函数的期望值:E[f(x)]==(2.4.8)
蒙特卡洛采样的思想就是用部分样本的平均值代替积分,求期望:E[f(x)]≈(2.4.9)
在上一节中,贝叶斯后验概率的计算里要用到积分(2.4.5),但这个积分很难直接算出。

为了解决这个积分难的问题,可以用蒙特卡洛采样来代替计算后验概率。

假设能从后验概率中采样到N个样本,那么后验概率的计算可近似表示为:
()=≈p()(2.4.10)
当前状态的期望值:
E[f()] ≈()d=(2.4.11)
通过这些采样的粒子(样本)的状态值直接平均就得到了期望值,也就是滤波后的值,这里的f(x) 就是每个粒子的状态函数。

这就是粒子滤波了,只要从后验概率中采样很多粒子,用它们的状态求平均就得到了滤波结果。

2.4.3贝叶斯重要性采样
在蒙特卡洛采样中,我们从后验概率中采集到了N个样本(粒子),但事实上后验概率不知道啊,怎么从后验概率分布中采样!所以直接应用是行不通的。

无法直接从后验概率分布p()中采样,就从一个已知的可以采样的分布q()里去采样:
那么上节里当前状态的期望值:
E[f()] ≈()d
=q()d
=q()d
=q()d(2.4.12)
其中权值
=(2.4.13)
由因为测量数据的概率
p()=(2.4.14)
(2.4.12)可以进一步写成
E[f()]=(2.4.15)
所以,通过采样N个样本{}~用样本的平均来求它们的期望,(2.4.15)可近似为
E[f()]=(2.4.16)
其中
=(2.4.17)
贝叶斯重要性采样提出了重要性概率密度的概念,从一个已知分布中进行采样得到独立同分布的采样点,取代从后验概率密度中进行采样,从理论上提供了解决采样难的方法。

2.4.4序列重要性采样(SIS)
贝叶斯重要性采样解决了在不知后验概率的前提下,无法从后验概率采样的问题。

但估计后验滤波概率需要利用所有的观测数据,每次新的观测数据到来都得重新计算,每个粒子的权重()也需重新计算,这样会造成计算量过大。

为了解决这一问题,人们提出了序列重要性采样(Sequential Importance Sampling, SIS)。

假设重要性概率密度可以分解为
=(2.4.18)设系统的状态是一个马尔科夫过程,且给定系统状态下各次观测独立,则有=(2.4.19)
=(2.4.20)
此时,通过参考分布q()得到样本集{}以及从q(,)得到样本点,这样就可得到新的样本集{} 粒子权值的递归形式如下
=(2.4.21)
通常,还需要对粒子权值进行归一化处理,即
=(2.4.22)
K时刻,系统状态的估计值可表示为
=(2.4.23)
序列重要性采样算法(SIS)以递推的方式实现了贝叶斯重要性采样,以递归更新的方式实现了对粒子权值的重新计算。

2.4.5SIR算法及粒子退化
在应用SIS 滤波的过程中,存在一个粒子退化的问题。

就是经过几次迭代以后,很多粒子的权重都变得很小,可以忽略了,只有少数粒子的权重比较大。

并且粒子权值的方差随着时间增大,状态空间中的有效粒子数较少。

随着无效采样粒子数目的增加,使得大量的计算浪费在对估计后验滤波概率分布几乎不起作用的粒子上,使得估计性能下降。

克服序列重要性采样算法权值退化现象最直接的方法是增加粒子数,而这会造成计算量的相应增加,影响计算的实时性。

因此,一般采用以下两种途径:(1)选择合适的重要性概率密度函数;(2)在序列重要性采样之后,采用重采样方法。

对于第一种方法:选取重要性概率密度函数的一个标准就是使得粒子权值的方差最小。

Doucet等给出的最优重要性概率密度函数为:
q()= p()
=(2.4.24)
此时,粒子权值为
=(2.4.25)
以作为重要性概率密度函数需要对其直接采样在实际情况中,构造最优重要性概率密度函数的困难程度与直接从后验概率分布中抽取样本的困难程度等同。

因此我们更习惯采用重采样方法。

重采样的思路是:既然那些权重小的不起作用了,那就不要了。

要保持粒子数目不变,得用一些新的粒子来取代它们。

找新粒子最简单的方法就是将权重大的粒子多复制几个出来,并且权重越大的粒子复制的次数越多。

有了重采样,就有了基本的粒子滤波算法。

1993年,Gordon等人最先提出了一种名为Bootstrap的粒子滤波算法。

该算法在每步迭代过程中,根据粒子权值对离散粒子进行重采样,在一定程度上克服了粒子退化的问题。

在运算思想上,该算法与采样-重要性再采样(Sampleing- Importance Resampling, SIR)及其相似,两者仅在采样算法上有细微的差别。

SIR滤波器和SIS滤波器都属于基本粒子滤波器,都是用重要性采样算法,但两者又有区别。

对于SIR滤波器,重采样总是会被执行,在算法中通常两次重要性采样之间需要一次重采样,而SIS滤波器只是在需要时才进行重采样。

相关文档
最新文档