雷达和目标运动显示
的分阶段。ScenarioViewer
System Object™创建一个三维查看器,以显示雷达仿真中模型的雷达和目标的运动。您可以显示当前位置和速度,对象曲目,位置和速度注释,雷达光束方向和其他对象参数。您可以在仿真过程中更改雷达特征,例如光束范围和光束宽度。你可以使用淘汰
系统对象来建模移动的对象,或者你可以提供自己的动态模型。
该图显示了由地雷达,两个飞机和地面车辆组成的四对象场景。您可以查看生成此数字的代码可视化多平台方案例子。
要创建方案查看器:
请注意
从R2016b开始,不再使用一步
方法执行System对象定义的操作时,可以使用参数调用对象,就像调用函数一样。例如,y =步骤(obj, x)
和y = obj (x)
执行相同操作。
创建场景查看器系统对象,姐姐
=分阶段。ScenarioViewer姐姐
具有默认属性值。
返回一个场景查看器姐姐
= phased.ScenarioViewer(名称,值)姐姐
,带有指定的属性的名字
设置为指定的价值
.的名字
必须出现在单引号内(''
).可以以任意顺序指定多个名称-值对参数name1,value1,...,namen,valuen
.
的名字
- - - - - -窗口标题名称“场景查看器”
(默认)|特征向量窗口标题名称,指定为字符向量。的的名字
财产和标题
属性是不同的。
例子:'MultiTarget Viewer'
数据类型:char
ReferenceRadar
- - - - - -参考雷达索引1
(默认)|正整数参考雷达索引,指定为正整数。此属性选择其中一个雷达作为参考雷达。它的值必须小于或等于您在radar_pos
论点的一步
方法。此属性是可调的。目标距离、径向速度、方位角和仰角是根据该雷达定义的。
例子:2
数据类型:双倍的
展示
- - - - - -显示雷达梁“ReferenceRadar”
(默认)|“没有”
|“所有”
启用显示指定为的雷达波束“ReferenceRadar”
,“没有”
,或“所有”
.这个选项决定显示哪个雷达波束。
选项 | 梁显示 |
---|---|
“ReferenceRadar” |
指示中指定的雷达波束ReferenceRadar 财产。 |
“没有” |
不要显示任何雷达波束。 |
“所有” |
显示所有雷达的波束。 |
此属性是可调的。
例子:“所有”
数据类型:char
波束宽度
- - - - - -垂直和水平雷达波束宽度垂直和水平雷达波束宽度,指定为正实值标量、2元列向量、和N-元素行向量,或2乘-N矩阵。N是雷达的数量。所有标量,向量和矩阵条目都是正,实值的数字0-360°之间。单位是度。
价值规范 | 解释 |
---|---|
标量 | 所有雷达的水平和垂直雷达波束宽度相等和相同。 |
2-element列向量 | 第一行指定水平波束宽度。第二行指定垂直波束宽度。这些值对所有雷达都是相同的。 |
N有效行向量 | 每个元件适用于一个雷达。每个雷达的垂直和水平波束宽度是相等的。 |
2 -N矩阵 | 每列适用于一个雷达。第一行指定每个雷达的水平波束宽度,第二行指定垂直波束宽度。 |
当CameraPerspective
被设定为“雷达”
时,System对象使用此属性计算值CameraViewAngle
.此属性是可调的。
例子:(20 10;18 9]
数据类型:双倍的
BeamRange
- - - - - -雷达波束范围雷达波束距离,指定为正标量或N-element行向量,其中N是雷达的数量。单位是米。当指定为标量时,所有雷达都具有相同的波束范围。当指定为矢量时,每个元素对应一个雷达。此属性是可调的。
例子:(1000 1500 850)
数据类型:双倍的
BeamSteering
- - - - - -光束转向方向(0, 0)
(默认)|正实值2元素列向量|积极的真实价值N有效行向量雷达的光束转向方向,指定为正值的实值2元素柱向量或2-by-N实值矩阵的正值。N是雷达的数量。波束转向角度相对于每个雷达的局部坐标轴。单位是度。每一列采用该表单[azimuthangle; elevationangle]
.当只指定一列时,所有雷达的波束转向方向相同。方位角从-180°到180°,仰角从-90°到90°。此属性是可调的。
例子:[20 60 35;5 0 10]
数据类型:双倍的
VelocityInputPort
- - - - - -使输入速度真正的
(默认)|假
启用速度输入参数,radar_velocity
和tgt_velocity
, 的一步
方法,指定为真正的
或假
.将此属性设置为真正的
启用输入参数。当这个属性假
,速度矢量由连续更新之间的位置变化除以更新间隔来估计。更新间隔与UpdateRate
价值。
例子:假
数据类型:逻辑
OrientationInputPort
- - - - - -使定位输入假
(默认)|真正的
允许输入局部坐标系方向轴,radar_laxes
和tgt_laxes
,一步
方法,指定为假
或真正的
.将此属性设置为真正的
启用输入参数。当这个属性假
时,方向轴与全局坐标轴对齐。
例子:真正的
数据类型:逻辑
UpdateRate
- - - - - -场景查看器的更新速率1
(默认)|积极的标量
更新方案查看器的速度,指定为正标量。单位是赫兹。
例子:2.5
数据类型:双倍的
标题
- - - - - -显示标题''
(默认)|特征向量显示标题,指定为字符向量。的标题
财产和的名字
属性是不同的。显示标题出现在顶部的图形中。名称出现在图形窗口的顶部。此属性是可调的。
例子:“雷达和目标显示”
数据类型:char
PlatformNames
- - - - - -雷达和目标的名称“汽车”
(默认)|1 -(N + M)字符向量的单元格数组分配给雷达和目标的名称,指定为1-by-(N + M)字符向量的单元格数组。N是雷达数量和米为目标的数量。按雷达名称和目标名称排序。名称出现在图例和注释中。当您设置PlatformNames
来“汽车”
,名称是按顺序创建的“雷达1”
对雷达和“目标1”
为目标。
例子:{“固定雷达”,“移动雷达”,“飞机”}
数据类型:细胞
TrailLength
- - - - - -可见航迹长度500
(默认)|正整数|(N + M)正整数的长度向量物体轨迹可见性的长度,指定为正整数或(N + M)正整数的长度向量。N是雷达数量和米为目标的数量。当TrailLength
为标量,所有轨迹具有相同的长度。当TrailLength
是一个矢量,矢量的每个元素指定相应雷达或目标轨迹的长度。通过雷达命令输入,然后是目标。每次呼唤到一步
方法生成一个新的可见点。此属性是可调的。
例子:[100150100]
数据类型:双倍的
CameraPerspective
- - - - - -相机的视角“汽车”
(默认)|“自定义”
|“雷达”
摄像机视角,指定为“汽车”
,“自定义”
,或“雷达”
.当您将此属性设置为“汽车”
,系统对象估计适当的值为摄像机的位置,方向和视角,以显示所有的轨迹。当您将此属性设置为“自定义”
,可以通过摄像机属性或摄像机工具栏设置摄像机的位置、方向和角度。当您将此属性设置为“雷达”
,系统对象从雷达位置和雷达光束转向方向确定相机位置,方向和角度。此属性是可调的。
例子:“雷达”
数据类型:char
CameraPosition
- - - - - -相机的位置[x,y,z]
向量的实际价值相机位置,指定为一个[x,y,z]
实值向量。单位是米。此属性在设置时应用CameraPerspective
来“自定义”
.当您没有指定此属性时,System对象将根据您的显示配置选择值。此属性是可调的。
例子:(100、50、40)
数据类型:双倍的
CameraOrientation
- - - - - -相机方向(锅、倾斜、卷)
正实值的向量摄像机方向,指定为(锅、倾斜、卷)
正实值的向量。单位是度。平移和滚动角度来自-180°来180°.倾斜角度从-90°来90°.摄像机旋转的顺序是:平移、倾斜和滚动。此属性在设置时应用CameraPerspective
来“自定义”
.当您没有指定此属性时,System对象将根据您的显示配置选择值。此属性是可调的。
例子:(180, 45岁,30)
数据类型:双倍的
CameraViewAngle
- - - - - -相机的视角相机视图角度,指定为真实值的标量。单位是度。视角值在0°至360°的范围内。此属性在设置时应用CameraPerspective
来“自定义”
.当您没有指定此属性时,System对象将根据您的显示配置选择值。此属性是可调的。
例子:75
数据类型:双倍的
ShowLegend
- - - - - -给观众的传说假
(默认)|真正的
选项显示查看器图例,指定为假
或真正的
.此属性是可调的。
例子:真正的
数据类型:逻辑
展示
- - - - - -显示地面平面真正的
(默认)|假
选项显示查看器场景的接地面,指定为真正的
或假
.此属性是可调的。
例子:假
数据类型:逻辑
ShowName
- - - - - -选项注释雷达和目标轨道与名称真正的
(默认)|假
用名称注释雷达和目标轨道,指定为真正的
或假
.您可以使用定义自定义平台名称PlatformNames
.此属性是可调的。
例子:假
数据类型:逻辑
ShowPosition
- - - - - -用位置标注雷达和目标航迹假
(默认)|真正的
选项注释雷达和目标轨道与位置,指定为假
或真正的
.此属性是可调的。
例子:真正的
数据类型:逻辑
ShowRange
- - - - - -用距离标注雷达和目标航迹假
(默认)|真正的
选项注释雷达和目标轨道与范围从参考雷达,指定为假
或真正的
.此属性是可调的。
例子:真正的
数据类型:逻辑
ShowAltitude
- - - - - -用高度标注雷达和目标轨迹假
(默认)|真正的
选择用海拔地区注释雷达和目标轨道,指定为假
或真正的
.此属性是可调的。
例子:真正的
数据类型:逻辑
ShowSpeed
- - - - - -用速度注释雷达和目标轨道假
(默认)|真正的
选项注释雷达和目标航迹与速度,指定为假
或真正的
.此属性是可调的。
例子:真正的
数据类型:逻辑
ShowRadialSpeed
- - - - - -以径向速度标注雷达和目标航迹假
(默认)|真正的
选择注释雷达和目标轨道与径向速度,指定为假
或真正的
.径向速度相对于参考雷达。此属性是可调的。
例子:真正的
数据类型:逻辑
ShowAzEl
- - - - - -用方位角和仰角标注雷达和目标轨迹假
(默认)|真正的
选择注释雷达和目标轨道与方位角和仰角相对于参考雷达,指定为假
或真正的
.此属性是可调的。
例子:真正的
数据类型:逻辑
位置
- - - - - -查看器窗口大小和位置[左下宽度]
正实值的向量场景查看器窗口的大小和位置,指定为[左下宽度]
正实值的向量。单位是像素。
左
设置窗口左边缘的位置。
底部
设置窗口下边缘的位置。
宽度
设置窗口的宽度。
高度
设置窗口的高度。
当您没有指定此属性时,窗口将定位在屏幕的中心,并使用宽度
和高度
的值410
和300
像素,分别。此属性是可调的。
例子:[100,200,800,500]
数据类型:双倍的
ReducePlotRate
- - - - - -启用降低的绘图率真正的
(默认)|假
选择降低绘图率以提高性能的选项,指定为真正的
或假
.将此属性设置为真正的
以较低的速度更新给观众。将此属性设置为假
将每个调用更新查看器一步
方法。这种模式对查看器性能有不利影响。此属性是可调的。
例子:假
数据类型:逻辑
可视化雷达和单个飞机目标的轨迹。雷达静止不动,飞机沿直线飞行。保持雷达波束指向飞机。
创建雷达和飞机平台系统对象™。设置更新速率为0.1 s。
updateRate = 0.1;radarPlatform =分阶段。平台(...“InitialPosition”,[0; 0; 10],...“速度”, (0, 0, 0));airplanePlatforms =分阶段。平台(...“InitialPosition”(5000.0; 3500.0; 6000.0),...“速度”, -300, 0, 0);
创造分阶段。ScenarioViewer
系统对象。显示雷达波束并标注轨道的位置、速度和高度。
然而=分阶段。ScenarioViewer (“BeamRange”, 5000.0,“UpdateRate”,updaterate,...“PlatformNames”, {“地面雷达”,“飞机”},'展示',真的,...“ShowSpeed”,真的,'露天',真的,“ShowLegend”,真正的);
运行场景。每一步,计算与目标的角度。用这个角度引导雷达波束向目标方向移动。
为i = 1:100 [radar_pos,radar_vel] = step(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公里高空飞行的无人驾驶飞机携带。
创建无人机雷达和地面车辆使用淘汰
系统对象™。设置更新速率为0.1 s。
updateRate = 0.1;无人机=分阶段。平台(...“InitialPosition”(100; 1000; 5000),...“速度”, 400, 0, 0);车辆=分阶段。平台(“MotionModel”,“加速”,...“InitialPosition”(5000.0; 3500.0; 0.0),...“InitialVelocity”(40; 5 0),“加速”, (0.1, 0.1, 0));
创造分阶段。ScenarioViewer
系统对象。显示雷达波束并标注轨道的位置、速度和高度。
观众=分阶段。ScenarioViewer (“BeamRange”, 8000.0,波束宽度的2,“UpdateRate”,updaterate,...“PlatformNames”, {'无人机雷达',“汽车”},'展示',真的,...“ShowSpeed”,真的,'露天',真的,“ShowLegend”,真的,'标题','车辆跟踪雷达');
运行场景。每一步,计算与目标的角度。用这个角度引导雷达波束向目标方向移动。
为i = 1:100 [radar_pos,radar_vel] = step(drone,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;
设置转弯飞机使用加速度
模型淘汰
系统对象™。指定飞机从地面雷达的距离和方位角及其仰角的初始位置。飞机在60°方位角距离雷达10公里,高度6公里。飞机正以10m /s²的负速度加速x方向。
airplane1range = 10.0 e3;airplane1Azimuth = 60.0;airplane1alt = 6.0 e3;airplane1Pos0 = [cosd (airplane1Azimuth) * airplane1range;...sind(airplane1azimuth)* airplane1range; airplane1art];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 =分阶段。平台(“MotionModel”,“速度”,...“InitialPosition”groundRadarPos,“速度”,陆地扶手,...“InitialOrientationAxes”、眼睛(3));
使地面车辆以恒定速度移动。
groundVehiclePos = (5 e3, 2 e3, 0) ';groundVehicleVel = (50 50 0) ';groundvehicleplatform =分阶段。平台(“MotionModel”,“速度”,...“InitialPosition”groundVehiclePos,“速度”groundVehicleVel,...“InitialOrientationAxes”、眼睛(3));
让第二架飞机也以恒定速度移动。
airplane2Pos = (8.5 e3, 1 e3, 6000) ';airplane2Vel = (-300100, 20) ';airplane2platform =分阶段。平台(“MotionModel”,“速度”,...“InitialPosition”airplane2Pos,“速度”airplane2Vel,...“InitialOrientationAxes”、眼睛(3));
设置场景查看器。指定雷达的波束范围为8公里,垂直波束宽度为30°,水平波束宽度为2°。用位置、速度、高度和距离标注轨道。
BeamSteering = (0; 50);观众=分阶段。ScenarioViewer (“BeamRange”,8.0e3,波束宽度的,[2; 30],“UpdateRate”,updaterate,...“PlatformNames”, {“地面雷达”,“把飞机”,“汽车”,《飞机2》},'展示',真的,...“ShowSpeed”,真的,'露天',真的,“ShowLegend”,真的,“ShowRange”,真的,...'标题',“多平台的场景”,“BeamSteering”, BeamSteering);
步骤通过显示处理循环,更新雷达和目标位置。在每个步骤中将地基雷达转向角旋转四度。
为n = 1: n [grounddradarpos, grounddradarvel] = grounddradarplatform (updateRate);[airplane1Pos, airplane1Vel airplane1Axes] = airplane1platform (updateRate airplane1Accel);[vehiclePos, vehicleVel] = groundvehicleplatform (updateRate);[airplane2Pos, airplane2Vel] = airplane2platform (updateRate);查看器(groundRadarPos groundRadarVel [airplane1Pos vehiclePos, airplane2Pos),...[Airplane1Vel,Lasevel,Airplane2Vel]);Beamsteering = Viewer.beamstering(1);Beamsteering = Mod(Beamsteering + 4,360.0);如果Beamsteering> 180.0 Beamsteering = Beamsteering - 360.0;结束viewer.BeamSteering (1) = BeamSteering;暂停(0.2);结束
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。