论文部分内容阅读
随着科技的发展,目标跟踪在军事和民用领域得到越来越广泛的应用。目标跟踪系统的性能与目标的数目、密度及动态特性等因素有关。在复杂背景条件下,传感器的量测与目标状态之间常呈现非线性关系,因此非线性滤波成为该领域的研究难点和热点问题。然而滤波精度较高的非线性滤波算法往往计算量大,算法实时性不高。FPGA拥有强大的并行运算能力,充分利用FPGA的这一特点会大大提高算法的运算速度。针对上述问题,本文重点研究了拟蒙特卡罗-高斯粒子滤波(QMC-GPF)和无迹卡尔曼滤波(UKF)两种非线性滤波算法在FPGA中的实现方法。在对拟蒙特卡罗-高斯粒子滤波的原理及结构进行分析的基础上,提出了该算法的并行处理结构:并行拟蒙特卡罗采样模块和并行高斯粒子滤波模块。在硬件实现过程中选取2作基数来产生Faure序列,将乘法运算、求模运算简化为便于在FPGA中实现的按位异或运算;采用查找表实现指数函数等复杂函数的计算,充分利用了FPGA中大量的Block RAM资源;给出了Cholesky分解矩阵各元素的并行计算结构。并用DSP48E专用模块来实现浮点数乘法和加法运算,提高了算法的精度和速度。以红外图像弱小目标跟踪实验为例,验证了本设计的有效性和实时性。在对无迹卡尔曼滤波的原理及结构进行分析的基础上,提出了该算法的并行处理结构:并行无迹变换模块和并行卡尔曼滤波模块。在硬件实现过程中将分块对角矩阵的Cholesky分解转化为对对角线上各子矩阵的Cholesky分解,降低了进行Cholesky分解的矩阵维数。采用奇异值分解来实现矩阵求逆,并将矩阵分为多个处理2×2子矩阵的并行运算单元同时运算。在计算旋转角度及三角函数时采用了Xilinx公司提供的具有流水线结构的CORDIC IP核,提高了运算精度和速度。以二维平面内静止布置的三个被动传感器跟踪同一平面内的单个运动目标为例,验证了本设计的有效性和实时性。