主要内容

使用theaterPlot雷达可视化场景

这个例子展示了如何使用theaterPlot对象可视化雷达场景的各个方面。

介绍

theaterPlot是一种有效的工具来可视化雷达场景的各个方面。它是由一个主对象,哪些主机绘图环境基于父轴,和绘图仪绘制雷达的场景所需的各方面的特征。

这幅图显示了结构的表示theaterPlot对象。

属性指定的轴戏剧情节是启用。您可以指定父轴在对象创建的戏剧情节。如果你不指定一个父轴,theaterPlot创建一个新的图,并使用当前的轴图的创建财产。你也可以设置父轴的轴的限制使用XLimits,YLimits,Zlimits在对象创建属性通过使用名称-值参数。设置每个轴使用的度量单位AxesUnits财产。

策划者添加到属性持有策划者theaterPlot对象。

您可以指定每个绘图机视觉元素和效果在绘图仪的创建。每个绘图机还搭配了一个theaterPlot目标函数,您需要调用绘制结果。例如,一个coveragePlotter搭配一个plotCoverage目标函数显示传感器覆盖。

这个例子展示了几个策划者可视化雷达的场景。theaterPlot可以有效工作吗radarScenario对象即使你不一定需要一个雷达场景对象使用theaterPlot对象。

创建theaterPlot和雷达场景对象

创建一个雷达场景对象和一个theaterPlot对象。

simulationDuration = 100;现场= radarScenario (“StopTime”,simulationDuration);tp = theaterPlot (“XLimits”(-250 250),“YLimits”(-250 250),“ZLimits”120年[0]);网格视图(3);;

为目标创建轨迹绘图仪和平台绘图仪

创建一个路径轨迹为目标平台。

timeOfArrival = [0 simulationDuration];路点= [100 -100 10;100 100 80];轨迹= waypointTrajectory(锚点,timeOfArrival);

添加一个长方体目标平台,遵循指定的轨迹。第一个目标平台添加到雷达的场景。

目标=平台(场景,“轨迹”轨迹,“维度”,结构(“长度”,35岁,“宽度”15岁的“高度”,5.5,“OriginOffset”,0 0 0));

然后添加一个trajectoryPlotter对象的theaterPlot对象,并使用plotTrajectory函数来绘制路径轨迹。

trajPlotter = trajectoryPlotter (tp,“DisplayName的”,“轨迹”,“颜色”,“k”,“线宽”,1.2);plotTrajectory (trajPlotter {trajectory.Waypoints})

提示您可以绘制多个相同类型的特性(平台、轨迹方向,保险、检测或跟踪)一起使用一个绘图机。例如,您可以绘制多个轨迹一起通过指定单元阵列的路径点的第二个参数plotTrajectory函数。看到的语法描述plotTrajectory为更多的细节。

定义一个绘图机为目标平台。

targetPlotter = platformPlotter (tp,“DisplayName的”,“目标”,“标记”,“年代”,“MarkerEdgeColor”,‘g’,“MarkerSize”2);plotPlatform (targetPlotter target.Position,target.Dimensions,四元数(target.Orientation“rotvecd”))

您可以添加图形对象以外的绘图仪对象上theaterPlot通过直接策划的父轴theaterPlot对象。把一个圆标记在原点。

持有plot3 (tp.Parent, 0, 0, 0,“颜色”,“k”,“标记”,“o”,“MarkerSize”4)

创建平台安装雷达传感器

塔平台添加到场景。

塔=平台(场景,“位置”(-100,0,0),“维度”,结构(“长度”5,“宽度”5,“高度”30岁的“OriginOffset”[0 0 -15)));

显示塔绘图仪使用平台。

towerPlotter = platformPlotter (tp,“DisplayName的”,“塔”,“标记”,“年代”,“MarkerSize”2);plotPlatform (towerPlotter tower.Position tower.Dimensions,四元数(tower.Orientation,“rotvecd”))

山塔顶的单站雷达。

雷达= radarDataGenerator (1,“DetectionMode”,“单站”,“UpdateRate”5,“MountingLocation”(0,0,30),“FieldOfView”(4,30),“MechanicalAzimuthLimits”,60 [-60],“MechanicalElevationLimits”[0 0],“HasElevation”,真的,“RangeResolution”,200,“AzimuthResolution”,20岁,“ElevationResolution”,20);塔。传感器=雷达;

添加一个coveragePlotter和情节的覆盖率和初始光束单站雷达。当策划报道,plotCoverage目标函数需要一个第二个参数指定的配置传感器覆盖。通过使用获得的配置coverageConfig函数在雷达的场景场景

radarPlotter = coveragePlotter (tp,“颜色”,“b”,“DisplayName的”,“雷达波束”);plotCoverage (radarPlotter coverageConfig(场景)

创建一个检测绘图仪绘制雷达产生的检测。

detPlotter = detectionPlotter (tp,“DisplayName的”,“检测”,“MarkerFaceColor”,“r”,“MarkerSize”4);

运行场景和更新戏剧情节

遍历并生成雷达探测雷达场景。情节的平台、雷达覆盖和检测。

rng (2019)%的可重复的结果推进(场景)%的阴谋的目标。plotPlatform (targetPlotter target.Position,target.Dimensions,四元数(target.Orientation“rotvecd”))%绘制传感器覆盖。plotCoverage (radarPlotter coverageConfig(场景)%从视图中提取目标构成的塔和使用提取的%对生成检测。poseInTower = targetPoses(塔);[检测,numDets] =雷达(poseInTower scene.SimulationTime);detPos = 0 (numDets, 3);detNoise = 0 (3 3 numDets);%获得检测相对于场景框架构成。此外,获得%的协方差检测。i = 1: numDets =检测;detPos(我)= tower.Trajectory。位置+检测{我}.Measurement ';detNoise(:,:我)={我}.MeasurementNoise技术;结束%的阴谋与协方差椭圆任何生成的检测。如果~ isempty (detPos) plotDetection (detPlotter、detPos detNoise)结束结束

图包含一个坐标轴对象。坐标轴对象包含X (m), ylabel Y (m)包含7线,类型的对象。一个或多个行显示的值只使用这些对象标记代表轨迹,目标,塔,雷达波束、检测。

你可以放大检测的协方差图来可视化绘制椭圆生成的检测。

总结

在这个示例中,您了解了组织的theaterPlot对象。您还了解了如何想象一个简单的雷达场景使用theaterPlot对象。