資源簡介
本資源提供三階卡爾曼算法對加速度計和氣壓計的采樣值進行數據融合與濾波,得到加速度、速度、高度值
本次修復了速度為0的bug
詳細資料可參照博客https://blog.csdn.net/qq_31847339/article/details/90040387

代碼片段和文件信息
clear;
load(‘DataUp.mat‘);
len?=?length(z);
%?減去重力加速度后的加速度
a?=?(z-1)*9.8;
%?參數設置
sam_frq?=?1000;
T?=?1/sam_frq;
k?=?0.09;%壓高系數
%?觀測誤差R、過程誤差Q
R?=?0.5*eye(2);
R(11)?=?150;????
R(22)?=?0.5;
Q?=?0.0001*eye(3);
Q(22)?=?0.00001;
%?狀態方程矩陣
F?=?[1T0.5*T*T;01T;001];
H?=?[-1/k00;001];
V?=?[pre(1);0];
%?數據初始化
Xkf?=?zeros(3len);
Z?=?zeros(2len);
Z(1:)?=?pre;
Z(2:)?=?a;
Xkf(:1)?=?[0;0;0];
P0?=?eye(3);
P0(11)?=?10;
%?卡爾曼濾波
for?i?=?2:len
????Xn?=?F*Xkf(:i-1);
????P1?=?F*P0*F‘+?Q;
????K?=?(P1*H‘)/(H*P1*H‘+R);
????Xkf(:i)?=?Xn?+?K*(Z(:i)-H*Xn-V);
????P0?=?(eye(3)-K*H)*P1;
end
%顯示圖像
figure;
plot((pre(1)-pre)*0.09);
hold?on;
plot(Xkf(1:));
hold?on;
plot(Xkf(2:));
hold?on;
plot(Xkf(3:));
hold?on;
plot(a);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-06-12?09:08??三階卡爾曼仿真及驗證\
?????目錄???????????0??2019-05-10?14:51??三階卡爾曼仿真及驗證\Matlab仿真\
?????文件?????1466510??2019-05-10?13:56??三階卡爾曼仿真及驗證\Matlab仿真\DataDown.mat
?????文件?????1368417??2019-05-10?13:56??三階卡爾曼仿真及驗證\Matlab仿真\DataUp.mat
?????文件?????????824??2019-05-10?13:59??三階卡爾曼仿真及驗證\Matlab仿真\KalmanHight.m
?????目錄???????????0??2019-05-10?14:49??三階卡爾曼仿真及驗證\STM32驗證\
?????目錄???????????0??2019-05-10?14:48??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\
?????目錄???????????0??2019-05-10?14:48??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\CORE\
?????文件??????109142??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\CORE\core_cm4.h
?????文件???????22735??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\CORE\core_cm4_simd.h
?????文件???????17146??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\CORE\core_cmFunc.h
?????文件???????20513??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\CORE\core_cmInstr.h
?????文件???????29605??2019-03-19?09:19??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\CORE\startup_stm32f40_41xxx.s
?????目錄???????????0??2019-05-10?14:48??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\
?????目錄???????????0??2019-05-10?14:48??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\
?????文件????????6924??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\misc.h
?????文件???????32880??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_adc.h
?????文件???????27318??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_can.h
?????文件????????2416??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_crc.h
?????文件???????14481??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_cryp.h
?????文件???????14946??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_dac.h
?????文件????????4296??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_dbgmcu.h
?????文件???????12977??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_dcmi.h
?????文件???????28882??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_dma.h
?????文件???????19692??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_dma2d.h
?????文件????????8012??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_exti.h
?????文件???????24467??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_flash.h
?????文件????????3275??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_flash_ramfunc.h
?????文件???????44924??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_fmc.h
?????文件???????27181??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_fsmc.h
?????文件???????23548??2016-04-15?21:58??三階卡爾曼仿真及驗證\STM32驗證\MPU6050_1\FWLIB\inc\stm32f4xx_gpio.h
............此處省略134個文件信息
評論
共有 條評論