主要内容

使用跟踪场景设计器设计和模拟跟踪场景

此示例演示如何使用trackingScenarioDesigner使用现有的会话文件。使用该应用程序,您可以添加、修改或删除平台、单静态雷达传感器和场景中所有对象的轨迹。您还可以将该场景导出为MATLAB脚本以进行进一步分析。

介绍

目标跟踪的目标是在测量不频繁或不确定的情况下确定目标的状态。对于多个目标,跟踪算法还必须解决数据关联问题。为了测试这些算法,一个跟踪方案可用于综合生成三维场景中对象的现实检测。

该示例模拟了一个场景,即配备单站雷达传感器的雷达塔扫描天空。在距离传感器较远的地方,两架飞机在短时间内彼此靠近飞行。飞机轨迹的近距离以及它们与雷达塔的距离对雷达正确分辨两个目标的能力提出了挑战。此场景将在中进一步详细描述在歧义下跟踪紧密间隔的目标例子。

启动跟踪方案设计器

档案tsd_trackingcloselyspacedtargets.以前以跟踪方案会话保存。要启动应用程序并加载会话文件,请使用命令:

跟踪场景设计器(“TSD_跟踪近空间目标。mat”)

该应用程序打开并加载方案。跟踪方案设计器应用程序由ToolStrip和三个文档组组成:

  • 左侧的平台属性和传感器属性面板

  • 中心的平台画布和传感器画布

  • 显示在右边的三维世界视图的场景视图

编辑和修改场景

红色平面

通过在平台画布中单击红色平面来选择该平面。

使用轨迹表和时间-高度图检查其轨迹

请注意,在属性面板(紫色)中,平面建模为长度、宽度和高度标注为零的点对象。默认情况下,其雷达横截面为10 dBsm。

单击toolstrip中的轨迹表按钮(红色),以显示该平面的航路点列表。轨迹表显示在应用程序的底部中心。

单击ToolStrip中的Time-Altitude Plot按钮(绿色)以显示此平面的高程配置文件。该曲线显示在与平台画布相同的选项卡中。

观察到飞机在高度为3000米的高度飞行水平,地速度为83.33米/秒。轨迹的持续时间为50s。

您可以通过更改表格中的参数值或通过平台画布中的WIVAPOINT拖动路点来进一步编辑轨迹,如下面的GIF所示。

对于此示例的其余部分,我们在会话文件中使用预定义的轨迹。

通过单击平台画布上的平台或通过从“平台属性”选项卡中的当前平台列表中选择塔平台来选择塔平台。

选择平台后,塔平台的传感器属性和传感器画布将激活。

观察面板中的单体雷达传感器性能(黄色)。雷达具有100Hz的更新速率,并且扫描范围为方位角40度和高度10度。它的视野是方位角的1.5°,高度10°。请注意,我们使用10.001 Def以确保光束不完全是高程扫描范围的尺寸,在这种情况下,雷达将在高度中扫描两次。

注意,默认的平台框架是NED(东北- down)。传感器的安装位置定义为x = 0,y = 0,z = -15确保雷达位于15米高的塔顶。

在传感器画布上,可以使用工具栏(绿色)显示塔的侧视图。轴是以平台为中心的坐标。

可以使用属性面板重新配置传感器,可以在传感器画布上拖动其安装位置进行粗编辑。

此外,您可以在ToolStrip库中选择一个新传感器,并在塔架上安装它,或使用平台库在场景中添加新平台,然后在其上安装新传感器。这在下面的GIF中示出。

模拟场景

在已经设置了这种情况下,下一步是运行模拟以生成合成雷达检测。

点击运行模拟。或者,使用下拉列表选择运行没有检测仅模拟地面真实情况。

应用程序进入仿真模式,模拟自动开始。你会看到两架飞机沿着他们的轨迹移动。当塔式检测到飞机时,您可以在检测的瞬间看到一个深紫色标记显示。

为了更好地观察场景,您可以使用轴工具栏在X-Y,X-Z或Y-Z视图之间快速导航。此外,您可以打开和关闭传感器覆盖图,轨迹线,接地平面投影和方向指示器。

播放控件和时间滚动条

若要在光束扫描目标时观察检测创建,请使用回放控件,该控件允许您暂停、后退和前进模拟。

时间滚动条位于场景视图的底部。它表示模拟的当前状态以及显示的当前时间。

淡蓝色的进度条显示了该场景的数据模拟的进度。深蓝矩形滑块显示场景动画的进度。

在已经模拟的时间范围内,可以将矩形滑块或在时间范围内(右)拖动。

逐步完成模拟,观察雷达在两次扫描之间每次扫描生成一次检测t=19.30秒t=20.50秒.这是雷达无法分辨两架飞机的模糊区域。

导出到MATLAB

要查看和编辑用于设计方案的代码,您可以将场景导出为Matlab脚本。使用脚本添加跟踪器并以编程方式与方案进行交互。

点击出口查看创建该场景的等效脚本。

点击后出口,您将看到一个脚本,该脚本可以保存到您选择的文件名中。场景视图的当前三维视图角度也会导出到脚本中。

运行生成的脚本

可视化目标和探测

保存脚本后,可以运行脚本并在MATLAB中观察动画剧场情节。

编辑生成的脚本以进行跟踪

可以添加以下命令来定义跟踪器,如中所示在歧义下跟踪紧密间隔的目标例子。

注意:如果编辑或使用不同的场景,可能需要修改此代码

从跟踪方案设计器的生成脚本有几个评论,指示添加更多代码的位置。

1) 配置trackerJPDA

%在此处配置您的跟踪器:numtrack=20;闸门=45;vol=1e9;β=1e-14;pd=0.8;far=1e-6;跟踪器=跟踪器JPDA(...“FilterInitializationFcn”@initCVFilter,...“MaxNumTracks”,numTracks,...“MaxNumSensors”1....“AssignmentThreshold”大门...“跟踪逻辑”,“一体化”,...“DetectionProbability”,pd,...'Clutterdention',far/vol,...“新目标密度”,beta,...'timetolerance',0.05);

2) 定义轨迹绘图仪

%在此处添加轨迹绘图仪:trackp = trackplotter(TP,“显示名称”,“轨道”,“连接历史”,“开”,“ColorizeHistory”,“开”);

3) 为循环之前的检测定义缓冲区

%主仿真回路detBuffer={};

4) 更新循环中的跟踪器

%在此处更新您的跟踪器:Detbuffer = [DetBuffer;DEDS];%#OK 如果configs.isscandone曲目=跟踪器(DetBuffer,Scenario.simulationTime);POS = GetTrackpositions(轨道,[1 0 0 0 0 0; 0 0 1 0 0 0; 0 0 0 0 1 0]);Labels = string([tracks.trackid]);detBuffer={};终止

4)更新绘图仪

%在此处更新轨迹绘图仪:如果配置S.IsScanDone trackp.plotTrack(位置、标签);终止

可视化轨迹

通过重新运行脚本,使用上述添加方式观察跟踪​​动画。您现在将可视化两个飞机的曲目。

总结

在此示例中,您使用跟踪方案设计器应用程序来加载跟踪方案会话文件。您还学习了如何浏览应用程序以及如何模拟方案。在场景中,通过单个雷达检测两架飞机。对于一部分的一部分,这两架飞机如此接近,雷达无法解析它们。您学习了如何将场景导出到MATLAB脚本以重新运行模拟以及如何修改脚本以添加JPDA跟踪器。