基于拟蒙特卡罗采样的并行高斯粒子滤波方法技术

技术编号:2941367 阅读:319 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于拟蒙特卡罗采样的并行高斯粒子滤波方法,属于信号处理技术领域,主要解决目前基于蒙特卡罗采样的滤波方法在样本数较少时对非线性动态系统状态估计性能降低的问题。其滤波步骤包括并行拟蒙特卡罗序列产生步骤和并行高斯粒子滤波步骤,即首先采用跳跃拟蒙特卡罗序列产生方法,并行产生后续滤波所需的P条拟蒙特卡罗随机样本序列;然后分别通过P个执行单元,将每条拟蒙特卡罗随机样本序列转换为服从指定高斯分布的拟高斯样本序列;同时对非线性动态系统的状态进行时间更新和状态更新;最后对所有执行单元进行综合处理,完成对非线性动态系统的滤波。本发明专利技术具有滤波性能高和实时性好的优点,可用于信号处理、自动化和人工智能领域。

【技术实现步骤摘要】

本专利技术属于信号处理
,涉及非线性滤波,特别是一种并行高斯粒子滤波方法,用于非线性动态系统的状态估计。
技术介绍
非线性滤波技术广泛应用于信号处理、自动化、计算机视觉和人工智能等许多领域。扩展卡尔曼滤波EKF是非线性滤波的经典方法。但由于这种扩展卡尔曼滤波是把非线性函数用它的二阶泰勒展开式来代替,会产生近似误差,精度较低,在应用上容易造成滤波发散的情况。无迹卡尔曼滤波UKF是非线性滤波的另一种方法,无迹卡尔曼滤波不用线性化方法逼近非线性函数,而是用有限个能完全描述状态的均值和方差的样本点来表示状态的概率密度,通过直接应用状态和量测方程来映射这些样本点,加权求和得到更新的均值和方差。虽然无迹卡尔曼滤波比扩展卡尔曼滤波有更高的精度,但是由于无迹卡尔曼滤波和扩展卡尔曼滤波都是线性卡尔曼滤波的变形或改进形式,因此应用上也受线性卡尔曼滤波的制约,在对非高斯系统进行状态估计时性能会变差。 成熟有效的粒子滤波是英国学者Gordon等人于1993年提出的,其基本思想是用一组带权的随机样本表示状态的后验概率密度。粒子滤波没有卡尔曼的限制,可以处理非线性和非高斯的系统,并且容易实现并行化。粒子滤波自提出以来,广泛应用于信号处理、自动化、计算机视觉和人工智能等领域对非线性非高斯系统进行状态估计,成为研究的热点。该基本粒子滤波方法的不足之处是存在粒子退化,一般采用称为“重采样”的算法对其进行改进,但是这种重采样不仅占用了很多计算机资源并且不易于并行实现。 Jayesh H.Kotecha等人于2003年提出高斯粒子滤波GPF,该高斯粒子滤波方法在高斯滤波的基础上用重要性采样方法计算更新高斯模型的均值和协方差矩阵两个参数。GPF要优于传统的高斯滤波器,较粒子滤波而言,GPF不需要重采样步骤,更容易实现并行化。在系统状态可以用单峰高斯模型描述的情况下,精度不在粒子滤波之下。 由于基本粒子滤波和高斯粒子滤波都是基于蒙特卡罗采样,采样粒子容易在状态空间形成“空隙和簇”,导致算法估计性能下降。虽然通过增加粒子数可以减缓这种现象,但同时增加了算法的复杂度。高斯粒子滤波虽然避免了基本粒子滤波必须的重采样,提高了计算效率,但采用蒙特卡罗采样所带来的估计性能下降问题仍然存在。
技术实现思路
本专利技术的目的在于克服上述已有技术的不足,提出一种基于拟蒙特卡罗QMC采样的并行高斯粒子滤波方法,以在保证估计性能的条件下提高运算速度。 实现本专利技术技术目的的方案,包括以下步骤 并行拟蒙特卡罗序列产生步骤采用跳跃拟蒙特卡罗序列产生方法,并行产生后续滤波所需的P条拟随机样本序列; 并行高斯粒子滤波步骤通过P个执行单元,分别将每条拟随机样本序列转换为服从指定高斯分布的拟高斯样本序列,然后同时对非线性动态系统的状态进行时间更新和状态更新,最后对所有执行单元进行综合处理,完成对非线性动态系统的滤波。 所述的并行产生后续滤波所需的P条拟随机样本序列,包括以下步骤 (1)产生伪随机数x; (2)以x为初始值产生一个长度为P的串行拟蒙特卡罗序列sq,p=1,2,...,P; (3)分别以sq为初始值产生跳跃拟蒙特卡罗序列Q1,以sq为初始值产生跳跃拟蒙特卡罗序列Q2,以sq为初始值产生跳跃拟蒙特卡罗序列QP; (4)将产生的P条拟随机样本序列分别输入到P个执行单元。 所述的将每条拟随机样本序列转换为服从指定高斯分布的拟高斯样本序列,其步骤是首先采用逆采样将所述的拟随机样本序列转换为服从单位高斯分布的拟高斯样本序列;再通过线性变换,把服从单位高斯分布的拟高斯样本序列转换为服从指定均值和协方差矩阵的拟高斯样本序列。 所述的对非线性动态系统的状态进行时间更新和状态更新,其步骤是首先,每个执行单元将所述的服从指定高斯分布的拟高斯样本序列代入非线性动态系统状态方程,得到时间更新后的样本;然后根据观测数据,计算每个样本的权值,分别计算每个执行单元内样本的加权均值、加权协方差矩阵与权值和,得到更新后的状态。 所述的对所有执行单元进行综合处理,其步骤是首先计算所有执行单元中样本的权值和,均值和与协方差矩阵和;然后将均值和与协方差矩阵和除以权值和得到非线性动态系统状态估计结果。 本专利技术具有以下优点 1.由于本专利技术采用了拟蒙特卡罗QMC方法,产生了比蒙特卡罗MC随机样本更均匀的低偏差样本点,因而在使用较少样本点的情况下,提高了高斯粒子滤波的精度。 2.由于本专利技术采用了并行拟蒙特卡罗QMC序列产生方法,保证了各并行单元样本的统计关系,提高了滤波性能的稳定性。 仿真结果表明,在样本数相对较少时,本专利技术可以更均匀的逼近待估计状态的后验概率密度,从而比基本粒子滤波和高斯粒子滤波取得更优的滤波性能;而本专利技术采用并行处理很大的提高了滤波的实时性。 附图说明 图1是本专利技术的整体流程图; 图2是含有目标的模拟红外灰度图像; 图3是模拟红外图像中目标的运动轨迹; 图4是样本数目为50时本专利技术与高斯粒子滤波、粒子滤波仿真误差比较图; 图5是样本数目为100时本专利技术与高斯粒子滤波、粒子滤波仿真误差比较图; 图6是样本数目为400时本专利技术与高斯粒子滤波、粒子滤波仿真误差比较图; 图7是本专利技术执行单元个数与并行加速比的关系图。 具体实施例方式 通过建立非线性系统动态模型来实施本专利技术提出的滤波方法,具体模型如下 状态方程Xt=f(Xt-1)+wt(1) 观测方程Zt=h(Xt)+et(2) 其中,f(·),h(·)为有界的非线性函数,Xt为系统在t时刻的状态,Zt为系统在t时刻的观测值;wt为过程噪声,et为观测噪声。 本专利技术滤波方法所涉及的参数包括 N为采样数目,P=2k为并行单元数目,p=1,2,...,P 为并行单元的序号。 参照图1,本专利技术方法包括并行拟蒙特卡罗序列产生步骤和并行高斯粒子滤波步骤。 一.并行拟蒙特卡罗序列产生步骤 采用跳跃拟蒙特卡罗序列产生方法,并行产生后续滤波所需的P条拟随机样本序列,具体步骤如下 1)产生伪随机数x; 采用线性同余法,产生一个伪随机数为 xt+1=axtmod M,t=0,1,...(3) 其中,a和M分别是乘子和模,t表示时间。 2)以x为初始值产生一个长度为P的串行拟蒙特卡罗序列sq,p=1,2,...,P; 本专利技术产生的串行拟蒙特卡罗序列是Sobol序列,该序列的产生需要一组“直接数”。在本专利技术实施之前,该“直接数”已计算完毕并存入固定寄存器,便于实时调用。该“直接数”的计算包括如下步骤 2a.选择简单多项式 Ps=xd+a1xd-1+...+ad-1x+1,ai∈{0,1}(4) 2b.按照给定初始值迭代产生“直接数”vi 本专利技术中使用的Sobol序列可以通过当前的Sobol数sq与选定的“直接数”v按照式(6)运算,迭代P次后得到串行拟蒙特卡罗序列sq,p=1,2,...,P 其中“直接数”vz的下标z是p的二进制形式的最右端0的位数, 表示按位异或运算。 3)分别以sq为初始值产生跳跃拟蒙特卡罗序列Q1,以sq为初始值产生跳跃拟蒙特卡罗序列Q2,以sq为初始值产生跳跃拟蒙特卡罗序列QP; 本文档来自技高网
...

【技术保护点】
一种基于拟蒙特卡罗采样的并行高斯粒子滤波方法,包括: 并行拟蒙特卡罗序列产生步骤:采用跳跃拟蒙特卡罗序列产生方法,并行产生后续滤波所需的P条拟随机样本序列; 并行高斯粒子滤波步骤:通过P个执行单元,分别将每条拟随机样本序列转换为 服从指定高斯分布的拟高斯样本序列,然后同时对非线性动态系统的状态进行时间更新和状态更新,最后对所有执行单元进行综合处理,完成对非线性动态系统的滤波。

【技术特征摘要】

【专利技术属性】
技术研发人员:姬红兵武斌陈曦
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:87[中国|西安]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1