主要内容

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

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

简介

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

这个例子模拟了一个场景,在这个场景中,一个配备了单一雷达传感器的雷达塔在扫描天空。在远离传感器的距离上,两架飞机在短时间内彼此近距离飞行。飞机轨迹的紧密间隔以及它们与雷达塔的距离挑战了雷达正确分辨这两个目标的能力。中对此场景进行了更详细的描述模糊状态下跟踪紧密间隔目标的例子。

发射跟踪场景设计师

的matfileTSD_TrackingCloselySpacedTargets以前使用跟踪场景会话保存。要启动应用程序并加载会话文件,使用命令:

trackingScenarioDesigner (“TSD_TrackingCloselySpacedTargets.mat”

应用程序打开并加载场景。跟踪场景设计器应用程序由一个工具条和三个文档组组成:

  • 左边是平台属性和传感器属性面板

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

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

编辑和修改场景

红色的飞机

选择红色的平面,点击它在平台画布。

使用弹道表和时间-高度图检查其弹道

在属性面板(紫色)中,请注意平面被建模为一个点对象,其长、宽和高维度均为0。缺省情况下,其雷达截面为10 dBsm。

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

单击工具条中的时间-高度图按钮(绿色),显示该飞机的仰角剖面图。绘图显示在与平台画布相同的选项卡中。

观察飞机在3000米高度以83.33米/秒的地面速度水平飞行。轨迹的持续时间是50秒。

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

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

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

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

观察面板中的单稳态雷达传感器特性(黄色)。雷达更新频率为100赫兹,扫描范围为40度方位角和10度仰角。它的视场是方位角1.5度,仰角10度。注意,我们使用10.001 def来确保波束不完全是仰角扫描范围的大小,在这种情况下,雷达将在仰角扫描两次。

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

在Sensor Canvas上,您可以使用工具栏(绿色)来显示塔的侧面视图。轴是平台中心坐标。

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

此外,你可以在工具条图库中选择一个新的传感器并将其安装到塔上,或者在场景中使用平台图库添加一个新的平台,然后在其上安装一个新的传感器。下面的动图说明了这一点。

模拟场景

由于这个场景已经设置好了,下一步是运行模拟以生成合成雷达探测。

点击运行运行模拟。或者,使用下拉菜单进行选择无检测运行只模拟基本真理。

应用程序进入模拟模式并自动开始模拟。你会看到两个飞机沿着它们的轨迹运动。当一架飞机被塔探测到,你可以看到一个深紫色的标记显示在探测的瞬间。

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

回放控制和时间滚动条

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

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

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

矩形滑块可以在模拟的时间范围内向后(左)或向前(右)拖动。

逐步进行模拟,观察雷达在每次扫描之间生成一个单一探测T = 19.30 s而且T = 20.50 s.这是雷达无法分辨两架飞机的模糊区域。

导出到MATLAB

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

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

在点击出口,您将看到一个可以保存到您选择的文件名的脚本。场景视图的当前3D视图角度也被导出到脚本中。

运行生成的脚本

可视化目标和探测

一旦脚本被保存,您就可以运行它并在MATLAB中观察动画戏剧情节。

编辑生成的脚本进行跟踪

控件中所示的定义跟踪器,可以添加以下命令模糊状态下跟踪紧密间隔目标的例子。

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

跟踪场景设计器生成的脚本有几个注释,指示在哪里添加更多代码。

1)配置trackerJPDA

此处配置您的跟踪器:numTracks = 20;门= 45;Vol = 1e9;Beta = 1e-14;Pd = 0.8;Far = 1e-6;追踪器=追踪器...“FilterInitializationFcn”@initCVFilter,...“MaxNumTracks”numTracks,...“MaxNumSensors”, 1...“AssignmentThreshold”门,...“TrackLogic”“集成”...“DetectionProbability”帕金森病,...“ClutterDensity”,远/卷,...“NewTargetDensity”,β,...“TimeTolerance”, 0.05);

2)定义一个轨迹绘图仪

在这里添加一个trackPlotter:trackp = trackPlotter(tp,“DisplayName的”“跟踪”“ConnectHistory”“上”“ColorizeHistory”“上”);

3)定义一个缓冲区,用于循环前的检测

%主要模拟回路detBuffer = {};

4)更新循环内的跟踪器

在这里更新你的追踪器:detBuffer = [detBuffer;依据);% #好< AGROW >如果配置。IsScanDone tracks = tracker(detBuffer,scenario.SimulationTime);pos = getTrackPositions(tracks,[1 0 0 0 0 0 0;0 0 1 0 0 0;0 0 0 0 0 0]);标签=字符串([tracks.TrackID]);detBuffer = {};结束

4)更新轨迹绘图仪

在这里更新trackPlotter:如果配置。IsScanDone trackp.plotTrack (pos、标签);结束

可视化跟踪

通过使用上述添加的内容重新运行脚本来观察跟踪动画。现在你可以看到两架飞机的轨迹了。

总结

在本例中,您使用跟踪场景设计器应用程序加载跟踪场景会话文件。您还学习了如何导航应用程序以及如何模拟场景。在该场景中,一台雷达探测到两架飞机。有一段时间,两架飞机靠得很近,雷达无法分辨它们。您学习了如何将场景导出到MATLAB脚本以重新运行模拟,以及如何修改脚本以添加JPDA跟踪器。