当前位置: 首页 > news >正文

基于Matlab使用雷达资源管理有效跟踪多个机动目标仿真(附源码)

此示例演示如何使用雷达资源管理来有效跟踪多个机动目标。跟踪机动目标需要雷达比跟踪非机动目标更频繁地重新访问目标。交互多模型 (IMM) 筛选器在目标机动时进行估计。此估计值有助于管理雷达重访时间,从而增强跟踪。此示例将“雷达工具箱”用于雷达模型,将“传感器融合和跟踪工具箱”用于跟踪。

 一、介绍

多功能雷达可以搜索目标,确认新轨道,并重新访问轨道以更新状态。为了执行这些功能,多功能雷达通常由资源管理器管理,该资源管理器创建用于搜索、确认和跟踪的雷达任务。这些任务是根据优先级和时间安排的,因此,在每个时间步长中,多功能雷达都可以将其波束指向所需的方向。

在此示例中,对于用于跟踪机动目标的雷达,有两个相互冲突的要求:

  1. 目标的数量及其初始位置通常事先不知道。因此,雷达必须不断搜索感兴趣的区域才能找到目标。此外,雷达需要在进入雷达覆盖区域后立即检测并建立对每个目标的跟踪。

  2. 目标机动的时间段事先是未知的。如果知道目标没有机动,雷达可以不经常地重新访问目标。然而,由于机动的开始和结束时间是未知的,雷达必须足够频繁地重新访问每个轨道,以便能够识别机动何时开始和结束。

雷达必须在提供足够的光束以跟踪目标为中心和留出足够的时间来搜索新目标之间取得平衡。一种方法是简单地定义每个跟踪目标的重访速率,而不管其机动状态如何,并将剩余时间留给新目标搜索。这种雷达管理方案有时被称为主动跟踪。随着更多的目标被跟踪,雷达可以执行更少的搜索任务,或者它可以降低跟踪每个目标的频率。显然,如果目标数量很大,雷达可能会不堪重负。

主动跟踪以相同的方式处理所有跟踪,这使其成为基于模式的资源管理算法。管理雷达的一种更复杂的方法是基于每个轨道的属性。例如,使用轨迹属性,例如状态不确定性协方差的大小、轨道是否正在机动以及它向雷达站点保护的资产移动的速度。当使用此类属性时,雷达资源管理称为自适应跟踪 

在此示例中,将比较雷达根据估计的轨道机动进行调整时主动跟踪和自适应跟踪的结果。

二、定义场景和雷达模型

可以定义一个更新速率为 20 Hz 的场景和雷达,这意味着该雷达每秒分配 20 个波束用于搜索、确认或跟踪。加载多对象跟踪的基准轨迹示例中使基准轨迹,有六个基准轨迹,可以为每个轨迹定义一个轨迹。图中的六个平台沿着非机动腿穿插着操纵腿。可以在图中查看轨迹。

概率雷达模型是使用系统对象定义的。将此对象的属性设置为允许资源管理器控制雷达视角。这样就可以调度雷达以进行搜索、确认和跟踪目标。雷达安装在场景中的新平台上。

三、定义跟踪器

雷达检测到物体后,将检测结果提供给跟踪器,跟踪器执行多项操作。跟踪器维护一个跟踪列表,这些跟踪是感兴趣区域中目标状态的估计值。如果无法将检测分配给跟踪器已维护的任何跟踪,则跟踪器将启动新跟踪。在大多数情况下,新轨道是代表真目标还是假目标尚不清楚。首先,创建具有暂定状态的轨道。如果获得足够的检测,则跟踪将得到确认。同样,如果没有为轨迹分配任何检测项,则对轨迹进行滑行(在不进行校正的情况下进行预测)。如果曲目有一些错过的更新,跟踪器将删除该曲目。

在此示例中,使用的跟踪器使用全局最近邻 (GNN) 算法将检测结果与跟踪相关联。若要跟踪操作目标,请定义一个初始化 IMM 筛选器的函数。该函数使用两个运动模型:一个等速模型和一个恒定转弯速率模型。跟踪IMM筛选器负责估计每个模型的概率,可以从其属性访问该模型。在此示例中,当恒定转弯速率模型的概率高于 0.6 时,将目标分类为机动。

四、雷达资源管理

本节仅简要概述雷达资源管理。

4.1 搜索任务

在此示例中,可以确定性地分配搜索任务。光栅扫描用于覆盖所需的空域。方位角扫描限制设置为 [-90 60] 度,高程限制设置为 [-9.9 0] 度。如果不存在其他任务,雷达将一次扫描一个角像元的空间。角像元的大小由雷达和属性决定。负仰角意味着雷达将光束指向地平线上方。

4.2 跟踪任务

与搜索任务不同,跟踪任务不能提前计划。相反,资源管理器会根据不断变化的方案创建确认和跟踪任务。这两种类型的跟踪任务之间的区别,以不同的重访速率为每种类型的跟踪安排任务,使其成为自适应跟踪算法。与搜索任务类似,跟踪任务也在作业队列中进行管理。将搜索和跟踪队列组合在一个结构中,以便于在仿真循环中引用。

4.3 任务调度

在本例中,为简单起见,多功能雷达在很短的时间内仅执行一种类型的作业,通常称为停留,但可以在每次停留开始时切换任务。对于每次停留,雷达都会查看所有需要执行的任务,并在任务运行时间到来时选择确认或跟踪任务。否则,雷达将选取搜索任务。若要控制运行任务的时间,请设置下面定义的结构。最高重访速率(等于雷达更新速率)分配给任务,以确保确认波束遵循存在的每个新暂定轨迹。同样,可以控制非机动和机动目标的重访速率。在这种情况下,可以分别为非机动目标和机动目标选择 0.8 Hz 和 4 Hz 的值。由于有 6 个目标,资源管理器将使用跟踪目标上的每秒更新一次(如果它们都未进行机动)。鉴于雷达更新速率为 20 Hz,雷达管理器将在每四次更新中执行大约一次目标更新。因此,雷达将在搜索模式下花费大约75%的时间,在跟踪模式下花费25%的时间。当初始化新轨迹时,当跟踪器认为目标正在机动时,资源管理器会以牺牲搜索波束为代价分配更多跟踪波束。

五、运行方案

在仿真过程中,雷达波束由蓝色或紫色描绘,分别代表搜索波束和轨道相关波束。您还可以使用图底部“最后一秒”面板中的“资源分配”查看模拟最后一秒的任务在搜索和特定轨道之间的分布情况。在图的“剧院情节”部分中,可以看到每个轨道的历史记录,并将其与轨迹进行比较。

 

六、分析结果

分析雷达任务负载及其在搜索、确认和跟踪作业之间的划分。该图显示,大多数时候,雷达分配了大约75%的搜索作业和25%的跟踪作业,这在目标没有机动时是预期的。当目标正在操作时,资源管理器会适应分配更多跟踪作业。当更多的轨道同时操纵时,就会有更多的跟踪作业,如第700个时间步长附近所示。确认作业占用的雷达时间非常少,因为跟踪器配置为在三次尝试中两次检测关联后确认轨迹。因此,确认或拒绝暂定轨道是迅速的。

将此结果与 0.8 Hz 轨道重访速率下的主动跟踪结果进行比较。下图显示了主动跟踪案例的跟踪结果和雷达分配图。跟踪结果显示部分轨迹丢失和损坏,但雷达资源分配图显示与自适应跟踪相似的75%搜索和25%跟踪任务划分。

显然,主动跟踪需要更高的跟踪重访率。以下两个图表显示,将轨道重访速率提高到2 Hz可以改善机动目标的跟踪。然而,代价是雷达将超过50%的时间用于跟踪任务,即使轨道没有机动性。如果目标数量更多,雷达就会不堪重负。

先前的结果表明,以2 Hz的速率重新访问机动目标就足够了。但是,自适应跟踪是否可以用于将非机动目标的重访速率降低到0.8 Hz以上。下图显示了非机动目标和机动目标的0.6 Hz和4 Hz的结果。通过此设置,雷达资源分配允许在搜索模式下有80%-85%的时间,使雷达能够搜索和跟踪更多目标。 

 七、总结

此示例演示如何结合使用跟踪和雷达资源管理来调整机动轨迹的重访速率。自适应跟踪允许您选择适合每种目标类型和机动状态的重访速率。因此,雷达变得更加高效,可以跟踪更多的机动目标。

八、程序

使用matlab R2021a版本,点击打开。

 打开下面的“MPARSearchTrackExample.mlx”文件,点击运行,就可以看到上述效果。

 关注下面公众号,后台回复关键词:使用雷达资源管理跟踪多个机动目标,发送源码链接。

 

相关文章:

  • 医院管理系统/医院药品管理系统
  • 项目中使用到的Spring注解及其作用
  • Postgresql源码(86)varchar的创建与插入分析
  • VMware创建虚拟机及安装Linux操作系统
  • 基于51单片机的指纹考勤机密码锁系统
  • 科研小白上路的必备工具链
  • HTML5七夕情人节表白代码 (动态3D相册) HTML+CSS+JS
  • 【云原生 | 从零开始学istio】一、Istio介绍—服务网格
  • 花咲の姫君(異時層ツキハ) / 花咲(异时层妖刀)
  • 体系结构实验(6)—— Cache映射策略
  • 牛客网专项练习30天Pytnon篇第16天
  • 【DS】6.堆知识总结!!!
  • kali工具熟悉——存活主机识别
  • 剖释C++内存管理底层细节 | 明晰池化技术中内存管理的原理
  • LVGL v8学习笔记 | 10 - Tabview控件的使用方法
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【前端学习】-粗谈选择器
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • Effective Java 笔记(一)
  • GraphQL学习过程应该是这样的
  • Java面向对象及其三大特征
  • Node 版本管理
  • php中curl和soap方式请求服务超时问题
  • Python3爬取英雄联盟英雄皮肤大图
  • 安卓应用性能调试和优化经验分享
  • 猴子数据域名防封接口降低小说被封的风险
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 记一次用 NodeJs 实现模拟登录的思路
  • 检测对象或数组
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 区块链共识机制优缺点对比都是什么
  • 数据仓库的几种建模方法
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 思维导图—你不知道的JavaScript中卷
  • 通过git安装npm私有模块
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • Prometheus VS InfluxDB
  • Spring第一个helloWorld
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​VRRP 虚拟路由冗余协议(华为)
  • #Linux(权限管理)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言)字符分类函数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (SpringBoot)第七章:SpringBoot日志文件
  • (十五)使用Nexus创建Maven私服
  • (四)Controller接口控制器详解(三)
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)h264中avc和flv数据的解析
  • (轉)JSON.stringify 语法实例讲解
  • ***利用Ms05002溢出找“肉鸡
  • .naturalWidth 和naturalHeight属性,