【滤波跟踪】基于扩展卡尔曼滤波器 (EKF) 实现GPS 数据滤波跟踪附matlab代码

该博客由一位热衷于科研的Matlab开发者撰写,探讨了在高速高机动飞行器目标跟踪系统中,如何利用非线性滤波算法进行状态估计。作者分享了一段关于最小二乘法定位的代码示例,并提供了完整的算法实现。文章引用了扩展卡尔曼滤波在单目标跟踪算法研究中的应用作为参考文献。

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

随着科技的飞速发展,尤其是航空航天技术的突飞猛进,先后有国家研发了高速高机动飞行器,这类目标具有高声速,大范围机动,系统模型非线性和参数时变等特点.在目标跟踪系统中,目标状态的准确估计尤为关键,而实际系统模型大多是非线性的,这对非线性滤波算法提出了更高的要求.

⛄ 部分代码

% Least squares method for GPS positioning.

function [Rcv_Pos,Rcv_b] = Rcv_Pos_Compute(SV_Pos, SV_Rho)

Num_Of_SV=size(SV_Pos);

if Num_Of_SV<4

    Rcv_Pos=[0 0 0];Rcv_b=0;

    return;

end

%%

%Initial GPS Position

Rcv_Pos=[0 0 0];Rcv_b=0;

%Start Iteration

%Constrain for convergence  

  B1=1;

  END_LOOP=100;

  count=0;

while (END_LOOP > B1) 

    %A.Compute G

    G = G_Compute(SV_Pos, Rcv_Pos);

    %B.Compute Delta_Rho

    Delta_Rho = Delta_Rho_Compute(SV_Rho, SV_Pos, Rcv_Pos, Rcv_b);

    %C.Iteration for new postion

    Delta_X = inv(G' * G) * G' * Delta_Rho;

    Rcv_Pos = (Rcv_Pos' + Delta_X(1:3))';

    Rcv_b = Rcv_b + Delta_X(4);

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    END_LOOP = (Delta_X(1)^2 + Delta_X(2)^2 + Delta_X(3)^2)^.5;

    count = count+1;

    if count>10

        END_LOOP=B1/2;

    end

end%End of While

end

⛄ 运行结果

⛄ 参考文献

​[1]董俊松. 基于扩展卡尔曼滤波的单目标跟踪算法研究[D]. 西北师范大学, 2019.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值