✅作者简介:热爱科研的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

⛄ 运行结果

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

⛄ 参考文献

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

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料