主要内容

可视化多平台的场景

该示例示出了如何创建和显示包含地面静止雷达,转动飞机,恒定速度飞机和移动地车辆的多平台方案。转动的飞机遵循抛物线飞行路径,同时以20米/秒的速率下降。

指定0.5 Hz的方案刷新率。对于150步,方案的持续时间为300秒。

updaterate = 0.5;n = 150;

使用该车削飞机加速度模型的phased.PlatformSystem Object™。从地面雷达和升高将飞机的初始位置和方位角指定。飞机距离60°方位角的雷达10公里,海拔6公里。飞机在负面的10米/平方中加速X方向。

airplane1range = 10.0 e3;airplane1Azimuth = 60.0;airplane1alt = 6.0 e3;airplane1Pos0 = [cosd (airplane1Azimuth) * airplane1range;......Sind(Airplane1azimuth)* Airplane1Range; Airplane1Alt];Airplane1vel0 = [400.0; -100.0; -20];Airplane1accel = [-10.0; 0.0; 0.0];airplane1platform = phased.platform('motionmodel''加速'......'AccelerationSource''输入端口''初始位置',airplane1pos0,......'初始速度',airplane1vel0,'Orientationaxesoutputport',真正,......'initialOnientationaxes'、眼睛(3));

在全局坐标系的原点设置固定地雷达。为了模拟旋转雷达,将接地雷达光束转向角改变在处理环中。

林地= [0,0,0]';地面radarvel = [0,0,0]';groundradarplatform = phased.platform('motionmodel''速度'......'初始位置',林地,'速度'groundRadarVel,......'initialOnientationaxes'、眼睛(3));

设置地面车辆以恒定的速度移动。

地面= [5e3,2e3,0]';地图= [50,50,0]';地面HICLEPLATFORM = PHASED.PLATFORM('motionmodel''速度'......'初始位置',地面,'速度',地面,......'initialOnientationaxes'、眼睛(3));

设置第二架飞机,以便以恒定的速度移动。

airplane2pos = [8.5e3,1e3,6000]'Airplane2vel = [-300,100,20]';Airplane2platform = phased.platform('motionmodel''速度'......'初始位置',飞机2pos,'速度',airplane2vel,......'initialOnientationaxes'、眼睛(3));

设置方案查看器。将雷达指定为8km的光束范围,垂直光束宽度为30°,水平梁宽度为2°。用位置,速度,高度和范围注释轨道。

BeamSteering = (0; 50);观众= phased.ScenarioViewer ('beamrange', 8.0 e3,'beamwidth'(2、30),“UpdateRate”updateRate,......'platformnames', {'地面雷达''转动飞机'“汽车”'飞机2'},'展示',真正,......“ShowSpeed”,真正,'露天',真正,'陈旧',真正,'showrange',真正,......“标题”'乘法表情景''Beamsteering', BeamSteering);

步骤通过显示处理循环,更新雷达和目标位置。每个步骤在四个度下旋转地基雷达转向角。

对于n = 1:n [groundradarpos,groundradarvel] = proundradarplatform(updaterate);[Airplane1POS,Airplane1Vel,Airplane1axes] = Airplane1platform(Updaterate,Airplane1accel);[车辆,舰载vel] =地面HICLEPLATFORM(Updaterate);[Airplane2POS,Airplane2Vel] = Airplane2platform(Updaterate);查看器(陆地策划,地面,[Airplane1POS,Lesspos,Airplane2pos],......[Airplane1Vel,Lasevel,Airplane2vel]);Beamsteering = Viewer.beamstering(1);Beamsteering = Mod(Beamsteering + 4,360.0);如果Beamsteering> 180.0 Beamsteering = Beamstering  -  360.0;结束查看器.Beamstering(1)= Beamsteering;暂停(0.2);结束