Acta Scientiarum Naturalium Universitatis Pekinensis ›› 2016, Vol. 52 ›› Issue (5): 803-808.DOI: 10.13209/j.0479-8023.2015.135

Previous Articles     Next Articles

High-Speed Hardware Design of Kalman Filter Based on FPU with Formula Derivation Method

LIU Chao, YAN Wei   

  1. School of Software and Microelectronics, Peking University, Beijing, 100871
  • Received:2015-04-22 Revised:2015-06-04 Online:2016-09-20 Published:2016-09-20
  • Contact: YAN Wei, E-mail: yanwei(at)ss.pku.edu.cn

基于FPU的高速卡尔曼滤波器公式推导法硬件设计

刘超严伟   

  1. 北京大学软件与微电子学院, 北京 100871
  • 通讯作者: 严伟, E-mail: yanwei(at)ss.pku.edu.cn
  • 基金资助:
    江苏省产学研联合创新资金——前瞻性联合研究项目(BY2013018)资助

Abstract:

Based on the traditional hardware implementations of Kalman filter, the authors derive and simplify the filtering formulas according to the filtering model and matrix operations, and then design underlying FPU (float point unit) needed by the filtering formulas according to the “bottom-up” design thinking, to implement the complete Kalman filter system. The Kalman filter designed by this method not only gets rid of dependence on third-party platforms and increase the portability and application areas of filtering system, but the filtering speed improves significantly than traditional matrix operation method. For a constant acceleration filtering model, this paper provides detailed data comparison between formula derivation method and traditional matrix operation method, the Kalman filter designed by this method maintains the accuracy of the previous level and achieves the computing speed 2.1 times, compared with the traditional matrix operation method.

Key words: Kalman filter, target tracking, IEEE754, floating-point operation, real-time

摘要:

基于卡尔曼滤波器的传统硬件实现方式, 根据滤波模型和矩阵运算, 将滤波公式进行推导和化简, 然后利用“自底向上”的设计思路, 设计滤波公式需要的底层FPU (float point unit), 从而实现整个卡尔曼滤波系统。以这种方法设计的卡尔曼滤波器, 不仅摆脱了传统实现方式对于平台的依赖性, 增加了系统的可移植性和应用范围, 并且滤波速度比传统矩阵运算法有明显提升。对于匀加速滤波模型, 给出公式推导法和矩阵运算法的详细数据对比, 采用该方法设计的卡尔曼滤波器, 滤波精度保持原来的水平, 滤波速度提升为传统矩阵运算法的2.1 倍。

关键词: 卡尔曼滤波器, 目标跟踪, IEEE754, 浮点数运算, 实时性

CLC Number: