卡尔曼滤波算法
C语言 代码编写
如下所示

#include <math.h>
#include <stdio.h>/*R值固定,Q值越大,代表越信任测量值,Q值无穷大,代表只用测量值。Q值越小,代表越信任模型预测值,Q值为0,代表只用模型预测值。
*/double kalman_Filter(double Sensor_Value);
typedef struct
{//属性double P;      //测量方差double Q;     //控制误差 Q:过程噪声,Q增大,动态响应变快,收敛稳定性变坏double R;      //响应速度 R:测量噪声,R增大,动态响应变慢,收敛稳定性变好double Kg;     //卡尔曼增益double KF_Data;//方法double (*Filter)(double Sensor_Value);}kalman_t;kalman_t kalman = {.P    = 10,  //测量方差.Q        = 0.001,//控制误差.R   = 0.001,//响应速度.Kg  = 0,   //卡尔曼增益.Filter = kalman_Filter,
};double kalman_Filter(double Sensor_Value)
{kalman.P        = kalman.P + kalman.Q;                  //噪声转移协方差矩阵kalman.Kg      = kalman.P / ( kalman.P + kalman.R ); //计算卡尔曼增益kalman.KF_Data = kalman.KF_Data + ( kalman.Kg * ( Sensor_Value - kalman.KF_Data) ); //计算本次滤波估计值kalman.P      = ( 1 - kalman.Kg ) * kalman.P; //更新测量方差return kalman.KF_Data;
}int main(void)
{int i = 2;while(i--){printf("kalman.data = %0.2f\n",kalman_Filter(240.0));printf("kalman.data = %0.2f\n",kalman_Filter(240.0));printf("kalman.data = %0.2f\n",kalman_Filter(240.0));printf("----------------------------------------------\n");printf("kalman.data = %0.2f\n",kalman_Filter(250.0));printf("kalman.data = %0.2f\n",kalman_Filter(250.0));printf("kalman.data = %0.2f\n",kalman_Filter(250.0));printf("--------------------end-----------------------\n");}return 0;
}

还有很多需要完善,以后学到了继续更新

卡尔曼滤波 c语言 模板相关推荐

  1. PhpStorm 超强语言模板的支持

    PhpStorm 超强语言模板的支持 原文:[转]PhpStorm 超强语言模板的支持 最近遇到一些PhpStorm编程的问题: 在使用Zen Coding插件时,PHPStorm不像Notepad+ ...

  2. 【飞控理论】从零开始学习Kalman Filters之四:卡尔曼滤波C语言代码实现

    文章目录 前言 学习目录 1.卡尔曼线性滤波的五条黄金公式 2.陀螺仪的原始数据 3.C语言源码分析 附录 1.矩阵乘法 2.协方差矩阵 3.单位矩阵 前言   前面的文章系统介绍了卡尔曼滤波算法的数 ...

  3. Django的语言模板

    Django语言模板 一.变量(variables) 二.标签 (tags) 三.过滤器(filters) 四.模板文件的放置路径 a.项目模板 b.应用模板 五.模板的继承 六.模板文件中加载静态文 ...

  4. C语言 模板化<template>编程萌芽

    缘起 实际大型项目中的源码结构,其设计优雅.精密.阅读这样的代码,给我的感觉,就像在读一部长诗,虽然篇幅宏大,但却又不显得冗余.枯燥.不由得也想亲自尝试写一首小诗.于是就选择梳理一下最近比较感兴趣的一 ...

  5. vivado根据语言模板定义一般IO的管脚约束文件xdc

    右栏flow navigator点击language templates 在xdc下查找模板,管脚定义为IO Pin Assignment,把preview里的语句粘贴进xdc文件,修改<pin ...

  6. 卡尔曼滤波C语言实现(矩阵版)

    卡尔曼滤波算法及其C语言实现(矩阵操作版本) 卡尔曼滤波算法 随机数的产生 均匀分布随机数的产生 正态分布的随机数 矩阵的C语言实现 卡尔曼滤波测试 卡尔曼滤波算法 这里就不详细讲解该算法,我觉得比较 ...

  7. python perl 比较生信_科学网—生信人写程序1. Perl语言模板及配置 - 刘永鑫的博文...

    科学网对Markdown排版支持较差,对格式不满意的用户请跳转至 CSDN 或微信阅读: 如果感觉文章对您有帮助,想继续阅读同类文章,请扫描下方二维码关注"生信宝典"公众号,每天接 ...

  8. 卡尔曼滤波--C语言实现

    以下是一段用C语言实现的卡尔曼滤波算法,供有需要的小伙伴参考 #include "stdio.h" #include "stdlib.h" #include & ...

  9. 树状数组c语言模板,【树状数组】Cows (POJ2481) PASCAL 解题报告

    [树状数组]Cows (POJ2481) Time Limit:1000MS Memory Limit:65536K Total Submit:16 Accepted:8 Description [问 ...

最新文章

  1. [NOIP2015]子串
  2. leetcode中求subset、全排列等问题的回溯算法总结
  3. 【控制】盖尔圆盘定理
  4. 需求评审五个维度框架分析及其带来的启示-3-典型需求评审
  5. 微信小程序【腾讯云开发】创建并上线小程序项目(涉及-数据库操作)
  6. Introduction-to-React-JS
  7. php未定义要怎样做,php-Behat-未定义的功能步骤
  8. 优酷的多页画在同一窗口打开效果。
  9. Jquery垂直下拉二级菜单
  10. 【Python五篇慢慢弹】快速上手学python
  11. matlab模拟排队论,排队论的matlab仿真(包括仿真代码)
  12. PCS7串级PID如何连线控制汽包水位三冲量
  13. windows下Docker的下载与安装
  14. ssd1306 oled 行扫描方式
  15. 精品餐饮业奢华西餐专业PPT模板
  16. PD充电器诱骗取电方案详解5V9V12V15V20V
  17. 数字网络监控和传统模拟监控的区别
  18. 基于Oracle的SQL优化--学习(九)
  19. 阿里巴巴Java岗位从P5-P7的成长笔记【总共3283页PDF文档】
  20. 主成分回归的r语言代码

热门文章

  1. 论文参考文献格式——转载于知乎
  2. 时不时重新阅读用于自省的文章或者书籍
  3. 使用T-SQL语句操作数据表-查询数据
  4. Mybatis-Plus中getOne方法获取最新一条数据
  5. 平面直角坐标系中的旋转公式_“柳暗花明又一村” ,数形完美结合,数学中的大哲学 学霸数学体验课数与形的完美结合平面直角坐标系回顾...
  6. BST(二叉搜索树)
  7. MIPS实现简单冒泡排序
  8. 最新H5时尚品牌眼镜服饰装饰品网站源码+响应式
  9. 谈谈module.exports和exports
  10. IP计算方法!【杨栋胜】