粒子滤波理论备课讲稿
- 格式:docx
- 大小:134.87 KB
- 文档页数:15
粒子滤波通俗讲解粒子滤波是一种用于估计系统状态的方法,它基于随机过程的思想,通过将系统状态表示为一组粒子的集合,利用粒子的权重来对系统状态进行估计和更新。
在传统的滤波方法中,通常假设系统的状态和观测是连续的,并且满足一定的数学模型。
然而,在实际应用中,很多系统的状态和观测都是离散的或者具有非线性特性,这就给滤波问题带来了挑战。
粒子滤波的核心思想是通过一组粒子来近似表示系统的状态分布。
每个粒子代表了系统的一个可能状态,并且具有一定的权重。
在滤波过程中,通过对粒子的权重进行更新和重采样,可以逐步逼近真实的状态分布。
具体来说,粒子滤波包括以下几个步骤:1. 初始化:根据系统的先验信息,生成一组初始粒子。
初始粒子的状态可以根据先验分布随机生成,或者通过观测值进行初始化。
2. 预测:根据系统的动力学模型,对每个粒子进行状态预测。
预测的方法可以根据具体的系统模型进行选择,例如使用运动学方程进行预测。
3. 权重更新:根据观测值和粒子的预测状态,计算每个粒子的权重。
权重的计算可以通过比较观测值和预测状态之间的差异来进行,差异越小,权重越大。
4. 重采样:根据粒子的权重,进行重采样操作。
重采样的目的是根据粒子的权重,增加高权重粒子的数量,减少低权重粒子的数量。
重采样方法可以采用多种方式,例如轮盘赌法或者系统化重采样。
5. 状态估计:根据重采样后的粒子,计算系统的状态估计值。
常见的估计方法包括计算粒子的加权平均值或者加权中位数。
通过不断迭代上述步骤,粒子滤波可以逐步逼近真实的系统状态分布。
与传统的滤波方法相比,粒子滤波具有以下优点:1. 粒子滤波可以处理非线性和非高斯的系统模型。
由于粒子滤波是基于粒子的近似表示,因此可以灵活地应对系统模型的复杂性。
2. 粒子滤波可以处理观测缺失和非完全观测的情况。
由于粒子滤波是基于观测值和粒子状态的比较来更新权重,因此可以有效地处理观测值不完全的情况。
3. 粒子滤波可以处理非线性的测量方程。
粒子滤波原理粒子滤波是一种基于蒙特卡洛方法的非线性、非高斯状态估计算法,它在目标跟踪、传感器定位、机器人导航等领域得到了广泛的应用。
粒子滤波的原理是基于贝叶斯滤波理论,通过一组随机粒子来表示系统的状态空间,利用这些粒子对系统状态进行估计和预测。
本文将介绍粒子滤波的基本原理和算法流程。
粒子滤波的基本原理是通过一组随机粒子来逼近系统的后验概率分布,从而实现对系统状态的估计和预测。
在每个时间步,粒子滤波算法通过重采样、预测和更新三个步骤来实现对系统状态的推断。
首先,根据系统的运动模型对当前粒子进行预测,然后根据观测数据对预测结果进行更新,最后通过重采样来调整粒子的权重,以逼近真实的后验分布。
通过不断重复这个过程,粒子的分布将逼近真实的后验分布,从而实现对系统状态的准确估计。
粒子滤波算法的流程可以简单描述为,首先初始化一组随机粒子,根据系统的运动模型对粒子进行预测,然后根据观测数据对预测结果进行更新,最后通过重采样来调整粒子的权重。
重复这个过程直到达到收敛条件,得到系统状态的估计值。
在实际应用中,粒子滤波算法可以通过增加粒子数量来提高估计的准确性,同时也可以通过适当的重采样策略来提高算法的效率。
粒子滤波算法的优点是能够处理非线性和非高斯的系统模型,并且可以灵活地适应不同的观测数据。
同时,粒子滤波算法也具有较好的实时性和适用性,能够在复杂的环境中实现对系统状态的准确估计。
然而,粒子滤波算法也存在着粒子数目难以确定、计算复杂度较高等问题,需要在实际应用中进行合理的优化和改进。
总之,粒子滤波是一种基于蒙特卡洛方法的非线性、非高斯状态估计算法,它通过一组随机粒子来逼近系统的后验概率分布,实现对系统状态的估计和预测。
粒子滤波算法具有较好的适用性和实时性,在目标跟踪、传感器定位、机器人导航等领域得到了广泛的应用。
希望本文的介绍能够帮助读者更好地理解粒子滤波的原理和算法流程,为相关领域的研究和应用提供参考。
定位(粒⼦滤波)⼀、粒⼦滤波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。
粒子滤波原理粒子滤波是一种基于蒙特卡洛方法的非线性、非高斯状态估计算法,它通过在状态空间中随机抽取一组粒子来近似表示目标系统的状态分布,从而实现对系统状态的估计和预测。
粒子滤波在目标跟踪、机器人定位、信号处理等领域有着广泛的应用,本文将介绍粒子滤波的基本原理和算法流程。
粒子滤波的基本原理是基于贝叶斯滤波理论,它通过不断地对系统状态进行采样和更新,来逼近系统的真实状态分布。
在粒子滤波中,我们通过一组随机抽取的粒子来表示系统的状态空间,每个粒子都有一个权重来表示其对系统状态的估计贡献。
通过不断地对粒子进行采样和更新,可以逐步逼近系统的真实状态分布。
粒子滤波的算法流程大致可以分为预测和更新两个步骤。
在预测步骤中,我们根据系统的动力学模型对当前的粒子进行状态预测,得到下一个时刻的状态估计。
在更新步骤中,我们根据系统的观测模型,计算每个粒子的观测概率,并根据观测值对粒子的权重进行调整,从而得到更新后的粒子集合。
通过不断地重复预测和更新步骤,可以逐步逼近系统的真实状态分布。
粒子滤波的优势在于它能够处理非线性、非高斯的系统,并且可以适用于任意维度的状态空间。
同时,由于粒子滤波是一种基于蒙特卡洛方法的近似推断算法,因此它可以灵活地处理各种复杂的状态分布,包括多峰分布和非参数分布等。
然而,粒子滤波也面临着粒子数目的选择和计算复杂度的增加等问题。
由于粒子滤波是一种基于蒙特卡洛方法的近似推断算法,因此粒子的数目会直接影响到滤波的性能。
通常情况下,粒子数目越多,滤波的性能越好,但同时也会增加计算的复杂度。
因此在实际应用中,需要根据系统的复杂度和计算资源的限制来选择合适的粒子数目。
总的来说,粒子滤波是一种非常灵活和强大的状态估计算法,它能够有效地处理各种复杂的非线性、非高斯系统,并且在目标跟踪、机器人定位、信号处理等领域有着广泛的应用前景。
通过不断地改进和优化,相信粒子滤波在未来会有更加广泛的应用和发展。
粒⼦滤波详解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)有关。
粒子滤波算法原理讲解
1 粒子滤波算法
粒子滤波(Particle Filtering)是一类基于概率的滤波算法,又被称为粒子贝叶斯滤波(ParticleBayes),它是随机滤波方法 [1] 的一种。
粒子滤波是一种不确定性估计,它是在最优估计问题的分析中所通常使用的一种策略性的估计技术。
它是开发出来对非线性-非确定系统及系统限制状况(非正则采样率,有着观测值断影问题),试图利用测量值估计参数,得到长期最优估计。
粒子滤波是一种根据先验概率(prior probability),利用状态空间模型,结合实际的观测值,迭代估计最有可能出现的状态和参数的算法。
它使用若干个样本进行代表性抽样,随著时间的推移来模拟系统的隐藏状态变化,以及持续地重新估计系统参数。
粒子滤波算法以一组离散、有限的粒子来模拟状态空间中隐藏状态的概率分布,然后根据随机观测序列来衰减和重新分布各粒子,来调整状态空间中隐藏状态的估计概率分布。
粒子滤波算法是基于 Sampling Importance Resampling (SIR) 的,其基本步骤包括:
(1)采样:首先根据状态模型生成新的粒子,并使用先验概率概率密度函数采样,建立一个粒子集合。
(2)更新:根据观测器的观测值,对粒子的权重进行更新,使其形成新的粒子序列。
(3)重采样:采用频率较高的粒子多次进行采样,成功地模拟可能出现的状态。
(4)计算:最终计算这个粒子集合的状态均值,以得到系统状态的最优估计值。
粒子滤波算法作为适应性滤波算法,非常适用于机器人导航、自动裁判系统、自动会议系统等应用场景,其较传统的Kalman滤波算法具有更高的精度和鲁棒性,并且可以用来估计强噪声环境中的非线性过程,具有很高的应用前景。
粒子滤波原理粒子滤波(Particle Filter)是一种非参数实时滤波方法,用于估计目标的状态。
它适用于非线性和非高斯问题,并被广泛应用于机器人感知、目标跟踪、信号处理等领域。
本文将介绍粒子滤波的基本原理、流程和应用。
1. 基本原理粒子滤波的基本原理是根据贝叶斯定理,通过推断目标状态的后验分布来预测目标状态。
具体来说,粒子滤波将目标状态表示为一组粒子,每个粒子代表一种可能的状态。
粒子的数量越多,则对目标后验分布的估计就越准确。
粒子滤波算法的流程如下:(1)初始化粒子集合,即根据先验信息生成一组随机的粒子,并赋予它们相应的权重;(2)接收观测数据,并对每个粒子进行状态转移和权重更新。
状态转移是根据系统模型进行的,对于机器人定位问题,状态转移可以使用运动学方程描述机器人在环境中的运动;权重更新是根据观测模型计算得到的,对于机器人定位问题,权重可以用激光传感器的测量值和地图进行匹配计算;(3)根据粒子的权重进行重采样,生成新的粒子集合。
重采样的目的是为了减小样本的方差,并确保样本的代表性。
(4)重复步骤(2)、(3),直到目标状态的后验分布收敛,或达到设定的迭代次数。
2. 算法改进粒子滤波算法在实际应用中存在一些问题,例如样本退化和计算复杂度高等。
为了解决这些问题,学者们提出了一系列改进算法,主要包括以下几种:串行粒子滤波(Sequential Monte Carlo, SMC)、粒子群优化算法(Particle Swarm Optimization, PSO)、希尔伯特-黄变换粒子滤波(Hilbert-Huang Transform Particle Filter, HHTPF)和变分粒子群优化算法(Variational Particle Swarm Optimization, VPSO)等。
串行粒子滤波算法是一种常用的改进算法,它将原始粒子集合分为若干个子集,在每个子集上执行滤波过程。
通过这种方式,可以减少不必要的计算,提高算法的效率。
粒子滤波的原理及应用简介粒子滤波(Particle Filter)是一种基于贝叶斯滤波的非线性滤波方法,主要用于状态估计和目标跟踪等领域。
本文将介绍粒子滤波的原理以及在实际应用中的一些案例。
原理粒子滤波的核心思想是通过一组随机采样的粒子来近似表示概率分布函数。
每个粒子都代表了系统的一个可能状态,并且根据观测数据进行更新。
粒子的权重根据观测数据与对应状态的相似度来计算,从而实现对最优状态的估计。
具体步骤如下: 1. 初始化粒子集合:随机生成一组粒子,并赋予初始权重。
2. 预测:使用系统模型根据当前粒子的状态和控制输入进行状态预测。
通过对预测结果加入噪声,增加状态可能性的多样性。
3. 更新权重:根据观测数据,计算每个粒子的权重。
可以使用各种相似性度量方法,如欧氏距离、马氏距离等。
4. 重采样:根据粒子的权重,使用轮盘赌算法从粒子集合中进行有放回的抽样,生成新的粒子集合。
5. 重复步骤2-4,不断迭代更新粒子集合和权重,直至满足终止条件。
应用粒子滤波在机器人、目标跟踪、自动驾驶等领域有着广泛的应用。
下面列举几个具体的应用案例:•机器人定位与导航:粒子滤波可以用于机器人在未知环境中进行定位与导航。
通过融合传感器数据和地图信息,粒子滤波可以实时估计机器人的位置和姿态。
•目标跟踪:粒子滤波可以用于目标跟踪,特别是在目标运动不确定或存在遮挡情况下。
通过对目标的状态进行粒子采样和权重更新,可以实现准确的目标跟踪。
•自动驾驶:粒子滤波可用于自动驾驶中的定位和感知。
通过对车辆状态和周围环境进行估计,粒子滤波可以提供精准的定位和障碍物检测,从而实现高级驾驶辅助功能。
•金融时间序列分析:粒子滤波可以用于金融领域中的时间序列分析。
通过对金融市场的状态进行估计,粒子滤波可以提供对未来市场走势的预测,从而帮助投资者做出决策。
总结粒子滤波是一种非线性滤波方法,通过随机采样的粒子近似表示概率分布函数,实现对系统状态的估计。
粒子滤波通俗讲解粒子滤波(Particle Filter)是一种基于蒙特卡洛方法的非线性滤波算法,常用于目标跟踪、定位和SLAM(同步定位与地图构建)等领域。
它的核心思想是通过一系列粒子(也称为样本或假设)来近似表示系统的后验概率分布,从而实现对系统状态的估计和预测。
粒子滤波的基本原理是利用一组随机生成的粒子来表示系统的潜在状态。
每个粒子都有一个权重,反映了它与真实状态的拟合程度。
粒子滤波通过对粒子的重采样和更新,逐步减小粒子权重的方差,从而逼近真实状态的后验概率分布。
在粒子滤波中,首先需要初始化一组随机粒子,这些粒子在状态空间中均匀或按某种分布进行采样。
然后,根据系统的状态转移方程,将粒子进行预测,得到下一时刻的状态估计。
预测过程中,可以考虑系统的动力学模型和外部扰动等因素。
接下来,需要利用观测数据对粒子进行更新。
观测数据可以是传感器采集到的现实数据,如图像、激光雷达或GPS测量值等。
通过比较观测数据和预测状态之间的差异,可以计算粒子的权重,即粒子与真实状态的拟合程度。
在更新过程中,通常会使用重要性采样(Importance Sampling)来调整粒子的权重。
重要性采样的基本思想是根据观测数据的条件概率分布,对粒子的权重进行重新分配。
权重较高的粒子将被保留,而权重较低的粒子将被淘汰。
为了避免粒子权重的退化(degeneracy),即只有少数粒子具有较高权重,大多数粒子权重趋近于0,需要进行重采样(Resampling)。
重采样过程中,根据粒子的权重对粒子进行有放回或无放回的随机抽样,使得权重较高的粒子被重复选择,而权重较低的粒子被剔除。
通过重采样,粒子滤波可以实现对系统状态的精确估计。
重采样后,可以利用重采样后的粒子集合进行下一时刻的预测和更新,循环迭代直到获得最终的状态估计。
粒子滤波作为一种基于蒙特卡洛方法的非线性滤波算法,具有一定的优势。
与传统的卡尔曼滤波相比,粒子滤波可以处理非线性系统和非高斯噪声,并且不需要对系统进行线性化。
粒子滤波的原理及其应用简介粒子滤波是一种基于随机采样的非参数滤波方法,用于估计系统的状态。
它在机器人感知、目标跟踪和定位等领域得到广泛应用。
本文将介绍粒子滤波的原理,包括重要性采样、粒子权重更新和重采样等关键步骤,并探讨其在目标跟踪和自动驾驶等领域的应用。
粒子滤波原理粒子滤波借助一组随机采样的粒子来表示系统的状态,通过不断迭代和更新粒子的权重,逼近后验概率分布。
其基本原理如下:1.初始化粒子集合:使用先验信息初始化一组随机采样的粒子,每个粒子表示系统的状态。
2.重要性采样:根据观测数据,对粒子集合进行重要性采样,使得粒子的权重与其对应的状态与观测数据之间的拟合度相符。
3.粒子权重更新:根据观测数据的拟合度,更新粒子的权重。
拟合度越高的粒子,其权重越大。
4.重采样:根据粒子的权重,对粒子进行重采样,将权重较大的粒子复制多次,权重较小的粒子剔除,从而使具有较高权重的粒子更容易在下一轮迭代中被选中。
5.迭代更新:重复进行重要性采样、粒子权重更新和重采样等步骤,逼近系统的后验概率分布。
粒子滤波的应用目标跟踪粒子滤波在目标跟踪中广泛应用。
通过初始化一组随机采样的粒子,在每一帧图像中更新粒子权重,并进行重采样,可以实现对目标位置的跟踪。
由于粒子滤波可以处理非线性的运动模型和观测模型,因此在复杂的目标跟踪场景中具有较好的效果。
自动驾驶粒子滤波也被广泛应用于自动驾驶技术中。
通过融合多个传感器的数据,例如激光雷达、摄像头和惯性测量单元(IMU)等,可以实现对车辆的定位和自主导航。
粒子滤波可以通过对车辆状态的估计,如位置和方向等,来帮助车辆做出准确的导航决策。
机器人感知在机器人感知任务中,粒子滤波也扮演着重要的角色。
通过结合机器人的运动模型和环境感知数据,可以实现对机器人位置的估计。
例如,在室内定位任务中,通过融合Wi-Fi信号和地图信息,可以利用粒子滤波对机器人进行室内定位。
目标识别与分类粒子滤波还可以应用于目标识别与分类任务。
粒子滤波原理
粒子滤波(Particle Filter)是一种基于蒙特卡洛方法的状态估计算法,它能够有效地处理非线性、非高斯的系统,被广泛应用于目标跟踪、机器人定位、信号处理等领域。
本文将从粒子滤波的基本原理、算法流程和应用实例等方面进行介绍。
粒子滤波的基本原理是基于贝叶斯滤波理论,通过不断地更新状态的后验概率分布来实现状态估计。
在每个时刻,粒子滤波将通过一组粒子来近似表示状态的后验概率分布,这些粒子在状态空间中随机抽样,并根据系统的动态模型和观测模型进行重采样和权重更新,从而逼近真实的后验概率分布。
粒子滤波的算法流程可以分为初始化、预测、更新和重采样四个步骤。
首先,需要初始化一组粒子,并赋予初始的权重;然后根据系统的动态模型对粒子进行预测;接着根据观测值对粒子的权重进行更新;最后根据权重对粒子进行重采样,以保证粒子的多样性和代表性。
粒子滤波在实际应用中具有较好的适用性和灵活性,它能够有效地处理非线性、非高斯的系统,并且不需要对系统的动态模型和
观测模型做线性化假设。
因此,粒子滤波被广泛应用于目标跟踪、机器人定位、航迹预测、信号处理等领域。
以目标跟踪为例,粒子滤波可以通过不断地更新目标的状态来实现目标的跟踪,同时能够有效地处理目标运动模型的非线性和观测噪声的非高斯性。
在机器人定位方面,粒子滤波可以通过不断地融合传感器信息来实现机器人的定位,同时能够适应复杂的环境和动态的障碍物。
总之,粒子滤波作为一种基于蒙特卡洛方法的状态估计算法,具有较好的适用性和灵活性,能够有效地处理非线性、非高斯的系统,被广泛应用于目标跟踪、机器人定位、信号处理等领域。
希望本文的介绍能够帮助读者更好地理解粒子滤波的原理和应用。
2粒子滤波理论粒子滤波通过非参数化的蒙特卡洛(Monte Carlo)模拟方法来实现递推贝叶斯滤波,适用于任何能用状态空间模型描述的非线性系统,精度可以逼近最优估计。
粒子滤波器具有简单、易于实现等特点,它为分析非线性动态系统提供了一种有效的解决方法,从而引起目标跟踪、信号处理以及自动控制等领域的广泛关注。
本章首先概述用于求解目标状态后验概率的贝叶斯滤波理论,随后介绍具有普遍适用性的粒子滤波器,最后针对当前粒子滤波器存在的粒子多样性丧失问题,提出了一种量子进化粒子滤波算法。
2.1贝叶斯滤波动态系统的目标跟踪问题可以通过图 2.1所示的状态空间模型来描述。
本节在贝叶斯滤波框架下讨论目标跟踪问题。
在目标跟踪问题中,动态系统的状态空间模型可描述为X k f(X k 1) U k 1(2.1)y k h(X k) V k其中f(), h()分别为状态转移方程与观测方程,x k为系统状态,y k为观测值,u k为过程噪声,V k为观测噪声。
为了描述方便,用X k x°:k {X0,X1,L ,X k}与Y k y1k{%丄,丫讣分别表示0到k 时刻所有的状态与观测值。
在处理目标跟踪问题时,通常假设目标的状态转移过程服从一阶马尔可夫模型,即当前时刻的状态x k只与上一时刻的状态x k-1有关。
另外一个假设为观测值相互独立,即观测值y k只与k时刻的状态x k有关。
贝叶斯滤波为非线性系统的状态估计问题提供了一种基于概率分布形式的解决方案。
贝叶斯滤波将状态估计视为一个概率推理过程,即将目标状态的估计问题转换为利用贝叶斯公式求解后验概率密度p(X k |Y k)或滤波概率密度p(X k |Y k),进而获得目标状态的最优估计。
贝叶斯滤波包含预测和更新两个阶段,预测过程利用系统模型预测状态的先验概率密度,更新过程则利用最新的测量值对先验概率密度进行修正,得到后验概率密度。
其中,p(y k |Y k 1)为归一化常数p(y k |Y k i ) p(Y k |X k )p(X k |Y k i )dX k贝叶斯滤波以递推的形式给出后验 (或滤波)概率密度函数的最优解。
目标状态的最优估 计值可由后验(或滤波)概率密度函数进行计算。
通常根据极大后验(MAP)准则或最小均方误 差(MMSE)准则,将具有极大后验概率密度的状态或条件均值作为系统状态的估计值,即假设已知k 1时刻的概率密度函数为p (x k , |Y k J ,贝叶斯滤波的具体过程如下:(1)预测过程,由 p(X k i |Y k i )得到 p(X k |Y k i ):P (X k ,X k i |Y k i )p(X k |X k i ,Y k i )p(X k i |Y k i )(2.2)当给定X k i 时,状态X k 与Y k i 相互独立,因此P(X k ,X k i |Y k i ) p(X k |X ki )p(X k i |Y k i )(2.3)上式两端对X k i 积分,可得Chapman-Komolgorov 方程p(X k |Y i ) p(X k |X k i ) p(X k ii)dX k i(2.4)⑵ 更新过程,由p(X k |Y k i )得到p (X k |Y k ):获取k 时刻的测量y k 后,利用贝叶斯公式对先验概率密度进行更新,得到后验概率p(X k |Y k )p(y k |X k ,Y k i )p(X k |Y k 1)p(y k |Y k i )(2.5)假设y k 只由X k 决定,即p(y k | X k ,Y k i ) p(y k |X k )(2.6)因此p(X k |Y k )p(y k |xQp (X k |« i )p(y k |Y k i )(2.7)(2.8)x?k MAP= arg min p(x k |Y k )x kx?kMMSE=E[f (x k )|Y k ] f (x k )p(x k |Y k )d x k贝叶斯滤波需要进行积分运算,除了一些特殊的系统模型 (如线性高斯系统,有限状态 的离散系统)之外, 对于一般的非线性、非高斯系统,贝叶斯滤波很难得到后验概率的封闭 解析式。
因此, 现有的非线性滤波器多采用近似的计算方法解决积分问题,以此来获取估计的次优解。
在系统的非线性模型可由在当前状态展开的线性模型有限近似的前提下, 基于一 阶或二阶Taylor 级数展开的扩展 Kalman 滤波得到广泛应用 [119] 。
在一般情况下,逼近概率 密度函数比逼近非线性函数容易实现。
据此, Julier 与 Uhlmann 提出一种 Unscented Kalman 滤波器, 通过选定的 sigma 点来精确估计随机变量经非线性变换后的均值和方差,从而更好的近似状态的概率密度函数, 其理论估计精度优于扩展 Kalman 滤波 [120] 。
获取次优解的另外 一中方案便是基于蒙特卡洛模拟的粒子滤波器。
2.2 粒子滤波早在 20 世纪 50 年代, Hammersley 便采用基于序贯重要性采样 (Sequential importancesampling,SIS )的蒙特卡洛方法解决统计学问题[121]。
20世纪60年代后期,Handschin 与Mayne使用序贯蒙特卡洛方法解决自动控制领域的相关问题 [122] 。
20世纪 70年代, Handschin 、Akashi 以及Zaritskii 等学者的一系列研究工作使得序贯蒙特卡洛方法得到进一步发展[123] [124, 125][126]。
限于当时的计算能力以及算法本身存在的权值退化问题,序贯重要性采样算法没有受 到足够重视,在随后较长一段时间内进展较为缓慢。
直到 20 世纪 80 年代末,计算机处理能 力的巨大进展使得序贯蒙特卡洛方法重新受到关注。
Tanizaki 、Geweke 等采用基于重要性采样的蒙特卡洛方法成功解决了一系列高维积分问题 [127-130]。
Smith 与 Gelfand 提出的采样 -重 采样思想为Bayesian 推理提供了一种易于实现的计算策略 [131]。
随后, Smith 与 Gordon 等人 合作,于20世纪90年代初将重采样(Resampling )步骤引入到粒子滤波中,在一定程度上解 决了序贯重要性采样的权值退化问题,并由此产生了第一个可实现的 SIR (Samplingimportance resampling ) 粒子滤波算法 (Bootstrap 滤波 )[132],从而掀起粒子滤波的研究热潮。
美 国海军集成水下监控系统中的Nodestar 便是粒子滤波应用的一个实例。
进入 21世纪,粒子滤波器成为一个非常活跃的研究领域, Doucet 、 Liu 、 Arulampalam 等对粒子滤波的研究作了精彩的总结 [133-135], IEEE 出版的论文集 “Sequential Monte Carlo Methods in Practice 对粒子”滤 波器进行了详细介绍 [136]。
2.2.1 贝叶斯重要性采样蒙特卡洛模拟是一 种利用随机数求解物理和数学问题的计算方法, 又称为计算机随机模 拟方法。
该方法源于第一次世界大战期间美国研制原子弹的曼哈顿计划,著名数学家冯g 诺伊曼作为该计划的主持人之一, 用驰名世界的赌城, 摩纳哥的蒙特卡洛来命名这种方法 。
蒙 特卡洛模拟方法利用所求状态空间中大量的样本点来近似逼近待估计变量的后验概率分布,如图 2.2 所示, 从而将积分问题转换为有限样本点的求和问题 。
粒子滤波算法的核心思想便 是利用一系列随机样本的加权和表示后验概率密度, 通过求和来近似积分操作。
假设可以从 后验概率密度p (X k〔Y k )中抽取N 个独立同分布的随机样本x k i ),i 1, L ,N ,则有(2.9) (2.10)这里x k为连续变量,(x-xj为单位冲激函数(狄拉克函数),即(x-x k) 0, X x k,且(x)dx 1。
当X k为离散变量时,后验概率分布P(X k | Y k)可近似逼近为其中,(X k x k") 1,X k X化(X k x k") 0, X k x k"。
图2.2 经验概率分布函数Fig. 2.2 Empirical probability distribution function估计可以用求和方式逼近,即蒙特卡洛方法一般可以归纳为以下三个步骤:(1) 构造概率模型。
对于本身具有随机性质的问题,主要工作是正确地描述和模拟这个概率过程。
对于确定性问题,比如计算定积分、求解线性方程组、偏微分方程等问题,采用蒙特卡洛方法求解需要事先构造一个人为的概率过程,将它的某些参量视为问题的解。
(2) 从指定概率分布中采样。
产生服从己知概率分布的随机变量是实现蒙特卡洛方法模拟试验的关键步骤。
⑶建立各种估计量的估计。
一般说来,构造出概率模型并能从中抽样后,便可进行现模拟试验。
随后,就要确定一个随机变量,将其作为待求解问题的解进行估计。
在实际计算中,通常无法直接从后验概率分布中采样,如何得到服从后验概率分布的随机样本是蒙特卡洛方法中基本的问题之一。
重要性采样法引入一个已知的、容易采样的重要性概率密度函数q(X k |Y k),从中生成采样粒子,利用这些随机样本的加权和来逼近后验滤P(XkM) (X k x k i)) (2.11)P(X k |Y k) (X k xk°) (2.12)设xk"为从后验概率密度函数p(Xk |Y k)中获取的采样粒子,则任意函数 f (X k )的期望E[f(X k)|Y k] f(X k)p(X k |Y k)dX kN1i1f(Xk0)(2.13)波概率密度p(XkM),如图2.3所示。
令{xkJwkYi 1,L .N }表示一支撑点集,其中为 是k 时刻第i 个粒子的状态,其相应的权值为w k i },则后验滤波概率密度可以表示为Np(X k |YQ (X k x ())i 1其中,w (i )P (x k"|Y k )W kq^XFlYT图2.3重要性采样Fig. 2.3 Importa nee sampli ng(2.14)便可近似逼近真实的后验概率密度函数。
任意函数f (xQ 的期望估计为E[f(X<)Y k ]=1 N f(x k")学上 土 Nf(x k i))wk i)(2・16)N i 1q(x k J |Y k )N i 12.2.2序贯重要性采样算法在基于重要性采样的蒙特卡洛模拟方法中, 估计后验滤波概率需要利用所有的观测数据,每次新的观测数据来到都需要重新计算整个状态序列的重要性权值 。