一种基于gpu架构的改进的粒子滤波方法

文档序号:7545927阅读:303来源:国知局
一种基于gpu架构的改进的粒子滤波方法
【专利摘要】本发明属于粒子滤波【技术领域】,特别涉及一种基于GPU架构的改进的粒子滤波方法。该基于GPU架构的改进的粒子滤波方法包括以下步骤:S1:在CPU端设定粒子个数和观测时刻k;在GPU端初始化粒子;S2:将观测向量传输至GPU显存;当k=1时,执行步骤S3;S3:在GPU端进行重要性采样;S4:在GPU端进行二次采样,得到k时刻的最大似然采样粒子;S5:利用GPU得出k时刻每个最大似然采样粒子的接受概率;S6:在GPU端计算k时刻估计值。S7:在CPU端计算k时刻每个最大似然采样粒子的重采样索引;在GPU端根据重采样索引得出k时刻的重采样粒子,作为下一时刻的初始粒子;S8:将步骤S3至步骤S7重复执行M次,得出M个时刻的估计值。
【专利说明】一种基于GPU架构的改进的粒子滤波方法
【技术领域】
[0001]本发明属于粒子滤波【技术领域】,特别涉及一种基于GPU架构的改进的粒子滤波方法。
【背景技术】
[0002]非线性滤波问题广泛存在于信号处理、数据通信、雷达探测、目标跟踪、卫星导航等诸多领域,这类问题可归纳为存在观测噪声时,非线性系统的状态估计问题。粒子滤波方法是一种较为通用的滤波方法,其采用一系列带有权值的样本点对状态的后验概率分布进行近似,这种方法实质上基于状态搜索进行的。由于在状态逼近的过程中使用了大量的粒子,因此该方法的计算复杂度很高。而且在粒子滤波中存在着两个主要的问题:第一,当粒子采样不准确时,如采样得到的粒子位于实际后验分布的拖尾区域,经过状态搜索后,绝大部分的粒子权值都会趋于O。这会为后验分布的近似带来很大的误差,甚至有可能引起滤波发散。第二,在对状态进行迭代估计的过程中,会出现粒子退化以及粒子贫化的现象,降低了状态估计可用粒子的数量和种类,增大了状态估计误差。

【发明内容】

[0003]本发明的目的在于提出一种基于GPU (图形处理器)架构的改进的粒子滤波方法。本发明,对粒子的重采样进行了改进,提出一种基于二次采样的粒子滤波方法,改善了状态估计的精度。同时,针对粒子滤波方法计算复杂度高的问题,提出了一种基于GPU架构的实现方法,使得运算时间大大降低,提高了算法处理的实时性,可以满足实时处理的需要。
[0004]本发明的技术思路是:在标准粒子滤波基础上,通过最大化似然函数引入当前时刻的观测信息,进行二次采样,并使用似然函数计算新粒子的权值,最后通过粒子加权对当前的状态进行估计。并且将计算复杂度高的部分在GPU架构上进行实现,提高了算法的实时性。
[0005]为实现上述技术目的,本发明采用如下技术方案予以实现。
[0006]一种基于GPU架构的改进的粒子滤波方法包括以下步骤:
[0007]S1:利用CPU将粒子个数设定为N,利用CPU设定M个观测时刻,N和M均为大于I的自然数,所述M个观测时刻依次表示为I时刻至M时刻;利用GPU生成N个I时刻初始粒子;设置观测时刻参数k,k = 1,2,3,...M ;
[0008]S2:利用CPU加载每个观测时刻非线性系统的观测向量,CPU将每个观测时刻非线性系统的观测向量传输至GPU显存;当k = I时,执行步骤S3 ;
[0009]S3:在GPU中,根据重要性密度函数对k时刻的每个初始粒子进行重要性采样,得出k时刻的多个重要性采样粒子;
[0010]S4 =^GPU中,根据非线性系统的观测模型,建立似然函数;然后,通过最大化似然函数,对k时刻的每个重要性采样粒子进行二次采样,产生k时刻的多个最大似然采样粒子;[0011]S5:利用GPU得出k时刻每个最大似然采样粒子的接受概率;
[0012]S6:在GPU中,根据k时刻每个最大似然采样粒子,得出k时刻非线性系统的状态向量的估计值;
[0013]S7:GPU将k时刻每个最大似然采样粒子的接受概率传输至CPU ;在CPU中,根据所述k时刻每个最大似然采样粒子的接受概率,得出k时刻每个最大似然采样粒子的重采样索引;然后,CPU将k时刻每个最大似然采样粒子的重采样索引传输至GPU ;在GPU中,根据k时刻每个最大似然采样粒子的重采样索引,对k时刻每个最大似然采样粒子进行重采样,得出k+Ι时刻的多个初始粒子;$k值自增1,然后返回至步骤S3 ;
[0014]S8:将步骤S3至步骤S7重复执行M次,得出M个观测时刻的非线性系统的状态向量的估计值。
[0015]本发明的特点和进一步改进在于:
[0016]在步骤SI中,建立非线性系统的状态模型和观测模型,非线性系统的状态模型和观测模型表示如下:
【权利要求】
1.一种基于GPU架构的改进的粒子滤波方法,其特征在于,包括以下步骤: 51:利用CPU将粒子个数设定为N,利用CPU设定M个观测时刻,N和M均为大于I的自然数,所述M个观测时刻依次表示为I时刻至M时刻;利用GPU生成N个I时刻初始粒子;设置观测时刻参数k,k = 1,2,3,...M ; 52:利用CPU加载每个观测时刻非线性系统的观测向量,CPU将每个观测时刻非线性系统的观测向量传输至GPU显存;当k = I时,执行步骤S3 ; 53:在GPU中,根据重要性密度函数对k时刻的每个初始粒子进行重要性采样,得出k时刻的多个重要性采样粒子; 54=^GPU中,根据非线性系统的观测模型,建立似然函数;然后,通过最大化似然函数,对k时刻的每个重要性采样粒子进行二次采样,产生k时刻的多个最大似然采样粒子; 55:利用GPU得出k时刻每个最大似然采样粒子的接受概率; 56:在GPU中,根据k时刻每个最大似然采样粒子,得出k时刻非线性系统的状态向量的估计值; 57=GPU将k时刻每个最大似然采样粒子的接受概率传输至CPU ;在CPU中,根据所述k时刻每个最大似然采样粒子的接受概率,得出k时刻每个最大似然采样粒子的重采样索引;然后,CPU将k时刻每个最大似然采样粒子的重采样索引传输至GPU ;在GPU中,根据k时刻每个最大似然采样粒子的重采样索引,对k时刻每个最大似然采样粒子进行重采样,得出k+Ι时刻的多个初 始粒子;$k值自增1,然后返回至步骤S3 ; 58:将步骤S3至步骤S7重复执行M次,得出M个观测时刻的非线性系统的状态向量的估计值。
2.如权利要求1所述的一种基于GPU架构的改进的粒子滤波方法,其特征在于,在步骤SI中,建立非线性系统的状态模型和观测模型,非线性系统的状态模型和观测模型表示如下:
<
yk = h(xk) + vk 其中,xk表示k时刻非线性系统的m维状态向量,yk表示k时刻非线性系统的η维观测向量,m和η均为大于O的自然数;f (.)为描述非线性系统状态模型的非线性函数,h (.)描述非线性系统的观测模型的非线性函数;uk为设定的服从高斯分布的k时刻状态噪声,当m = I时,Uk服从均值为O方差为Q的高斯分布,当m>l时,uk的均值为m维零向量,协方差矩阵为Q ;vk为设定的服从高斯分布的k时刻观测噪声,当n = I时,Vk服从均值为O方差为R的高斯分布,当η>1时,vk的均值为η维零向量,协方差矩阵为R ; 在步骤SI中,根据所述非线性系统的状态模型和观测模型,利用GPU生成I时刻至M时刻的状态噪声;在步骤SI中,I时刻第i个初始粒子值为#,i取I至N。
3.如权利要求2所述的一种基于GPU架构的改进的粒子滤波方法,其特征在于,在步骤S2中,k时刻非线性系统的观测向量为yk ; 在步骤S3中,根据所述非线性系统的状态模型,得出初始粒子的状态转移密度函数P (Xk I Xk-:),选取状态转移密度函数为重要性密度函数q (xk I Xk-!, Yk) = P (xk I XkJ,得出k时刻第i个初始粒子的重要性密度函数切X.1,q{x\ I d) = ρ{χ\ I X1k^l);根据k时刻第i个初始粒子的重要性密度函数对k时刻的每个初始粒子进行重要性采样,得出k时刻的多个重要性采样粒子,k时刻的第i个重要性采样粒子值为。
4.如权利要求2所述的一种基于GPU架构的改进的粒子滤波方法,其特征在于,在步骤S3中,得出的k时刻的第i个重要性采样粒子值为.; 在步骤S4中,根据以下公式得出k时刻第i个最大似然采样粒子值;
5.如权利要求2所述的一种基于GPU架构的改进的粒子滤波方法,其特征在于,在步骤S5中,根据所述非线性系统的观测模型,得出似然函数P (yk I xk);确定k时刻第i个最大似然采样粒子的重要性权值,当k = I时,4=1 / M:当k>l时,w^p(^yk I Xk)^^ ;根据k时刻第i个最大似然采样粒子的重要性权值<,得出k时刻第i个最大似然采样粒子的接受概率:,
6.如权利要求5所述的一种基于GPU架构的改进的粒子滤波方法,其特征在于,在步骤SI中,利用GPU生成NXM个在O到I之间均匀分布的随机数,在NXM个在O到I之间均匀分布的随机数中,与k时刻第i个初始粒子对应的随机数表示为<,其中,k取I至M,i取I至N; 在步骤S7中,在GPU端,计算出与k时刻第i个初始粒子对应的过渡取值Λ

7.如权利要求4所述的一种基于GPU架构的改进的粒子滤波方法,其特征在于,在步骤S4之后,在得出k时刻第i个最大似然采样粒子值之后,将步骤S4重复执行K次,在每次重复执行步骤S4之前,将上次执行步骤S4得出的k时刻第i个最大似然采样粒子值赋值给.4|卜I,K为大于O的自然数。
8.如权利要求1所述的一种基于GPU架构的改进的粒子滤波方法,其特征在于,在步骤SI中,利用CPU分配CPU内存空间和GPU显存空间; 在步骤S8之后,利用CPU将已分配的CPU内存空间和GPU显存空间销毁。
【文档编号】H03H17/02GK104022756SQ201410241879
【公开日】2014年9月3日 申请日期:2014年6月3日 优先权日:2014年6月3日
【发明者】王俊, 张培川, 武勇, 乔家辉 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1