IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 交互式多模型算法IMM -> 正文阅读

[数据结构与算法]交互式多模型算法IMM

机动目标跟踪——交互式多模型算法IMM

原创不易,路过的各位大佬请点个赞

WX: ZB823618313

1.交互式多模型算法流程

核心思想: IMM算法的基本思想是用多个不同的运动模型匹配机动目标的不同运动模式,不同模型间的转移概率是–个马尔可夫矩阵,目标的状态估计和模型概率的更新使用卡尔曼滤波。其算法流程图如图5.3所示。

在这里插入图片描述

2. 交互式多模型:具体推导

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. IMM+KF目标跟踪

WX: ZB823618313
在这里插入图片描述

在这里插入图片描述
部分代码

clear all;
clc;
echo off;
close all;
%===============================
%建立模型
%===============================
% 仿真参数
simTime=100;      %仿真迭代次数
T=1;                     %采样时间
w2=3*2*pi/360;     %模型2转弯率3度
w3=-3*2*pi/360;    %模型3转弯率-3度
H=[1,0,0,0;0,0,1,0];                      %模型量测矩阵
G=[T^2/2,0;T,0;0,T^2/2;0,T];              %模型过程噪声加权矩阵
r=20000;                                 %20 2000
R=[r,0;0,r];                            %模型量测噪声协方差矩阵
Q=[20,0;0,20];                                  %模型过程噪声协方差矩阵

F1=[1,T,0,0;0,1,0,0;0,0,1,T;0,0,0,1];     %模型1状态转移矩阵

F2=[1,sin(w2*T)/w2,0,(cos(w2*T)-1)/w2;
    0,cos(w2*T),0,sin(w2*T);
    0,(1-cos(w2*T))/w2,1,sin(w2*T)/w2;
    0,-sin(w2*T),0,cos(w2*T)];            %模型2状态转移矩阵 左转弯

F3=[1,sin(w3*T)/w3,0,(cos(w3*T)-1)/w3;
    0,cos(w3*T),0,sin(w3*T);
    0,(1-cos(w3*T))/w3,1,sin(w3*T)/w3;
    0,-sin(w3*T),0,cos(w3*T)];            %模型3状态转移矩阵 右转弯

w4=3*2*pi/360;     %模型2转弯率3度
w5=-6*2*pi/360;    %模型3转弯率-3度

F4=[1,sin(w4*T)/w4,0,(cos(w4*T)-1)/w4;
    0,cos(w4*T),0,sin(w4*T);
    0,(1-cos(w4*T))/w4,1,sin(w4*T)/w4;
    0,-sin(w4*T),0,cos(w4*T)];            %模型2状态转移矩阵

F5=[1,sin(w5*T)/w5,0,(cos(w5*T)-1)/w5;
    0,cos(w5*T),0,sin(w5*T);
    0,(1-cos(w5*T))/w5,1,sin(w5*T)/w5;
    0,-sin(w5*T),0,cos(w5*T)];            %模型3状态转移矩阵

x0=[1000,200,1000,200]';  % 初始状态

% 产生量测数据
%[z,z_true]=targets();
randn('state',sum(100*clock)); % Shuffle the pack!
x = zeros(4,simTime);
z = zeros(2,simTime);         %含噪声量测数据
z_true = zeros(2,simTime);    %真值数据
measureNoise = zeros(2,simTime);
measureNoise = sqrt(R)*randn(2,simTime);  %产生量测噪声
x(:,1)=x0;
z(:,1)=H*x(:,1)+measureNoise(:,1);
z_true(:,1)=H*x(:,1);
for a=2:simTime
    if (a>=20)&&(a<=40) 
        x(:,a)=F4*x(:,a-1);      %20--40s左转 
    elseif (a>=60)&&(a<=80) 
       x(:,a)=F5*x(:,a-1);        %60--80s右转 
    else
        x(:,a)=F1*x(:,a-1);      %匀速直线运动
    end; 
z(:,a)=H*x(:,a)+measureNoise(:,a);
z_true(:,a)=H*x(:,a);
end;

4. IMM+EKF目标跟踪

WX: ZB823618313
在这里插入图片描述

在这里插入图片描述

原创不易,路过的各位大佬请点个赞

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:44:27  更:2022-05-05 11:44:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:33:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码