[发明专利]一种基于GPU架构的改进的粒子滤波方法有效
申请号: | 201410241879.9 | 申请日: | 2014-06-03 |
公开(公告)号: | CN104022756A | 公开(公告)日: | 2014-09-03 |
发明(设计)人: | 王俊;张培川;武勇;乔家辉 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H03H17/02 | 分类号: | H03H17/02 |
代理公司: | 西安睿通知识产权代理事务所(特殊普通合伙) 61218 | 代理人: | 惠文轩 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 架构 改进 粒子 滤波 方法 | ||
技术领域
本发明属于粒子滤波技术领域,特别涉及一种基于GPU架构的改进的粒子滤波方法。
背景技术
非线性滤波问题广泛存在于信号处理、数据通信、雷达探测、目标跟踪、卫星导航等诸多领域,这类问题可归纳为存在观测噪声时,非线性系统的状态估计问题。粒子滤波方法是一种较为通用的滤波方法,其采用一系列带有权值的样本点对状态的后验概率分布进行近似,这种方法实质上基于状态搜索进行的。由于在状态逼近的过程中使用了大量的粒子,因此该方法的计算复杂度很高。而且在粒子滤波中存在着两个主要的问题:第一,当粒子采样不准确时,如采样得到的粒子位于实际后验分布的拖尾区域,经过状态搜索后,绝大部分的粒子权值都会趋于0。这会为后验分布的近似带来很大的误差,甚至有可能引起滤波发散。第二,在对状态进行迭代估计的过程中,会出现粒子退化以及粒子贫化的现象,降低了状态估计可用粒子的数量和种类,增大了状态估计误差。
发明内容
本发明的目的在于提出一种基于GPU(图形处理器)架构的改进的粒子滤波方法。本发明,对粒子的重采样进行了改进,提出一种基于二次采样的粒子滤波方法,改善了状态估计的精度。同时,针对粒子滤波方法计算复杂度高的问题,提出了一种基于GPU架构的实现方法,使得运算时间大大降低,提高了算法处理的实时性,可以满足实时处理的需要。
本发明的技术思路是:在标准粒子滤波基础上,通过最大化似然函数引入当前时刻的观测信息,进行二次采样,并使用似然函数计算新粒子的权值,最后通过粒子加权对当前的状态进行估计。并且将计算复杂度高的部分在GPU架构上进行实现,提高了算法的实时性。
为实现上述技术目的,本发明采用如下技术方案予以实现。
一种基于GPU架构的改进的粒子滤波方法包括以下步骤:
S1:利用CPU将粒子个数设定为N,利用CPU设定M个观测时刻,N和M均为大于1的自然数,所述M个观测时刻依次表示为1时刻至M时刻;利用GPU生成N个1时刻初始粒子;设置观测时刻参数k,k=1,2,3,...M;
S2:利用CPU加载每个观测时刻非线性系统的观测向量,CPU将每个观测时刻非线性系统的观测向量传输至GPU显存;当k=1时,执行步骤S3;
S3:在GPU中,根据重要性密度函数对k时刻的每个初始粒子进行重要性采样,得出k时刻的多个重要性采样粒子;
S4:在GPU中,根据非线性系统的观测模型,建立似然函数;然后,通过最大化似然函数,对k时刻的每个重要性采样粒子进行二次采样,产生k时刻的多个最大似然采样粒子;
S5:利用GPU得出k时刻每个最大似然采样粒子的接受概率;
S6:在GPU中,根据k时刻每个最大似然采样粒子,得出k时刻非线性系统的状态向量的估计值;
S7:GPU将k时刻每个最大似然采样粒子的接受概率传输至CPU;在CPU中,根据所述k时刻每个最大似然采样粒子的接受概率,得出k时刻每个最大似然采样粒子的重采样索引;然后,CPU将k时刻每个最大似然采样粒子的重采样索引传输至GPU;在GPU中,根据k时刻每个最大似然采样粒子的重采样索引,对k时刻每个最大似然采样粒子进行重采样,得出k+1时刻的多个初始粒子;令k值自增1,然后返回至步骤S3;
S8:将步骤S3至步骤S7重复执行M次,得出M个观测时刻的非线性系统的状态向量的估计值。
本发明的特点和进一步改进在于:
在步骤S1中,建立非线性系统的状态模型和观测模型,非线性系统的状态模型和观测模型表示如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410241879.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:插接式烟灰缸
- 下一篇:一种小型自走式全日粮饲料混合机械