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;

}

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

    关注

    6030

    文章

    44505

    浏览量

    632421
  • 程序
    +关注

    关注

    116

    文章

    3769

    浏览量

    80805
  • 卡尔曼滤波
    +关注

    关注

    3

    文章

    162

    浏览量

    24628

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

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

收藏 人收藏

    评论

    相关推荐

    卡尔滤波器介绍

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

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

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

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

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

    卡尔滤波器原理

    离散卡尔滤波器1960年,卡尔发表了他著名的用递归方法解决离散数据线性
    发表于 07-14 13:03 0次下载

    matlab卡尔滤波程序

    matlab卡尔滤波程序:main 是主函数! 运行即可p184是一个示意图! 另外两个文件是滤波模型
    发表于 02-08 13:02 56次下载

    卡尔滤波程序

    卡尔滤波程序:% kalman filtering load initial_track  s; % y:initial data,s:data with noiseT=
    发表于 02-08 16:29 120次下载

    卡尔滤波器原理简介

    这是关于卡尔滤波的一份相当不错的资料,详细的剖析了卡尔
    发表于 12-15 14:19 60次下载

    卡尔滤波器参数分析与应用方法研究

    介绍卡尔滤波器及其各种衍生方法。首先给出卡尔滤波
    发表于 06-21 17:56 6次下载

    一文看懂mpu6050卡尔滤波程序

    本文开始阐述了卡尔滤波的概念,其次阐述了卡尔滤波的性质与
    发表于 03-09 08:57 7.4w次阅读
    一文看懂mpu6050<b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b><b class='flag-5'>程序</b>

    使用51单片机实现MPU6050的卡尔滤波算法代码免费下载

    本文档的主要内容详细介绍的是使用51单片机实现MPU6050的卡尔滤波算法代码免费下载 。
    发表于 08-20 17:31 59次下载
    使用51<b class='flag-5'>单片机</b><b class='flag-5'>实现</b>MPU6050的<b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>算法代码免费下载

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

    本文档的主要内容详细介绍的是卡尔滤波单片机上的使用资料和程序
    发表于 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><b class='flag-5'>详细</b>说明

    MCS51单片机程序设计时堆栈的计算方法解析

    应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己的特点。本文介绍的是Cx51程序设计时堆栈的计算方法
    发表于 11-14 16:06 3775次阅读

    浅析卡尔滤波

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

    什么是卡尔滤波?卡尔滤波的作用是什么

    滤波是非常理想的,它具有占用内存小的优点(除了前一个状态量外,不需要保留其它历史数据),并且速度很快,很适合应用于实时问题和嵌入式系统。 在Google上找到的大多数关于实现卡尔
    的头像 发表于 08-08 09:39 6870次阅读
    什么是<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><b class='flag-5'>滤波</b>的作用是什么

    卡尔滤波家族

    本文对于扩展卡尔滤波、无迹卡尔滤波仅仅做了一些简要介绍,不再想上次的文章那样做
    的头像 发表于 01-14 14:29 849次阅读
    <b class='flag-5'>卡尔</b><b class='flag-5'>曼</b><b class='flag-5'>滤波</b>家族