• 大小: 2.92M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-24
  • 语言: C/C++
  • 标签: 算法  

资源简介

卡尔曼滤波算法,1.本文档主要讲解卡尔曼滤波的一些算法 , 已将封装好 51 和 STM32 的文件可以直接放到工程代码里面使用。卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。

资源截图

代码片段和文件信息

#include 
#include 
#include 

float x_last=0;    // 表示上一次的最优值
float p_last=0.02; // 表示上一次的 最优协方差
float Q=0.018;     // Q (偏差)为高斯白噪声 不随时间变化
float R=0.542;     // R  (偏差) 为高斯白噪声 不随时间变化
float kg;          // kg 为 kalman filter 用于计算 最优值
float x_mid;       // 当前的预测值  
float x_now;       // 当前的最优值
float p_mid;       // 当前的协方差
float p_now;       // 当前的 最优 协方差 
float sumerror_kalman=0;  // 估计值的 累计 误差 
float sumerror_measure=0; // 测量值的 累计误差

float kalman_filter(int kalman_val)
{
x_mid=x_last;  
p_mid=p_last+Q;
kg=p_mid/(p_mid+R);
x_now=x_mid+kg*(kalman_val-x_mid);
p_now=(1-kg)*p_mid;

sumerror_kalman = sumerror_kalman + fabs(x_mid - x_now);
sumerror_measure = sumerror_measure + fabs(kalman_val - x_now);

p_last = p_now;  //更新covar

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1077  2017-08-02 19:42  卡尔曼滤波\32 版 卡尔曼(一维) 头文件\kalman.c

     文件        966  2017-08-02 19:42  卡尔曼滤波\32 版 卡尔曼(一维) 头文件\kalman.h

     文件       1051  2017-08-02 18:07  卡尔曼滤波\51 版 卡尔曼 (一维) 头文件\kalman.c

     文件       1076  2017-08-02 18:07  卡尔曼滤波\51 版 卡尔曼 (一维) 头文件\kalman.h

     文件        893  2017-08-02 17:13  卡尔曼滤波\公式 5 条 .txt

     文件      17273  2010-06-07 10:25  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\CoreSupport\core_cm3.c

     文件      85714  2011-02-09 14:59  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\CoreSupport\core_cm3.h

     文件      26297  2011-03-14 12:31  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\Release_Notes.html

     文件      15766  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_cl.s

     文件      15503  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s

     文件      15692  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd_vl.s

     文件      12376  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_ld.s

     文件      13656  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_ld_vl.s

     文件      12765  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s

     文件      14073  2011-03-10 10:51  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md_vl.s

     文件      15955  2011-03-10 10:51  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_xl.s

     文件      13072  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_cl.s

     文件      13160  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_hd.s

     文件      12482  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_hd_vl.s

     文件       9814  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_ld.s

     文件      10562  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_ld_vl.s

     文件      10269  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_md.s

     文件      11058  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_md_vl.s

     文件      13261  2011-03-10 10:52  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\gcc_ride7\startup_stm32f10x_xl.s

     文件      16626  2011-03-10 10:53  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\startup_stm32f10x_cl.s

     文件      16229  2011-03-10 10:53  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\startup_stm32f10x_hd.s

     文件      15675  2011-03-10 10:53  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\startup_stm32f10x_hd_vl.s

     文件      12650  2011-03-10 10:53  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\startup_stm32f10x_ld.s

     文件      12950  2011-03-10 10:53  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\startup_stm32f10x_ld_vl.s

     文件      12912  2011-03-10 10:53  卡尔曼滤波\卡尔曼滤波(平衡小车)程序\卡尔曼滤波\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar\startup_stm32f10x_md.s

............此处省略189个文件信息

评论

共有 条评论