色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 卡爾曼濾波在單片機(jī)上的使用

          卡爾曼濾波在單片機(jī)上的使用

          作者: 時(shí)間:2016-11-29 來源:網(wǎng)絡(luò) 收藏






          #ifndef _KALMAN_H_
          #define _KALMAN_H_

          本文引用地址:http://cafeforensic.com/article/201611/323547.htm

          extern KalmanGain;// 卡爾曼增益
          extern EstimateCovariance;//估計(jì)協(xié)方差
          extern MeasureCovariance;//測量協(xié)方差
          extern EstimateValue;//估計(jì)值
          extern void KalmanFilterInit(void);
          extern KalmanFilter( Measure);
          #endif

          #include "config.h"
          #include "math.h"

          KalmanGain;// 卡爾曼增益
          EstimateCovariance;//估計(jì)協(xié)方差
          MeasureCovariance;//測量協(xié)方差
          EstimateValue;//估計(jì)值

          void KalmanFilterInit(void);

          extern float KalmanFilter(float Measure);


          void KalmanFilterInit(void)
          {
          EstimateValue=0;

          EstimateCovariance=0.1;
          MeasureCovariance=0.02;


          }

          KalmanFilter( Measure)
          {

          //計(jì)算卡爾曼增益
          KalmanGain=EstimateCovariance*sqrt(1/(EstimateCovariance*EstimateCovariance+MeasureCovariance*MeasureCovariance));

          //計(jì)算本次濾波估計(jì)值
          EstimateValue=EstimateValue+KalmanGain*(Measure-EstimateValue);
          //更新估計(jì)協(xié)方差

          EstimateCovariance=sqrt(1-KalmanGain)*EstimateCovariance;
          //更新測量方差
          MeasureCovariance=sqrt(1-KalmanGain)*MeasureCovariance;
          //返回估計(jì)值
          return EstimateValue;
          }



          關(guān)鍵詞: 卡爾曼濾波單片

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉