论文部分内容阅读
粒子滤波是上世纪90年代发展起来的一种基于蒙特卡罗方法和递推贝叶斯估计的新滤波方法,在处理非线性、非高斯系统的参数估计和状态滤波方面具有独到的优势。但是其复杂的算法结构、庞大的计算量和缓慢的运算速度限制了其在实时系统中的应用。本文研究的目的是降低粒子滤波算法的复杂度,提高算法运算速度,设计一种运算速度快、性能可靠、占用硬件资源少的粒子滤波器,使其能应用于实时系统中。现场可编程门阵列(Field Programmable Gate Array,FPGA)是一种硬件逻辑器件,可以执行真正意义上的并行运算。Spartan-3系列是Xilinx公司生产的高性价FPGA,该系列根据用户的实际需求,分为具有不同侧重点的FPGA,如Spartan-3E、Spartan-3A等。本文选取Spartan-3A作为粒子滤波硬件实现的目标器件。本文首先介绍粒子滤波的课题背景和国内外的研究现状。然后详细介绍了粒子滤波算法的相关理论及基本原理。接着以二维被动目标跟踪为系统模型,给出了粒子滤波算法的基本流程。通过分析算法的复杂度和并行性,对权值归一化步骤和重采样算法两方面进行了改进,降低了粒子滤波算法的复杂度,提高了运算速度,以被动定位系统中目标跟踪为例进行仿真,验证改进后算法的正确性。基于改进后的粒子滤波算法,利用FPGA开发软件ISE进行算法功能模块的设计,验证了设计的有效性。最后,连接各个模块,生成可下载的流文件,在Spartan-3A开发板上进行算法的验证。本文在FPGA中设计并实现了改进的粒子滤波算法。波形图仿真和FPGA资源使用情况报告表明这种算法器具有速度快、占用资源少的特点,能广泛适用于目标跟踪、图像处理、参数估计等实时系统中。