0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在单片机上实现卡尔曼滤波详细计算方法和程序概述

GReq_mcu168 来源:未知 2019-08-11 11:23 次阅读


程序十分简洁易懂,而且使用效果不错,分享

#ifndef _KALMAN_H_

#define _KALMAN_H_

externKalmanGain;//卡尔曼增益

externEstimateCovariance;//估计协方差

externMeasureCovariance;//测量协方差

externEstimateValue;//估计值

extern void KalmanFilterInit(void);

extern KalmanFilter( Measure);

#endif

#include "config.h"

#include "math.h"

KalmanGain;//卡尔曼增益

EstimateCovariance;//估计协方差

MeasureCovariance;//测量协方差

EstimateValue;//估计值

void KalmanFilterInit(void);

extern floatKalmanFilter(float Measure);

void KalmanFilterInit(void)

{

EstimateValue=0;

EstimateCovariance=0.1;

MeasureCovariance=0.02;

}

KalmanFilter( Measure)

{

//计算卡尔曼增益

KalmanGain=EstimateCovariance*sqrt(1/(EstimateCovariance*EstimateCovariance+MeasureCovariance*MeasureCovariance));

//计算本次滤波估计值

EstimateValue=EstimateValue+KalmanGain*(Measure-EstimateValue);

//更新估计协方差

EstimateCovariance=sqrt(1-KalmanGain)*EstimateCovariance;

//更新测量方差

MeasureCovariance=sqrt(1-KalmanGain)*MeasureCovariance;

//返回估计值

return EstimateValue;

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43947

    浏览量

    620542
  • 程序
    +关注

    关注

    114

    文章

    3629

    浏览量

    79495
  • 卡尔曼滤波
    +关注

    关注

    3

    文章

    158

    浏览量

    24469

原文标题:在单片机上实现卡尔曼滤波

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    卡尔滤波器介绍

    摘要1960年,卡尔发表了他著名的用递归方法解决离散数据线性滤波问题的论文。从那以后,得益于数字计算技术的进步,
    发表于 07-14 13:06

    卡尔滤波在labview上如何实现

    请问卡尔滤波在labview中如何实现
    发表于 12-11 17:53

    卡尔滤波

    卡尔滤波的估计值能很好的逼近真实值,我的疑惑是,这和滤波有什么关系,请高手介绍下卡尔算法是如
    发表于 07-04 22:57

    跪求大神帮忙写一个C51单片机实现卡尔滤波程序

    因为一个项目要用单片机实现卡尔滤波器,网上只找到C语言写的。。。所以求大神写个C51的代码,谢谢!!
    发表于 11-01 23:12

    教你在单片机上套公式实现卡尔滤波

    ` 本帖最后由 Struggle! 于 2015-5-22 11:02 编辑 逛博客看到的一篇讲解卡尔滤波的文章,发现程序十分简洁易懂,而且使用效果不错,是一个学习的典范,在此分
    发表于 05-22 10:58

    卡尔滤波的原理说明

    的运算下去。卡尔滤波器的原理基本描述了,式子1,2,3,4和5就是他的5 个基本公式。根据这5个公式,可以很容易的实现计算机的
    发表于 09-21 11:41

    LabVIEW一维卡尔滤波算法

    最近正在学习卡尔滤波算法,用LabVIEW仿照C语言写了个一维的卡尔滤波
    发表于 10-21 21:15

    卡尔滤波的原理及如何实现

    卡尔滤波的原理和实现
    发表于 06-01 17:28

    卡尔滤波有哪些应用

    卡尔滤波风力发电机中的风速估计,转速估计甚至扭矩估计都设计到卡尔滤波,如果只是单一传感变量的
    发表于 07-12 06:00

    卡尔滤波器的使用原理

    [开发工具] STM32算法的翅膀之MATLAB基于加速度计与气压计的三阶卡尔滤波计算加速度、速度及高度主要介绍了卡尔
    发表于 08-17 07:02

    卡尔滤波C代码

    a往南向北 2019-01-16 20:39:20 11340 收藏 111分类专栏: C语言嵌入式 文章标签: 卡尔滤波 C代码卡尔
    发表于 08-17 09:10

    卡尔滤波器是什么

    一、前言卡尔滤波器是一种最优线性状态估计方法(等价于“在最小均方误差准则下的最佳线性滤波器”),所谓状态估计就是通过数学
    发表于 11-16 09:10

    卡尔滤波简介

    在这里我就不介绍卡尔的数学推算了,网上的数学推导一抓一大把,如果想了解推导过程的小伙伴可以去大佬的博客。如果你是想直接简单运用卡尔滤波
    发表于 02-28 14:24

    卡尔滤波单片机上的使用资料和程序详细说明

    本文档的主要内容详细介绍的是卡尔滤波单片机上的使用资料和程序详细说明。
    发表于 07-10 17:40 40次下载
    <b class='flag-5'>卡尔</b>曼<b class='flag-5'>滤波</b>在<b class='flag-5'>单片机上</b>的使用资料和<b class='flag-5'>程序</b><b class='flag-5'>详细</b>说明

    浅析卡尔滤波

    在 飞行器姿态计算 中,卡尔滤波是最常用的姿态计算方法之一。今天就以目前的理解讲以下卡尔滤波
    的头像 发表于 06-14 10:44 1563次阅读