论文部分内容阅读
粒子滤波是一种基于贝叶斯估计理论和蒙特卡罗方法的滤波算法,其基本思想是利用一组状态空间中的随机样本,来近似后验概率密度函数,最后根据蒙特卡罗方法对状态值进行估计。对于非线性,非高斯系统有着高度的适应性,且精度其逼近最优估计,成为当前最热门的滤波算法之一。本文首先对粒子滤波算法的研究现状和背景意义进行了介绍,然后从贝叶斯估计和蒙特卡罗方法入手,对序贯重要性采样算法做了详细的分析,并就粒子退化问题对重要性函数和重采样进行了介绍,在此基础上引出了基本的粒子滤波算法。由于粒子滤波算法需要大量的粒子参与运算,因此决定了其存在计算量大,复杂度高,实时性差的缺点,限制了粒子滤波在实时系统中的应用。因此本文基于重采样对粒子滤波算法进行改进和简化,介绍了常见的多项式重采样、系统重采样和残差重采样,并对其硬件实现的复杂度和运算速度进行了分析。为了进一步提高粒子滤波算法的实时性,本文基于部分重采样算法进行改进,提出了一种基于线性组合的重采样算法。改进的重采样算法电路结构相对较为简单,不需要进行权值归一化操作,并非简单地进行对大权值粒子进行复制,而是通过线性组合产生新的粒子代替小权值粒子,有效地避免了粒子多样性的丧失,这种算法在保证滤波精度的基础上,大幅度的降低了运行时间。最后本文以二维纯方位目标跟踪系统为应用场景,给出了改进简化后粒子滤波算法的明确步骤。同时对粒子滤波算法的硬件设计进行了研究,将其硬件结构主要划分为采样模块,权值计算模块,重采样模块和状态估计输出模块。分析了粒子滤波并行执行思路,通过将其分解为多个并行的PE单元,对粒子处理任务进行分解,从而提高算法的实时性。然后分别对各个模块进行Verilog硬件电路描述,并利用ModelSim进行功能仿真,验证了硬件电路的正确性。最后将各个模块进行连接,在FPGA开发板上完成设计验证。