[发明专利]Kalman滤波器快速实现方法有效
申请号: | 201710612236.4 | 申请日: | 2017-07-25 |
公开(公告)号: | CN107506332B | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 敖永才;杨俊波;谭平;严明;谢黛茜 | 申请(专利权)人: | 四川航天系统工程研究所 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 谭德兵 |
地址: | 610000 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | kalman 滤波器 快速 实现 方法 | ||
本发明公开了一种Kalman滤波器快速实现方法,包括:设计相应的矩阵运算硬件模块;调用各矩阵运算硬件模块,在FPGA内部实现标准卡尔曼滤波算法;通过编写标准卡尔曼滤波IP核的驱动程序,在SOC芯片中的ARM部分直接调用标准卡尔曼滤波IP核,实现包含波形跟踪和位置预测应用的硬件加速,用于降低计算时间。本发明采用并行和流水结合的方式,实现了点积模块,提高系统运行效率;流程模块与运算模块独立分开,简化了系统设计,节约了系统资源;流程模块化,仅与算法的过程相关,与运算无关,方便系统扩展升级。
技术领域
本发明涉及滤波器技术领域,具体涉及一种Kalman滤波器快速实现方法。
背景技术
卡尔曼滤波器是一种由卡尔曼(Kalman)提出的用于时变线性系统的递归滤波器。这个系统可用包含正交状态变量的微分方程模型来描述,这种滤波器是将过去的测量估计误差合并到新的测量误差中来估计将来的误差。
发明内容
本发明克服了现有技术的不足,提供一种节约系统资源、提高运行效率的Kalman滤波器快速实现方法。
考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:
一种Kalman滤波器快速实现方法,包括:
设计相应的矩阵运算硬件模块;
调用各矩阵运算硬件模块,在FPGA内部实现标准卡尔曼滤波算法;
通过编写标准卡尔曼滤波IP核的驱动程序,在SOC芯片中的ARM部分直接调用标准卡尔曼滤波IP核,实现包含波形跟踪和位置预测应用的硬件加速,用于降低计算时间。
为了更好地实现本发明,进一步的技术方案是:
根据本发明的一个实施方案,所述矩阵运算硬件模块包括矩阵运算、浮点运算和点积运算。
根据本发明的另一个实施方案,所述矩阵运算包括:
矩阵加/减法:用于将两个同大小的矩阵对应元素相加/减;
矩阵乘法:用于将两个矩阵相乘;
矩阵求逆:对于n阶矩阵A求逆,先对A进行LU分解,然后对两个矩阵分别求逆,在利用两个逆矩阵的乘积计算矩阵的逆。
根据本发明的另一个实施方案,所述矩阵求逆包括:。
步骤S1,三角分解,得到L和U;
步骤S2,U矩阵求逆;
步骤S3,L矩阵求逆;
步骤S4,两个逆矩阵相乘得到最终得到所求矩阵的逆。
根据本发明的另一个实施方案,所述浮点运算包含浮点加法运算、浮点乘法运算和浮点倒数运算。
根据本发明的另一个实施方案,所述点积运算采用并行加流水的方法来实现。
根据本发明的另一个实施方案,所述FPGA采用Zynq平台,其包含PS和PL两个部分。
根据本发明的另一个实施方案,所述PS部分的工作流程包括:
1)首先初始化PL;
2)将观测向量发送到PL;
3)使能迭代;
4)等待PL迭代结束;
5)读取状态向量的值;
6)重复步骤2)-5)。
本发明还可以是:
根据本发明的另一个实施方案,所述PL部分包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川航天系统工程研究所,未经四川航天系统工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710612236.4/2.html,转载请声明来源钻瓜专利网。