资源简介
本资源提供三阶卡尔曼算法对加速度计和气压计的采样值进行数据融合与滤波,得到加速度、速度、高度值
本次修复了速度为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个文件信息
相关资源
- ARM官方DSP库FIR滤波器的实现
- 水冷温控系统工程
- STM32F4基于DSP库的FIR低通滤波
- 基于STM32高精度频率计的设计
- 加速度计原始数据进行matlab的fft分析
- Matlab自动生成STM32F103C8T6代码
- A/D采集,波形图像显示
- 基于MPU9250获取姿态航向角stm32及matl
- 《matlab在振动信号处理中的应用》教
- Matlab自动生成STM32F103C8T6代码_代码及模
- stm32 matab包,matlab直接生成stm32代码
- stm32-mat_target4.40
- 基于MPU6050加速度传感器的跌倒检测与
- matlab开发-记录文件的绘图仪加速度、
-
waijung simuli
nk STM32开发库串口通讯 - 位移、速度、加速度信号互转
- 计步器加速度计三轴数据峰值检测算
- 目标跟踪常速度CV及常加速度CA模型程
- matlab加速度积分为速度、位移
- stm32 串口485 中断
- Matlabimu 时域积分与频域积分,加速度
- GY-85惯性模块的实时数据绘图与处理包
- 加速度计标定相关matlab代码
- 可用于单片机或STM32自制IIR数字滤波器
-
Unti
tled1 产生陀螺和加速度计的数据 - MPU6050蓝牙转串口测量信号读取matlab代
- 牛头刨床运动学分析matlab程序位移速
- 加速度计原始数据卡尔曼滤波
- 接收下位机上传的图像数据matlab编程
- 加速度计计算位移
评论
共有 条评论