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

Matlab之多平台雷达检测融合仿真(附源码)

此示例演示如何融合来自多平台雷达网络的雷达检测。该网络包括两个机载一个地面远程雷达平台。中央跟踪器以固定的更新间隔处理来自所有平台的检测。这能够根据目标类型、平台机动以及平台配置和位置评估网络的性能。

一、定义中央跟踪器

trackerGNN用作中央跟踪器,用于处理从方案中的所有雷达平台接收的检测。

跟踪器使用支持函数为每个新轨道初始化一个等速扩展卡尔曼滤波器。 修改返回的过滤器以匹配高目标速度。

跟踪器设置为 50,以便能够将具有大范围偏差的检测(由于长检测范围内的大气折射效应)与跟踪器中的轨迹相关联。设置为 3 可快速删除冗余磁道。启用 以指定自上次更新以来至少一个雷达的视野内的轨迹。轨道逻辑仅在自上次跟踪器更新以来具有检测机会的轨道上进行评估。

二、通过在中央跟踪器中融合检测来跟踪目标

以下循环运行跟踪方案记录,直到方案结束。对于方案中的每一步,都会收集检测结果以供中央跟踪器处理。跟踪器每 2 秒更新一次这些检测。

在方案结束时,会看到多个轨道已被丢弃并替换。还可以查看在方案期间轨道与平台的关联。该图在方案中有七个平台的七行。每个轨道都显示为一条水平线。曲目编号在行的开头进行注释。每当删除轨道时,其线路都会停止。每当将新轨道分配给平台时,都会向平台的行中添加一条新线,当同时为单个平台显示多条线时,平台将为其分配多个轨道。在这些情况下,与平台关联的较新轨道被视为冗余

请注意,难以维护轨道的平台(4号和7号平台)也是离雷达最远的平台。这种较差的跟踪性能归因于测量噪声的高斯分布假设。该假设适用于短距离的目标,但在长距离下,测量不确定度偏离高斯分布。下图比较了对应于实际目标分布的 1 西格玛协方差椭圆和雷达传感器给出的目标分布。传感器距离目标 5 km,角度分辨率为 5 度。实际测量不确定度具有由球形传感器检测坐标系产生的凹形,雷达在其中估计目标的位置。

 为了考虑长距离下实际协方差的凹形,支撑函数约束所报告的测量噪声的条件数。上面显示的校正测量协方差被限制为最大条件数 300。换句话说,测量协方差中的任何特征值都不能比协方差的最大特征值小 300 倍以上。这种处理扩大了沿范围维度的测量噪声,以更好地匹配实际测量不确定度的凹度。

三、使用长距离协方差校正进行仿真

使用支持功能重新运行之前的仿真,以校正报告的长距离测量噪声。

 

上图显示,通过应用远距离校正,不会为整个方案生成轨迹下降或多个轨迹。在这种情况下,监控网络检测到的每个平台正好有一个轨道。

放大喷气式飞机执行水平转弯的视图,即使此示例中使用的运动模型是恒定速度,轨道也相对较好地跟随机动目标。通过使用交互式多模型 (IMM) 过滤器(如过滤器),可以进一步改进对机动的跟踪。

从喷气式飞机执行水平转弯的另一个视图中,您可以看到高度估计正确,尽管传感器的高度测量不准确。其中一个传感器根本不报告高度,正如大型垂直椭球体所看到的那样,而另外两个传感器低估了它们在高度上的不确定性。 

 将视角切换到对过境客机的关注,描绘了相同的不准确的高度测量值。请注意红色检测如何以8公里的高度为中心,而两架客机分别在3公里和4公里的高度飞行。在高度中使用非常大的协方差允许跟踪器忽略红色检测的错误高度读数,并使用其他两个雷达跟踪高度。观察轨道 T07 和 T08 的不确定性协方差,可以看到它们分别提供了平台 P04 和 P05 的一致估计值。

最后一个情节集中在两个机载雷达平台上。每个平台都由另一个平台以及地面雷达检测到。平台轨迹相互交叉,高度相隔1000米,其轨迹与地面真实相符。

四、总结

此示例演示如何在中央跟踪器中处理跨多个机载和地面雷达平台收集的检测。在此示例中,了解了如何无法通过高斯分布对长距离测量噪声进行精确建模。在这些长距离下,测量噪声的 1-sigma 椭圆的凹陷导致跟踪性能较差,因为轨道掉落且多个轨道被分配给单个平台。还学习了如何校正测量 噪声以进行远距离检测,以提高报告轨迹的连续性。

五、程序

使用Matlab,点击打开。 

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

 关注下面公众号,后台回复关键词:多平台雷达检测融合,发送源码链接。

相关文章:

  • 2022年计网《宿舍网有线无线一体化项目》总结
  • 渗透测试基础- - -windows网络安全常用dos命令
  • 【Python】近似熵,样本熵,模糊熵计算高效版
  • Java获取自增主键ID值
  • 【算法入门图论】【模板】拓扑排序|【模板】单源最短路2 |最小生成树
  • 第31讲:MySQL事务的并发问题以及事务的隔离级别
  • JavaScript 2 JavaScript 简介
  • 【目标检测】YOLOv5在Android上的部署
  • 攻防世界WEB练习 | easyphp
  • Java数据结构:栈与综合计算器的实现(图解+完整代码)
  • dolphinscheduler 3.0.1数据质量
  • 【vue后台管理系统】基于Vue+Element-UI+ECharts开发通用管理后台(上)
  • 【产品新体验】CSDN. 云IDE体验与使用教程
  • 毕业设计 基于51单片机老人防跌倒GSM短信报警系统
  • 实验十四:雨滴传感器实验
  • 【Leetcode】101. 对称二叉树
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【面试系列】之二:关于js原型
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • Docker: 容器互访的三种方式
  • golang中接口赋值与方法集
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Javascript设计模式学习之Observer(观察者)模式
  • js正则,这点儿就够用了
  • mysql 数据库四种事务隔离级别
  • Object.assign方法不能实现深复制
  • Promise初体验
  • rc-form之最单纯情况
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 容器服务kubernetes弹性伸缩高级用法
  • 入手阿里云新服务器的部署NODE
  • 山寨一个 Promise
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 使用agvtool更改app version/build
  • 算法-插入排序
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  •  一套莫尔斯电报听写、翻译系统
  • 用简单代码看卷积组块发展
  • ###C语言程序设计-----C语言学习(6)#
  • #AngularJS#$sce.trustAsResourceUrl
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (libusb) usb口自动刷新
  • (SpringBoot)第二章:Spring创建和使用
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (八)Flask之app.route装饰器函数的参数
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (小白学Java)Java简介和基本配置
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .net后端程序发布到nignx上,通过nginx访问
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET框架
  • .net中我喜欢的两种验证码