【状态估计】基于线性卡尔曼滤波器和粒子滤波器无人机估计地形高度(Matlab代码实现)

简介: 【状态估计】基于线性卡尔曼滤波器和粒子滤波器无人机估计地形高度(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


📚2 运行结果


🎉3 参考文献


🌈4 Matlab代码实现


💥1 概述

本文模拟了安装在无人机中的距离传感器从地形获得的观测结果,并试图通过嘈杂的观测来估计地面的当前高度。线性卡尔曼滤波和粒子滤波技术都得到了实施和比较。


📚2 运行结果


0c90ca23afbc4501bd94eed05934b19b.png

9e7403b6ece34eb4ba1ddad0f4c95a73.png

9749692b38354711a022053385c475bd.png

dce8d25ca2094ce793586684a7d82f6d.png


部分代码:

% process noise
sigma1 = 20*dt;
sigma2 = 45*dt;
% measurement model 
H = [1 1; 1 0];
% measurement noise
sigma3 = 10*dt;
sigma4 = 20*dt;
Q = diag([sigma1 sigma2]);
R = diag([sigma3 sigma4]);
% UAV initialization
uvel = 10;
xv = uvel*cos(0);
yv = uvel*sin(0);
zv = 160;
% create terrain
[terrainHeight,terrainTime] = createTerrain; 
plot(terrainHeight,'r');
%CREATE TRUE STUFF
hmslTrue = mslDataTrue(zv,terrainTime);
hdmaTrue = dmaDataTrue(terrainHeight);
% create MSL data
hmsl = mslData(zv,terrainTime,sigma3/dt);
plot(hmsl,'b');
plot(ones(length(hmsl),1)*zv,'k');
% create DMA data
hdma = dmaData(terrainHeight,sigma4/dt);
plot(hdma,'.b');
% particle filter settings
N =100; %number os particles
xp=[];
% make the random particles based on initial gaussian distribution
for ii = 1:N
    xp(ii,1)= 60 + sigma1*randn;
    xp(ii,2)= 2 + sigma2*randn;
end
if(DEBUG)
    figure();
    plot(1,p(:,1),'*r',1,p(:,2),'*b');


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1]杜云峰.卡尔曼滤波器在过程估计中的应用[J].机电产品开发与创新,2007(04):142-143.


[2]王涛,谢婧怡,孟丽岩,李勐.基于平方根容积卡尔曼滤波器的非线性模型参数识别[J].黑龙江科技大学学报,2023,33(01):109-115.


[3]HSO (2023). Estimate Terrain Height using Linear Kalman Filter and Particle Filter


🌈4 Matlab代码实现


相关文章
|
4天前
|
存储 算法 计算机视觉
m基于FPGA的FIR低通滤波器实现和FPGA频谱分析,包含testbench和滤波器系数MATLAB计算程序
在Vivado 2019.2平台上开发的系统,展示了数字低通滤波器和频谱分析的FPGA实现。仿真结果显示滤波效果良好,与MATLAB仿真结果一致。设计基于FPGA的FIR滤波器,利用并行处理和流水线技术提高效率。频谱分析通过离散傅里叶变换实现。提供了Verilog核心程序以示例模块工作原理。
11 4
|
1月前
|
调度
知识分享|分段函数线性化及matlab测试
知识分享|分段函数线性化及matlab测试
非线性优化 | 非线性问题matlab+yalmip求解案例
非线性优化 | 非线性问题matlab+yalmip求解案例
|
1月前
|
存储 算法
m考虑时偏影响的根升余弦滤波器matlab仿真
MATLAB 2022a仿真实现了根升余弦滤波器(RRC)的效果,该滤波器常用于通信系统以消除码间干扰。RRC滤波器设计考虑了时偏影响,其脉冲响应由理想矩形脉冲卷积得到,滚降系数控制衰减速度。在有同步误差时,滤波器需保持良好ISI抑制能力。MATLAB代码展示了计算时偏量并应用RRC滤波于连续样本的过程,以降低误码率并优化系统性能。
33 2
|
1月前
|
算法
MATLAB最小二乘法:线性最小二乘、加权线性最小二乘、稳健最小二乘、非线性最小二乘与剔除异常值效果比较
MATLAB最小二乘法:线性最小二乘、加权线性最小二乘、稳健最小二乘、非线性最小二乘与剔除异常值效果比较
|
1月前
matlab使用移动平均滤波器、重采样和Hampel过滤器进行信号平滑处理
matlab使用移动平均滤波器、重采样和Hampel过滤器进行信号平滑处理
|
1月前
|
算法
【MATLAB】语音信号识别与处理:滤波器滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:滤波器滤波算法去噪及谱相减算法呈现频谱
27 2
|
1月前
|
机器学习/深度学习 存储 算法
【程序员必须掌握的算法】【Matlab智能算法】GRNN神经网络-遗传算法(GRNN-GA)函数极值寻优——非线性函数求极值
【程序员必须掌握的算法】【Matlab智能算法】GRNN神经网络-遗传算法(GRNN-GA)函数极值寻优——非线性函数求极值
|
1月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章