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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6736|回復(fù): 6
收起左側(cè)

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

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

#include "stdio.h"

#include "stdlib.h"






void main(void)
{


    KalmanCountData k;
    //定義一個(gè)卡爾曼運(yùn)算結(jié)構(gòu)體
    Kalman_Filter_Init(&k);
    //講運(yùn)算變量初始化
    int m,n;        

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

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

        n = 1+ rand() %100;

                //卡爾曼濾波,傳遞2個(gè)測量值以及運(yùn)算結(jié)構(gòu)體
   
    Kalman_Filter((float)m,(float)n,&k);

        //打印結(jié)果
        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.   * 與上次最優(yōu)角度值的方差產(chǎn)生一個(gè)權(quán)重來衡量本次測量角度(加速度測量值)
  14.   * 與上次最優(yōu)角度值,從而產(chǎn)生新的最優(yōu)角度值。好吧,比較拗口,有誤處忘指正。
  15.   *
  16.   ******************************************************************************
  17.   */

  18. #ifndef __KALMAN_H__
  19. #define __KALMAN_H__


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

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

  46. }KalmanCountData;

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



  49. #endif
復(fù)制代碼


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

ID:383374 發(fā)表于 2019-1-21 01:49 來自觸屏版 | 顯示全部樓層
lei787654 發(fā)表于 2017-9-26 12:16
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

很好的東西,以后可能用得上
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

ID:561607 發(fā)表于 2021-1-7 14:16 | 顯示全部樓層
共師兄習(xí),共同進(jìn)步
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲91精品 | 国产精品国产成人国产三级 | 久久久久国产精品免费免费搜索 | 中文字幕在线三区 | 91精品久久久久 | 91文字幕巨乱亚洲香蕉 | 日韩欧美综合 | 精品一区电影 | 日韩在线免费视频 | www.中文字幕.com | 国产成人精品亚洲日本在线观看 | 日本高清视频在线播放 | 成人一区二区视频 | 精品一区二区三区在线观看 | 久久精品日产第一区二区三区 | 亚洲视频在线观看免费 | 欧美日韩一区二区电影 | 国产分类视频 | 久久久精彩视频 | 亚洲精品久久 | 日本超碰 | 另类专区亚洲 | 99视频在线免费观看 | 久久久www成人免费精品 | 91精品国产综合久久福利软件 | 国产美女黄色 | 综合久久网| 日韩www视频| 九九精品网 | 一级片在线观看 | 国产精品日韩欧美一区二区三区 | 久久精品亚洲国产 | 青娱乐av| 午夜免费网站 | 一区二区三区在线播放 | 婷婷综合色 | 久久99精品久久久久 | 黄视频欧美 | 精品美女视频在免费观看 | 日日综合 | 日韩一区中文字幕 |