码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【滤波跟踪】基于北方苍鹰和粒子群算法优化粒子滤波器实现目标滤波跟踪附matlab代码


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

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

    🍊个人信条:格物致知。

    更多Matlab仿真内容点击👇

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

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

    ⛄ 内容介绍

    传统粒子滤波算法中在重要性采样部分存在采样粒子位置不精确的问题,可用粒子群优化算法优化,.仿真结果表明,经过北方苍鹰和粒子群算法可有效提高粒子滤波算法的准确性,使跟踪误差减小.

    ⛄ 部分代码

    function main

    rand('seed',3);

    randn('seed',6);

    T=50;

    R=1e-5;

    P=1;%观测误差

    Q=0.01;%预测误差

    X=zeros(1,T);

    Z=zeros(1,T);

    X(1)=1;

    Z(1)=1;

    %基本粒子滤波设置

    N=50;

    Xpf=zeros(1,T);

    Xpfset=ones(T,N);

    Tpf=zeros(1,T);

    % 

    % %PSOPF

    Xpsopf=zeros(1,T);

    Xpsopfset=ones(T,N);

    Tpsopf=zeros(1,T);

    %NGOPF

    Xngopf=zeros(1,T);

    Xngopfset=ones(T,N);

    Tngopf=zeros(1,T);

    %模拟运行

    for t=2:T

    X(t)=feval('ffun',X(t-1),t,Q);

    Z(t)=feval('hfun',X(t),P);

    % %PF

    tic

    [Xpf(t),Xpfset(t,:)]=pf(Xpfset(t-1,:),Z(t),N,t,R,P,Q);

    Tpf(t)=toc;

    % %PSOPF

    tic

    [Xpsopf(t),Xpsopfset(t,:)]=pso_pf(Xpsopfset(t-1,:),Z(t),N,t,R,P,Q);

    Tpsopf(t)=toc;

    %NGOPF

    tic

    [Xngopf(t),Xngopfset(t,:)]=ngo_pf(Xngopfset(t-1,:),Z(t),N,t,R,P,Q);

    %[Xngopf(t),Xngopfset(t,:)]=ngo_pf1(Xngopfset(t-1,:),Z(t),N,t,R,P,Q);

    Tngopf(t)=toc;

    end;

    ErrorPf=abs(Xpf-X);

    ErrorPsoPf=abs(Xpsopf-X);

    ErrorNgoPf=abs(Xngopf-X);

    %picture

    figure

    hold on;

    box on;

    p1=plot(1:T,X,'-k.','LineWidth',1);

    p2=plot(1:T,Xpf,'-ro','LineWidth',1);

    p3=plot(1:T,Xpsopf,'-bx','LineWidth',1);

    p4=plot(1:T,Xngopf,'-gd','LineWidth',1);

    legend([p1,p2,p3,p4],'真实状态','PF估计','PSO估计','NGO估计')

    xlabel('Time','fontsize',10) 

    title('Filter estmates (posterior means) vs. ture state','fontsize',10)

    %偏差比较

    figure

    hold on;

    box on;

    p1=plot(1:T,ErrorPf,'-ro','LineWidth',1);

    p2=plot(1:T,ErrorPsoPf,'-bx','LineWidth',1);

    p3=plot(1:T,ErrorNgoPf,'-gd','LineWidth',1);

    legend([p1,p2,p3],'PF偏差','PSO偏差','NGO偏差')

    %算法Time比较图

    figure

    hold on;

    box on;

    p1=plot(1:T,Tpf,'-ro','LineWidth',1);

    p2=plot(1:T,Tpsopf,'-bx','LineWidth',1);

    p3=plot(1:T,Tngopf,'-gd','LineWidth',1);

    legend([p1,p2,p3],'PF时间','PSOPF时间','NGOPF时间')

    ⛄ 运行结果

    ⛄ 参考文献

    [1]王俊鹏, 侯小毛. 基于优化粒子滤波器的体育视频目标跟踪算法设计(英文)[J]. 机床与液压, 2018.

    [2]周奇. 基于改进粒子滤波的人脸跟踪算法的研究[D]. 重庆大学, 2011.

    ⛄ Matlab代码关注

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

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

  • 相关阅读:
    Ubuntu 16.04 安装onos 2.2.0
    生命在于学习——Linux提权
    Python JSON
    Spring Boot魔法:简化Java应用的开发与部署
    (51单片机)第四章-键盘检测原理及应用实现-矩阵键盘检测
    更快,更强的.NET 7 发布了
    常见算法设计与分析的简单C++代码实现(排列、二分法搜索、Dijkstra算法、元素换位、单调子序列、硬币问题、运动员最佳匹配问题)
    关于C++解决内存泄漏问题的心得
    [Linux入门]---管理者操作系统
    优秀笔记软件盘点(五)—那些强大的卡片笔记写作法软件
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/128186499
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号