久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6614|回復: 6
收起左側

好不容易找的卡爾曼濾波的代碼,分享給大家

  [復制鏈接]
ID:134712 發表于 2016-7-23 13:09 | 顯示全部樓層 |閱讀模式
卡爾曼濾波算法
0.png
所有代碼下載:
卡爾曼濾波代碼.zip (2.89 KB, 下載次數: 114)
使用方法:
#include "kalman.h"

#include "stdio.h"

#include "stdlib.h"






void main(void)
{


    KalmanCountData k;
    //定義一個卡爾曼運算結構體
    Kalman_Filter_Init(&k);
    //講運算變量初始化
    int m,n;        

       for(int a = 0;a<80;a++)
    //測試80次
    {

        //m,n為1到100的隨機數
        m = 1+ rand() %100;

        n = 1+ rand() %100;

                //卡爾曼濾波,傳遞2個測量值以及運算結構體
   
    Kalman_Filter((float)m,(float)n,&k);

        //打印結果
        printf("%d and %d is %f - %f\r\n",m,n,k.Angle_Final,k.K_0);
   
    }




}

  1. /**
  2.   ******************************************************************************
  3.   * @file    kalman.h
  4.   * @author  willieon
  5.   * @version V0.1
  6.   * @date    January-2015
  7.   * @brief   卡爾曼濾波算法
  8.   *        
  9.   *
  10.   ******************************************************************************
  11.   * @attention
  12.   *本人對卡爾曼的粗略理解:以本次測量角速度(陀螺儀測量值)的積分得出的角度值
  13.   * 與上次最優角度值的方差產生一個權重來衡量本次測量角度(加速度測量值)
  14.   * 與上次最優角度值,從而產生新的最優角度值。好吧,比較拗口,有誤處忘指正。
  15.   *
  16.   ******************************************************************************
  17.   */

  18. #ifndef __KALMAN_H__
  19. #define __KALMAN_H__


  20. #define Q_angle                        0.001                                ////角度過程噪聲的協方差
  21. #define Q_gyro                        0.003                                ////角速度過程噪聲的協方差
  22. #define R_angle                        0.5                                        ////測量噪聲的協方差(即是測量偏差)
  23. #define dt                                0.01                                ////卡爾曼濾波采樣頻率
  24. #define C_0                                1

  25. /**************卡爾曼運算變量定義**********************
  26. *
  27. ***由于卡爾曼為遞推運算,結構體需定義為全局變量
  28. ***在實際運用中只需定義一個KalmanCountData類型的變量即可
  29. ***無需用戶定義多個中間變量,簡化函數的使用
  30. */
  31. typedef struct
  32. {
  33.         float                                Q_bias;                                ////最優估計值的偏差,即估計出來的陀螺儀的漂移量
  34.         float                                Angle_err;                        ////實測角度與陀螺儀積分角度的差值
  35.         float                                PCt_0;                                
  36.         float                                PCt_1;
  37.         float                                E;                                        ////計算的過程量
  38.         float                                K_0;                                ////含有卡爾曼增益的另外一個函數,用于計算最優估計值
  39.         float                                K_1;                                ////含有卡爾曼增益的函數,用于計算最優估計值的偏差
  40.         float                                t_0;                                
  41.         float                                t_1;
  42.         float                                Pdot[4];                         ////Pdot[4] = {0,0,0,0};過程協方差矩陣的微分矩陣
  43.         float                                PP[2][2];                         //// PP[2][2] = { { 1, 0 },{ 0, 1 } };協方差(covariance)
  44.         float                                Angle_Final;                 ////后驗估計最優角度值(即系統處理最終值)
  45.         float                                Gyro_Final;                         ////后驗估計最優角速度值

  46. }KalmanCountData;

  47. void Kalman_Filter(float Accel,        float Gyro ,KalmanCountData * Kalman_Struct);
  48. void Kalman_Filter_Init(KalmanCountData * Kalman_Struct);



  49. #endif
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:235726 發表于 2017-9-26 12:16 | 顯示全部樓層
看看,謝謝樓主
回復

使用道具 舉報

ID:468431 發表于 2019-1-17 15:43 | 顯示全部樓層
謝謝樓主,下載了,先看看羅
回復

使用道具 舉報

ID:383374 發表于 2019-1-21 01:49 來自手機 | 顯示全部樓層
lei787654 發表于 2017-9-26 12:16
**** 作者被禁止或刪除 內容自動屏蔽 ****

很好的東西,以后可能用得上
回復

使用道具 舉報

ID:412814 發表于 2019-1-21 09:03 | 顯示全部樓層
網上入門級的資料很多,哪里能找到稍微深入些的資料呢?
回復

使用道具 舉報

ID:561607 發表于 2021-1-7 14:16 | 顯示全部樓層
共師兄習,共同進步
回復

使用道具 舉報

ID:837062 發表于 2021-4-7 15:33 | 顯示全部樓層
請問為何要調入角速度值?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本国产欧美 | 91啪亚洲精品 | 免费av在线| 日韩精品一区二区三区在线播放 | 中文字幕在线一区 | 欧美一级大片免费观看 | 亚洲一区播放 | 国产精品亚洲二区 | 国产亚洲一区二区三区在线观看 | 青春草91| 自拍偷拍中文字幕 | 成人精品免费视频 | 亚洲久久一区 | 精品一区二区三区免费视频 | 成人二区 | 成人免费网站www网站高清 | 久久久免费毛片 | 欧美性猛片aaaaaaa做受 | 在线观看国产视频 | 91精品国产综合久久久动漫日韩 | 久久国产精品一区二区三区 | 国产精品一区在线 | 精品一区二区三区免费毛片 | 亚洲视频在线一区 | 国产欧美精品一区二区 | 国产精品美女久久久久久久网站 | 天堂成人国产精品一区 | 欧美一区在线看 | 99久久精品免费 | 亚洲导航深夜福利涩涩屋 | 亚洲一区中文字幕在线观看 | 日韩欧美日韩在线 | 久久91精品久久久久久9鸭 | 日韩一级欧美一级 | 亚洲日日操 | 免费九九视频 | 亚洲国产高清在线观看 | 成人高潮片免费视频欧美 | 亚洲精品免费在线观看 | 亚洲 欧美 在线 一区 | 成人国产在线观看 |