以下是一段用C语言实现的卡尔曼滤波算法,供有需要的小伙伴参考

#include "stdio.h"
#include "stdlib.h"
#include "math.h"
 
#define kal_Q 0.001  /*过程噪声协方差,Q增大,动态响应变快,收敛稳定性变坏*/
#define kal_R 0.36  /*观测噪声协方差,R增大,动态响应变慢,收敛稳定性变好*/
 
/*Measure 原始测量数据
  op_flg  0 仅初始化参数  1 执行卡尔曼滤波
*/
double Kalman(double measure,int op_flg)
{
    double x_mid,kg,p_mid;
    static double x_last = 0,p_last = 0;
    double x_now,p_now;
 
    if(op_flg)         /*非初始化*/
    {
        x_mid = x_last;
        p_mid = p_last + kal_Q;
        kg = p_mid / (p_mid + kal_R);
        x_now = x_mid + kg * (measure - x_mid);
        p_now = (1 - kg)*p_mid;
 
        p_last = p_now;
        x_last = x_now;
    }
    else
    {
        x_

卡尔曼滤波--C语言实现相关推荐

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

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

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

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

  3. 卡尔曼滤波 c语言 模板

    卡尔曼滤波算法 C语言 代码编写 如下所示 #include <math.h> #include <stdio.h>/*R值固定,Q值越大,代表越信任测量值,Q值无穷大,代表只 ...

  4. 卡尔曼滤波 C语言实现

    kalmen_filte.h #ifndef _KALMAN_FILTER_H #define _KALMAN_FILTER_H//1d卡尔曼滤波 typedef struct {float x; / ...

  5. 卡尔曼滤波C语言实现

    卡尔曼5条基本公式,参考https://wenku.baidu.com/view/8523cb6eaf1ffc4ffe47ac24.html #include "stdio.h" ...

  6. 【飞控理论】从零开始学习Kalman Filters之三:非线性状态估算器

    文章目录 前言 学习目录 1.开始之前先需要知道的几个概念 2.非线性状态估算器 2.1.扩展卡尔曼滤波器(EKF) 2.2.无味卡尔曼滤波器(UKF) 2.3.粒子滤波器(PF) 2.4.总表    ...

  7. 【飞控理论】从零开始学习Kalman Filters之二:最优状态估计、最优估计算法和方程

    文章目录 前言 学习目录 1.开始之前先需要知道的几个概念 2.最优状态估计 3.最优估计算法和方程   本文是博主学习笔记,点击这里观看原视频. 前言   在上次的学习中我们学习了卡尔曼滤波器的常见 ...

  8. 【飞控理论】从零开始学习Kalman Filters之一:Kalman Filters的常见用途、什么是状态观测器?

    文章目录 前言 学习目录 1.Kalman Filters的常见用途 1.1.数据源无法直接被测量时卡尔曼滤波器是如何进行估算系统的状态 1.2.数据源在噪音影响下如何使用卡尔曼滤波器来估计系统的状态 ...

  9. 卡尔曼滤波算法c语言stm32,卡尔曼滤波算法及C语言实现_源代码

    a往南向北 2019-01-16 20:39:20  11340  收藏 111 分类专栏: C语言嵌入式 文章标签: 卡尔曼滤波 C代码 卡尔曼滤波理论很容易就可以在MATLAB软件环境下实现,但是 ...

最新文章

  1. OC中的NSArray和NSMutableArray、NSDictionary和NSMutableDictionary用法
  2. 新建eclipse的java项目报错处理
  3. SQL 遍历父子关系表(二叉树)获得所有子节点 所有父节点
  4. 畅谈Perl时间处理函数用法
  5. 将数据从一个表剪切到另一个表中
  6. 三星应用程序照相机(在com.sec.android.app),三星智能相机软件下载-三星智能相机app下载V1.4.0官方版-西西软件下载...
  7. PostgreSQL 8.4.3 Final / 9.0 Alpha 4
  8. C基础——文本格式和二进制格式的区别
  9. 代码检查工具--findBugs
  10. Arcgis中修改属性字段名
  11. python中的opencv读取数字_用python和OpenCV从图像中提取数字
  12. 正则表达式匹配所有以小写字符开头的单词
  13. 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
  14. 机器学习之L1正则化和L2正则化(附源码解析)
  15. 计算机系统软件简介功能,计算机系统简介2
  16. CDI技术第一步 Hello World!
  17. [翻译]Bob大叔:反思极限编程
  18. 贪心算法之prim算法
  19. 逐鹿工具显示服务器错误连接不上怎么解决,win7零碎装置逐鹿工具箱提示“error launching installer”错误怎样办?...
  20. 输入的口令不符合oracle,新手安装Oracle数据库指南

热门文章

  1. PS教程之在线抠图的步骤,如何将一张图抠图到另一张图片
  2. 为什么要学习C++软件调试技术?掌握调试技术都有哪些好处?
  3. MySQL笔记常见函数
  4. mysql设置时间默认值
  5. Android 悬浮框按钮
  6. 南京大学计算机信息安全专业,2020信息安全专业排名【大学】
  7. python函数之可变默认参数
  8. where is flag 番外篇
  9. java数组怎么全部初始化_Java数组初始化,这三种方式有什么区别?
  10. Linux中的休眠函数