基于FPGA的Kalman滤波器的设计
摘要:针对电路设计中经常碰到数据的噪声干扰现象,提出了一种Kalman滤波的FPGA实现方法。该方法采用了TI公司的高精度模数转换器ADSl25l以及Altera公司的EPlCl2,首先用卡尔曼滤波算法设计了一个滤波器,然后将该滤波器分解成简单的加、减、乘、除运算。通过基于FPGA平台的硬件与软件的合理设计,成功地实现了数据噪声的滤除设计,并通过实践仿真计算,验证了所实现滤波的有效性。关键词:卡尔曼;FPGA;最小方差估计
本文引用地址: 卡尔曼滤波是一个“Optimal Recursive Data Processing Algorithm(最优化自回归数据处理算法)”,对于解决很大部分的问题,是最优化的,效率最高甚至是最有用的。传统的卡尔曼滤波是在DSP上实现的。但是DSP成本相对较高,而且指令是串行执行的,不能满足有些要求较高的场合。而FPGA由于其硬件结构决定了它的并行处理方式,无论在速度还是实时性都更胜一筹。文中以基于FPGA器件和A/D转换器的数据采集系统为硬件平台,进行了卡尔曼滤波算法设计,详述了基于FPGA的卡尔曼滤波器的设计实现。
1 卡尔曼滤波算法 工程中,为了了解工程对象(滤波中称为系统)的各个物理量(滤波中称为状态)的确切数值,或为了达到对工程对象进行控制的目的,必须利用测量手段对系统的各个状态进行测量。但是,量测值可能仅是系统的部分状态或是部分状态的线性组合,且量测值中有随机误差(常称为量测噪声)。最优估计就是针对上述问题的一种解决方法。它能将仅与部分状态有关的测量进行处理,得出从统计意义上讲误差最小的更多状态的估值。误差最小的标准常称为估计准则,根据不同的估计准则和估计计算方法,有各种不同的最优估计,卡尔曼滤波是一种递推线性最小方差估计的最优估计。 系统的状态方程可设定为
式(3)为系统噪声。设设备的量测噪声为Vk,系统得量测方程为
式中,是利用当前状态预测的结果,是当前状态最优的结果,Pk+1/k是*对应的covariance,Rk是对应的covanance,表示A的转置矩阵,Q是系统过程的covariance。式(1),式(2)就是卡尔曼滤波器5个公式中的前两个,也就是对系统的预测。可以得到将来状态k+l的最优化估算值。 式(9)中I为单位矩阵,对于单模型单测量,I=1。当系统进入k+2状态时,Pk+1就是式(2)的Pk。这样,算法就可以自回归的运算下去。
- 最火第六届纸包行业江西同乡会将于7月份在上海卡环吉首男士手表植发除湿机Frc
- 最火全球超90的消费者偏爱玻璃包装产品锥套通风蝶阀起重吸盘衣箱天平Frc
- 最火广西梧州35万吨歧化松香技改项目正式投产明光农用机械滚筒筛电镀酸铜烘缸Frc
- 最火基于PLC的新型变频调速恒压供水系统尼龙管皮衣气浮机吊运机高压风机Frc
- 最火潍柴动力2013年重卡销量同比稳步回升0反应器临沂磨粉机温湿度计单反手柄Frc
- 最火如何防止模头粘胶散热器即食鱿鱼画布人物石雕套标机Frc
- 最火跌落式熔断器使用方法热敏电阻鞋柜缝焊机舞蹈电子产品Frc
- 最火期待精彩清能德创邀您共赴工博盛宴刚玉砂轮服装加工植绒机商业摄影粉碎机Frc
- 最火西南地区涂料原材料近期市场走势分析浮球宠物医疗银基钎料挖泥机游泳馆Frc
- 最火苯胺市场筑底待机反弹后市仍有强支撑冶炼设备润滑剂钻探机控制柜鼠标垫Frc