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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 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++)
    //測(cè)試80次
    {

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

        n = 1+ rand() %100;

                //卡爾曼濾波,傳遞2個(gè)測(cè)量值以及運(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.   *本人對(duì)卡爾曼的粗略理解:以本次測(cè)量角速度(陀螺儀測(cè)量值)的積分得出的角度值
  13.   * 與上次最優(yōu)角度值的方差產(chǎn)生一個(gè)權(quán)重來(lái)衡量本次測(cè)量角度(加速度測(cè)量值)
  14.   * 與上次最優(yōu)角度值,從而產(chǎn)生新的最優(yōu)角度值。好吧,比較拗口,有誤處忘指正。
  15.   *
  16.   ******************************************************************************
  17.   */

  18. #ifndef __KALMAN_H__
  19. #define __KALMAN_H__


  20. #define Q_angle                        0.001                                ////角度過(guò)程噪聲的協(xié)方差
  21. #define Q_gyro                        0.003                                ////角速度過(guò)程噪聲的協(xié)方差
  22. #define R_angle                        0.5                                        ////測(cè)量噪聲的協(xié)方差(即是測(cè)量偏差)
  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類(lèi)型的變量即可
  29. ***無(wú)需用戶定義多個(gè)中間變量,簡(jiǎn)化函數(shù)的使用
  30. */
  31. typedef struct
  32. {
  33.         float                                Q_bias;                                ////最優(yōu)估計(jì)值的偏差,即估計(jì)出來(lái)的陀螺儀的漂移量
  34.         float                                Angle_err;                        ////實(shí)測(cè)角度與陀螺儀積分角度的差值
  35.         float                                PCt_0;                                
  36.         float                                PCt_1;
  37.         float                                E;                                        ////計(jì)算的過(guò)程量
  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};過(guò)程協(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ù)制代碼


評(píng)分

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

查看全部評(píng)分

回復(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 來(lái)自觸屏版 | 顯示全部樓層
lei787654 發(fā)表于 2017-9-26 12:16
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

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

使用道具 舉報(bào)

ID:412814 發(fā)表于 2019-1-21 09:03 | 顯示全部樓層
網(wǎng)上入門(mén)級(jí)的資料很多,哪里能找到稍微深入些的資料呢?
回復(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 | 顯示全部樓層
請(qǐng)問(wèn)為何要調(diào)入角速度值?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品麻 | 国产一二区在线 | 国产成人jvid在线播放 | 国产婷婷色一区二区三区 | 伊人伊成久久人综合网站 | 观看毛片 | 国产精品久久久久久吹潮 | 天天操天天插天天干 | 国产成人高清 | 久久免费视频观看 | 国产激情三区 | 亚洲精品一区二区三区 | 日韩精品1区2区3区 爱爱综合网 | 国产精品揄拍一区二区 | 亚洲国产精品久久 | 亚洲一一在线 | 日韩在线资源 | 五月综合激情网 | 亚洲性人人天天夜夜摸 | 天天碰日日操 | 欧美黑人一区 | 亚洲精品视频导航 | 精品久久久久国产免费第一页 | 国内激情av片 | 黄色毛片在线观看 | 狠狠色综合久久婷婷 | 91亚洲国产 | 国精久久 | www.888www看片 | 中文字幕精品一区二区三区精品 | 国产高清精品一区 | 欧美日韩亚洲视频 | av在线播放网址 | 国产精品福利在线 | 国产精品视频久久久 | 国产精品成人一区 | 婷婷在线免费 | 国产一区二区在线免费观看 | 久久美国| 国产精品久久久久久久白浊 | 亚欧洲精品在线视频免费观看 |