FPGA Implementation of Tri-matrix Multiplication Accelerator using Circulant Matrices for Kalman Filters
Mohan Pudi, Pathipati Srihari, Bethi Pardhasaradhi
Abstract
The Kalman filter (KF) algorithm’s low-power and low-area implementations are essential for both civilian and military applications. In KF, the tri-matrix multiplication (PGP and PGP <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">T</sup> ) consumes more cycles and transposition buffer hardware. Hence there is a strong need to develop an accelerator module to compute the tri-matrix multiplication without the transposition buffer module and in fewer cycles. This work presents an algorithm for direct or transposed tri-matrix multiplication without timing penalty and extra transposition buffer hardware unit. For an N-dimensional matrix multiplication (PG), the data is stored in circulant matrix form with N BRAMs for ease of write/read, and the resultant is stored in circulant form to enable the chained operation. The complexity of intermediate output (PG) and tri-matrix multiplication (PGP) complexity are $\mathcal{O}\left( {{N^2}} \right){\text{ and }}\mathcal{O}\left( {2{N^2}} \right)$ respectively. The KF algorithm with different state vectors is considered, and the tri-matrix multiplications are accelerated on NEXYS 4 DDR Artix-7 FPGA. The critical operating frequency for 2-D constant velocity (CV) and constant acceleration (CA) models operating with 200 MHz and 151 Mz, respectively. In contrast, the 3-D CV and CA models operate with 151 MHz and 115 MHz, respectively.