基于FPGA的Kalman滤波器实现研究
3 性能对比及分析
为验证本文研究利用FPGA实现Kalman滤波算法的性能,采用二阶Kalman滤波器进行实际性能对比测试。建立数学模型如下:选取状态转移矩阵




对于该滤波器分别利用三种方式实现:采用Matlab在PC机上实现、利用DSP实现和利用FPGA实现。其中,PC机为DELL Dimension4700台式机,安装Matlab 7.0软件;DSP选用双精度浮点型TMS320C6713型号的芯片;FPGA型号为XC2VP30,主频100 MHz,内嵌多达136个硬核乘法器和2 MB硬件RAM。为得到更准确合理的结果,分别截取第1~3次、11~13次、21~23次的计算结果来对比。因为在PC机上利用Matlab实现的Kalman滤波器通过软件设置可以达到很高的计算精度,所以将其得到的结果作为标准值(真值),分别用FPGA实现和DSP实现的结果与其进行对比分析。选取估计均方误差阵Pk+1/k+1的第一个元素来进行对比分析各实现方式的性能,其解算结果对比如表2和表3所示。本文引用地址:https://www.eepw.com.cn/article/190479.htm
由表2可知,利用FPGA实现的滤波结果,其精度与用Matlab实现的精度相差无几,且略高于利用DSP实现的单精度的结果。由表3可知,在解算时间方面,利用FPGA实现方式的快速性远远高于利用其他两种方式。而且,对于阶次越高的Kalman滤波器的实现,传统处理器所需的时间越长,利用FPGA实现方式的时间的优越性越显著。
4 结语
针对Kalman滤波的传统实现方法的不足,本文提出利用具有可并行计算特点的FPGA来实现Kalman滤波的方案,并对FPGA实现Kalman滤波的三种方式进行了研究,确定了利用IP核作为主要计算元件的实现方式。对Kalman滤波实现过程中的关键问题进行了研究和实现。通过对PC机、DSP和FPGA三种实现方式的结果对比,验证了利用FGPA实现的Kalman滤波器具有较高的精度和极高的实时性。
评论