一、设计目的
(1) 使kalman滤波程序中数据计算流程模块化,结构清晰。
(2) 使verilog程序可以完成矩阵之间加、减、乘和求逆运算。
(3) 运用求解矩阵舒尔补方法设计Faddeev算法。
二、设计思路及算法原理
运用Faddeev算法搭建出流水线脉动阵列(PSA),该阵列通过高斯消元方式求解出矩阵的舒尔补。
Faddeev算法是将四个输入矩阵A、B、C和D组合成一个新的矩阵M,然后对矩阵进行高斯消元法进行矩阵求解。其中A为非奇异矩阵,设矩阵M为

Faddeev算法是通过对矩阵M进行矩阵行变换,使M变为上三角矩阵,-C变为零矩阵

对M矩阵进行矩阵变换,得到矩阵E,式

(A的Schur)。
只要A、B、C和D矩阵给定,矩阵E就能通过Faddeev算法计算出来。故只要恰当的选择A、B、C和D,就可以实现矩阵加、减、乘和求逆等运算。图1每个式子的左端四个矩阵分别对应于矩阵A、B、C和D,右端表示通过Faddeev算法计算得到的结果。(矩阵I表示单位矩阵)

本文介绍了使用Faddeev算法在FPGA上实现卡尔曼滤波的过程,包括设计目的、算法原理、实现步骤和实验结果。通过Verilog实现了2*2矩阵的Faddeev算法,应用于卡尔曼滤波,实验表明算法计算结果正确,但处理每个数据需要约44微秒,尽管如此,其通用性强。
最低0.47元/天 解锁文章
5042

被折叠的 条评论
为什么被折叠?



