主要内容

phased.ScenarioViewer

显示雷达和目标的运动

描述

phased.ScenarioViewer系统对象™创建一个3 d查看器显示雷达和目标的运动,你在雷达仿真模型。您可以显示当前位置和速度,对象跟踪,位置和速度注释,雷达波束的方向,和其他对象参数。你可以改变雷达波束范围等特性和在模拟波束宽度。您可以使用phased.Platform系统对象模型的移动对象或者你可以提供你自己的动态模型。

这个图显示了一个four-object场景组成的地面雷达,两架飞机和地面车辆。你可以把这个图生成的代码可视化多平台的场景的例子。

创建一个场景查看器:

  1. 定义和设置phased.ScenarioViewer系统对象。看到建设。你可以设置系统在建设时对象属性或离开他们到他们的默认值。您在施工时设置一些属性可以改变。这些属性可调

  2. 调用一步方法更新显示雷达和目标位置的属性phased.ScenarioViewer系统对象。你可以在任何时候改变可调属性。

请注意

从R2016b开始,而不是使用一步定义的方法来执行操作系统对象,您可以调用对象的参数,就好像它是一个函数。例如,y =步骤(obj, x)y = obj (x)执行相同操作。

建设

姐姐= phased.ScenarioViewer查看器系统对象创建一个场景,姐姐默认的属性值。

姐姐= phased.ScenarioViewer(名称,值)查看器系统对象返回一个场景,姐姐任何指定的属性的名字设置为指定价值的名字必须出现在单引号()。您可以指定几个名称-值对参数在任何顺序Name1, Value1,…,的家

属性

全部展开

窗口标题名称,指定为一个特征向量。的的名字财产和标题属性是不同的。

例子:多目标观众的

数据类型:字符

参考雷达指数,指定为一个正整数。这个属性选择的一个参考雷达雷达。其值必须小于或等于雷达中指定的数量radar_pos论点的一步方法。这个属性是可调的。目标区间,径向速度、方位角和仰角对这个定义雷达。

例子:2

数据类型:

使雷达波束的显示,指定为“ReferenceRadar”,“没有”,或“所有”。这个选项决定了哪些雷达波束。

选项 梁显示
“ReferenceRadar” 显示雷达中指定的梁ReferenceRadar财产。
“没有” 不显示任何雷达波束。
“所有” 显示所有雷达的光束。

这个属性是可调的。

例子:“所有”

数据类型:字符

垂直和水平雷达波束宽度,指定为一个积极的实值标量,2-element列向量,N有效行向量或2 -N矩阵。N是雷达的数量。所有标量、向量和矩阵的条目是正,实值数字0 - 360°之间。单位是在度。

价值规范 解释
标量 水平和垂直雷达波束宽度相等和相同的雷达。
2-element列向量 第一行指定水平波束宽度。第二行指定了垂直波束宽度。所有雷达的这些值是相同的。
N有效行向量 适用于每个元素一个雷达。为每个雷达垂直和水平波束宽度相等。
2 -N矩阵 每一列适用于一个雷达。第一行指定水平波束宽度和第二行指定为每个雷达垂直波束宽度。

CameraPerspective被设置为“雷达”,系统对象使用该属性的值来计算CameraViewAngle。这个属性是可调的。

例子:(20 10;18 9]

数据类型:

雷达波束范围,指定为一个积极的标量或N有效行向量,N是雷达的数量。单位是米。当指定为一个标量,所有雷达波束范围相同。当指定为一个向量,每个元素对应于一个雷达。这个属性是可调的。

例子:(1000 1500 850)

数据类型:

光束控制方向的雷达,指定为一个实值2-element列向量或2——积极的价值观N实值矩阵的积极的价值观。N是雷达的数量。光束转向角是相对于本地坐标轴的雷达。单位是在度。每一列的[azimuthangle; elevationangle]。指定当只有一列,所有雷达的光束控制方向是相同的。方位角度都从-180°- 180°,和高度角从-90°- 90°。这个属性是可调的。

例子:[20 60 35;5 0 10]

数据类型:

使速度输入参数,radar_velocitytgt_velocity的,一步方法,指定为真正的。将这个属性设置为真正的使输入参数。当这个属性,速度矢量估计之间的位置变化除以更新间隔连续更新。更新间隔的倒数UpdateRate价值。

例子:

数据类型:逻辑

使局部坐标系方向的输入轴,radar_laxestgt_laxes,一步方法,指定为真正的。将这个属性设置为真正的使输入参数。当这个属性,取向轴与全球坐标轴。

例子:真正的

数据类型:逻辑

更新场景查看器,指定为一个积极的标量。单位是赫兹。

例子:2.5

数据类型:

显示标题,指定为一个特征向量。的标题财产和的名字属性是不同的。显示标题出现在顶部的图。这个名字出现在图的顶部窗口。这个属性是可调的。

例子:“雷达和目标显示”

数据类型:字符

名称分配给雷达和目标,指定为1×-(N + M)单元阵列的特征向量。N雷达和数量吗数量的目标。细胞通过雷达条目名称,其次是目标名称。名字出现在传说和注释。当您设置PlatformNames“汽车”,名字是按顺序从创建的“雷达1”对雷达和“目标1”为目标。

例子:{“固定雷达”,“移动雷达”,“飞机”}

数据类型:细胞

跟踪对象的可见性的长度,一个正整数或指定(N + M)长度向量的正整数。N雷达和数量吗数量的目标。当TrailLength是一个标量,所有歌曲都具有相同的长度。当TrailLength是一个向量,向量的每个元素指定相应的雷达或目标轨迹的长度。订单条目的雷达,紧随其后的是目标。每一个调用一步方法生成一个新的可见点。这个属性是可调的。

例子:[100150100]

数据类型:

相机的角度来看,指定为“汽车”,“自定义”,或“雷达”。当你设定这个属性“汽车”,系统对象估计摄像机的位置,适当的值取向,视角显示所有的踪迹。当你设定这个属性“自定义”,你可以设置相机的位置,方向和角度使用相机属性或相机工具栏。当你设定这个属性“雷达”,系统对象决定了相机位置,方向,并从雷达位置和雷达波束的角度指导方向。这个属性是可调的。

例子:“雷达”

数据类型:字符

相机的位置,作为一个指定[x, y, z]向量的值。单位是米。适用于当您设置这个属性CameraPerspective“自定义”。当你没有指定这个属性,系统根据您的显示器配置对象选择值。这个属性是可调的。

例子:(100、50、40)

数据类型:

相机定位,指定为一个(锅、倾斜、卷)向量的积极,真正的价值。单位是在度。锅,角度值-180°180°。倾斜的角度值-90°90°。相机旋转的顺序执行:锅,倾斜,滚。适用于当您设置这个属性CameraPerspective“自定义”。当你没有指定这个属性,系统根据您的显示器配置对象选择值。这个属性是可调的。

例子:(180,45岁,30)

数据类型:

相机视角,指定为一个实值标量。单位是在度。视角范围的值在0°- 360°。适用于当您设置这个属性CameraPerspective“自定义”。当你没有指定这个属性,系统根据您的显示器配置对象选择值。这个属性是可调的。

例子:75年

数据类型:

选项显示观众传说,指定为真正的。这个属性是可调的。

例子:真正的

数据类型:逻辑

选择展示给观众的地平面场景中,指定为真正的。这个属性是可调的。

例子:

数据类型:逻辑

注释雷达和目标跟踪与名称,指定为真正的。您可以定义自定义平台名称使用PlatformNames。这个属性是可调的。

例子:

数据类型:逻辑

选择注释雷达和目标跟踪位置,指定为真正的。这个属性是可调的。

例子:真正的

数据类型:逻辑

选择注释雷达和目标跟踪的范围从参考雷达、指定为真正的。这个属性是可调的。

例子:真正的

数据类型:逻辑

选择注释雷达和目标跟踪与高度,指定为真正的。这个属性是可调的。

例子:真正的

数据类型:逻辑

选择注释雷达和目标跟踪速度,指定为真正的。这个属性是可调的。

例子:真正的

数据类型:逻辑

选择注释雷达径向速度和目标轨迹,指定为真正的。雷达径向速度是相对于参考。这个属性是可调的。

例子:真正的

数据类型:逻辑

选择注释雷达和目标跟踪与方位角和高度角相对于参考雷达,指定为真正的。这个属性是可调的。

例子:真正的

数据类型:逻辑

场景查看器窗口大小和位置,指定为一个(左底宽高)向量的积极,真正的价值。单位是像素。

  • 设置窗口的左边缘的位置。

  • 设置窗口的底部边缘的位置。

  • 宽度设置窗口的宽度。

  • 高度设置窗口的高度。

没有指定这个属性时,窗口定位在屏幕的中心,宽度高度的值410年300年像素,分别。这个属性是可调的。

例子:[100200800500]

数据类型:

选择减少情节率提高性能,指定为真正的。将此属性设置为真正的更新浏览器速度降低。将此属性设置为每次调用更新查看器一步方法。这种模式下查看器性能带来负面影响。这个属性是可调的。

例子:

数据类型:逻辑

方法

隐藏 隐藏场景查看器窗口
重置 的复位状态系统对象
显示 显示场景查看器窗口
一步 更新场景查看器显示
常见的系统对象
释放

允许系统对象属性值的变化

例子

全部折叠

可视化跟踪单个飞机的雷达和目标。雷达是静止的,飞机正朝着一条直线。保持飞机的雷达波束指向。

™创建雷达和飞机平台系统对象。设置更新速度为0.1秒。

updateRate = 0.1;radarPlatform = phased.Platform (“InitialPosition”(0,0,10),“速度”,(0,0,0));airplanePlatforms = phased.Platform (“InitialPosition”(5000.0;3500.0;6000.0),“速度”,-300,0,0);

创建phased.ScenarioViewer系统对象。显示雷达波束和注释的轨道位置,速度和高度。

然而= phased.ScenarioViewer (“BeamRange”,5000.0,“UpdateRate”updateRate,“PlatformNames”,{“地面雷达”,“飞机”},“ShowPosition”,真的,“ShowSpeed”,真的,“ShowAltitude”,真的,“ShowLegend”,真正的);

运行场景。在每个步骤中,计算目标的角。用这个角度来引导雷达波束指向目标。

i = 1:10 0 [radar_pos radar_vel] =步骤(radarPlatform updateRate);[tgt_pos, tgt_vel] = (airplanePlatforms updateRate)步;(rng, ang) = rangeangle (tgt_pos radar_pos);科学价值。BeamSteering = ang;步骤(然而,radar_pos radar_vel、tgt_pos tgt_vel);暂停(0.1);结束

可视化跟踪的机载雷达和地面车辆目标。机载雷达是由5公里的无人机的飞行高度。

创建无人机雷达和地面车辆使用phased.Platform™系统对象。设置更新速度为0.1秒。

updateRate = 0.1;无人机= phased.Platform (“InitialPosition”(100;1000;5000),“速度”,400,0,0);车辆= phased.Platform (“MotionModel”,“加速”,“InitialPosition”(5000.0;3500.0;0.0),“InitialVelocity”(40;5 0),“加速”,(0.1,0.1,0));

创建phased.ScenarioViewer系统对象。显示雷达波束和注释的轨道位置,速度和高度。

观众= phased.ScenarioViewer (“BeamRange”,8000.0,波束宽度的2,“UpdateRate”updateRate,“PlatformNames”,{“无人机雷达”,“汽车”},“ShowPosition”,真的,“ShowSpeed”,真的,“ShowAltitude”,真的,“ShowLegend”,真的,“标题”,车辆跟踪雷达的);

运行场景。在每个步骤中,计算目标的角。用这个角度来引导雷达波束指向目标。

i = 1:10 0 [radar_pos radar_vel] =步骤(无人机,updateRate);[tgt_pos, tgt_vel] =(车辆、updateRate)步;(rng, ang) = rangeangle (tgt_pos radar_pos);查看器。BeamSteering = ang;查看器(radar_pos radar_vel、tgt_pos tgt_vel)暂停(1。)结束

这个例子显示了如何创建和显示一个多平台的场景包含地面静止的雷达,将飞机,常速飞机和地面车辆移动。把飞机沿着抛物线飞行路径而下降的速度20米/秒。

指定的场景在0.5 Hz刷新率。150步,300年代场景的时间。

updateRate = 0.5;N = 150;

建立了飞机使用加速度的模型phased.Platform系统对象™。指定范围的飞机的初始位置和地面雷达的方位和仰角。飞机从雷达10公里60°方位,6公里的高度。飞机正在加速在10 m / s²负面的x方向。

airplane1range = 10.0 e3;airplane1Azimuth = 60.0;airplane1alt = 6.0 e3;airplane1Pos0 = [cosd (airplane1Azimuth) * airplane1range;信德(airplane1Azimuth) * airplane1range; airplane1alt);airplane1Vel0 = (400.0, -100.0, -20);airplane1Accel = (-10.0; 0.0; 0.0);airplane1platform = phased.Platform (“MotionModel”,“加速”,“AccelerationSource”,输入端口的,“InitialPosition”airplane1Pos0,“InitialVelocity”airplane1Vel0,“OrientationAxesOutputPort”,真的,“InitialOrientationAxes”、眼睛(3));

设置固定地面雷达在全球坐标系统的起源。模拟一个旋转雷达,改变地面雷达波束转向角处理循环。

groundRadarPos = (0, 0, 0) ';groundRadarVel = (0, 0, 0) ';groundradarplatform = phased.Platform (“MotionModel”,“速度”,“InitialPosition”groundRadarPos,“速度”groundRadarVel,“InitialOrientationAxes”、眼睛(3));

建立了地面车辆在一个恒定的速度移动。

groundVehiclePos = (5 e3, 2 e3, 0) ';groundVehicleVel = (50 50 0) ';groundvehicleplatform = phased.Platform (“MotionModel”,“速度”,“InitialPosition”groundVehiclePos,“速度”groundVehicleVel,“InitialOrientationAxes”、眼睛(3));

设置第二架飞机也在恒定的速度移动。

airplane2Pos = (8.5 e3, 1 e3, 6000) ';airplane2Vel = (-300100, 20) ';airplane2platform = phased.Platform (“MotionModel”,“速度”,“InitialPosition”airplane2Pos,“速度”airplane2Vel,“InitialOrientationAxes”、眼睛(3));

设置场景中查看器。指定雷达波束范围的8公里,垂直波束宽度30°,水平波束宽度2°。注释的轨道位置,速度,高度,和范围。

BeamSteering = (0; 50);观众= phased.ScenarioViewer (“BeamRange”,8.0 e3,波束宽度的(2、30),“UpdateRate”updateRate,“PlatformNames”,{“地面雷达”,“把飞机”,“汽车”,《飞机2》},“ShowPosition”,真的,“ShowSpeed”,真的,“ShowAltitude”,真的,“ShowLegend”,真的,“ShowRange”,真的,“标题”,“多平台的场景”,“BeamSteering”,BeamSteering);

通过显示处理循环,一步更新雷达和目标位置。4度旋转地面雷达转向角的每一个步骤。

n = 1: n [groundRadarPos groundRadarVel] = groundradarplatform (updateRate);[airplane1Pos, airplane1Vel airplane1Axes] = airplane1platform (updateRate airplane1Accel);[vehiclePos, vehicleVel] = groundvehicleplatform (updateRate);[airplane2Pos, airplane2Vel] = airplane2platform (updateRate);查看器(groundRadarPos groundRadarVel [airplane1Pos vehiclePos, airplane2Pos),[airplane1Vel, vehicleVel airplane2Vel]);BeamSteering = viewer.BeamSteering (1);BeamSteering = mod (BeamSteering + 4360 .0);如果BeamSteering > 180.0 BeamSteering = BeamSteering - 360.0;结束viewer.BeamSteering (1) = BeamSteering;暂停(0.2);结束

介绍了R2016a