论文部分内容阅读
粒子滤波算法作为一种基于蒙特卡罗方法和递推贝叶斯估计的新方法,在处理非线性、非高斯系统的参数估计和状态滤波方面具有独到的优势,自上世纪90年代重采样算法被提出后,该算法得到了迅速的发展。但是因为该算法结构复杂、计算量庞大、运算速度缓慢,限制了其在实时系统中的应用。本文以降低粒子滤波算法的复杂度、提高运算速度为目的,对粒子滤波算法的重采样和权值计算两步进行改进,经研究,设计出一种运算速度快、性能可靠、占用硬件资源少的粒子滤波器,使其能应用于目标跟踪等实时系统中。现场可编程门阵列(FPGA)是在PAL和GAL可编程逻辑器件基础上发展起来的产物,可执行真正意义上的并行运算。本文采用VerilogHDL作为硬件描述语言,在QuartusⅡ开发平台上进行编译仿真,实现粒子滤波算法在FPGA上的硬件逻辑。首先,本文介绍了粒子滤波算法的相关理论及基本原理,以二维被动目标跟踪为系统模型给出了粒子滤波算法的基本流程。其次,改进了权值计算方法,并提出了一种将局部重采样算法和权值优化组合算法相结合的重采样算法。该算法首先将粒子按权值大小分为三类,大权值的粒子被复制并与小权值粒子组合产生新的粒子,中等权值粒子保持不变,小权值的粒子被抛弃,得到一个算法复杂度低、粒子多样性完全不损失的粒子滤波算法。最后,通过分析粒子滤波算法的并行执行方案,以二维被动目标跟踪系统为应用模型,在QuartusⅡ开发平台上设计算法的各个功能模块,并用硬件描述语言对其进行描述后进行了仿真实验,验证算法的有效性。仿真结果和FPGA资源使用情况报告表明:改进后的粒子滤波算法具有速度快、占用资源少的特点,能广泛适用于目标跟踪、图像处理、参数估计等实时系统中。