主要内容

多平台雷达探测生成

这个例子展示了如何从一个多平台雷达网络生成雷达探测。该网络包括三个远程平台:两个机载平台和一个陆基平台。这些综合数据可用于测试不同目标类型和机动的跟踪体系结构的性能。

雷达平台和目标在场景中被建模为平台.该方案中平台的运动仿真由trackingScenario

%创建一个跟踪场景来管理平台的移动。现场= trackingScenario;%创建跟踪场景现场。UpdateRate = 0;%使用连续更新率来处理不同更新率的传感器sceneDuration = 60;%场景持续时间,单位为秒现场。StopTime = sceneDuration;

带旋转雷达阵列的机载平台

在场景中增加一个空中平台,以650公里/小时的速度向北行驶,巡航高度为10公里。使用路径点生成平台轨迹waypointTrajectory

ht = 10 e3;%海拔(米)社民党= 650 * 1 e3/3600;%速度,单位为m/sstart = [-spd*sceneDuration/2 5e3 -ht];stop = [spd*sceneDuration/2 5e3 -ht];traj = waypointTrajectory (“锚点”(启动、停止),“TimeOfArrival”, (0;sceneDuration]);%用它的轨迹创建机载平台。plat1 =平台(场景,“轨迹”, traj);

在平台上添加一个平面阵列雷达。将雷达安装在平台上方5米的天线罩中。将雷达建模为机械旋转相控阵。雷达以电子方式沿阵列的轴线在仰角上堆叠光束。型号雷达的规格如下表所示:

  • 灵敏度:375公里0 dBsm

  • 机械扫描:方位扫描

  • 机械扫描限制:0至360度

  • 电子扫描:仅仰角扫描

  • 电子扫描限制:-2至45度

  • 视野:1°方位角,47°仰角

  • 测量:方位角,仰角,距离

  • 方位分辨率:1 deg

  • 仰角分辨率:5度

  • 距离分辨率:30米

模型机械旋转雷达使用fusionRadarSensor

sensorIndex = 1;%标识每次检测的原始传感器雷达= fusionRadarSensor (sensorIndex,“旋转”...“MountingLocation”, [0 0 -5],...% m“UpdateRate”, 12.5,...%赫兹“ReferenceRCS”0,...% dBsm“ReferenceRange”375年e3,...% m“ScanMode”“机电”...“MechanicalAzimuthLimits”360年[0],...%度“MechanicalElevationLimits”[0 0],...%度“ElectronicAzimuthLimits”[0 0],...“ElectronicElevationLimits”, 45 [2],...%度“FieldOfView”(1; 47.1),...%度“HasElevation”,真的,...“AzimuthResolution”, 1...%度“ElevationResolution”5,...%度“RangeResolution”30岁的...% m“之内”,真正的);将雷达安装到它的机载平台上。plat1。传感器=雷达;

双雷达阵列机载平台

在巡航高度为8公里、以550公里/小时的速度向南飞行的场景中增加第二个机载平台。

ht = 8 e3;%海拔(米)社民党= 550 * 1 e3/3600;%速度,单位为m/sstart = [spd*sceneDuration/2 5e3 -ht];stop = [-spd*sceneDuration/2 5e3 -ht];traj = waypointTrajectory (“锚点”(启动、停止),“TimeOfArrival”, (0;sceneDuration]);plat2 =平台(场景,“轨迹”, traj);

一个平台上可以安装多个传感器。在平台上方5米处增加一个由两个线性相控阵组成的雷达。安装阵列,这样一个阵列可以看到机身的右侧,另一个阵列可以看到机身的左侧。两组阵列均覆盖平台两侧150度的方位角扇区。仰角不是由线性阵列测量的。该雷达的规格如下表所示:

  • 灵敏度:0 dBsm @ 350公里

  • 机械扫描:不

  • 电子扫描:方位角扫描

  • 电子扫描限制:-75℃至75℃

  • 视场:1°方位角,60°仰角

  • 测量:方位、范围

  • 方位分辨率:1 deg

  • 距离分辨率:30米

模型线性相控阵雷达使用fusionRadarSensor

通过设置雷达偏航90度来创建右面向雷达。sensorIndex = sensorIndex + 1;rightRadar = fusionRadarSensor (sensorIndex,“部门”...“MountingLocation”, [0 0 -5],...% m“MountingAngles”, [90 0 0],...deg,看右边“UpdateRate”, 12.5,...%赫兹“ReferenceRCS”0,...% dBsm“ReferenceRange”350年e3,...% m“ScanMode”“电子”...“ElectronicAzimuthLimits”(-75 75),...%度“FieldOfView”(1; 60),...%度“HasElevation”假的,...“AzimuthResolution”, 1...%度“RangeResolution”30岁的...% m“之内”,真正的);%创建一个相同的雷达查看机身左侧。leftRadar =克隆(rightRadar);sensorIndex = sensorIndex + 1;leftRadar。SensorIndex = SensorIndex;leftRadar.MountingAngles (1) = -90;看左边将两个线性雷达阵列安装到机载平台上。plat2。传感器= {leftRadar, rightRadar};

矩形雷达阵列地面平台

在拖车上方5米处安装一个矩形相控阵地面雷达。该雷达电子测量60度方位角跨度和20度仰角地面以上使用电子光栅扫描模式。

  • 灵敏度:0 dBsm @ 350公里

  • 机械扫描:不

  • 电子扫描:方位和仰角

  • 电子扫描限制:-30至30°方位角,-20至0°仰角

  • 视场:1°方位角,5°仰角

  • 测量:方位角,仰角,距离

  • 方位分辨率:1 deg

  • 仰角分辨率:5度

  • 距离分辨率:30米

对矩形相控阵雷达进行建模fusionRadarSensor

创建一个电子扫描矩形阵列雷达。sensorIndex = sensorIndex + 1;雷达= fusionRadarSensor (sensorIndex,“光栅”...“MountingLocation”, [0 0 -5],...% m“UpdateRate”25岁的...%赫兹“ReferenceRCS”0,...% dBsm“ReferenceRange”350年e3,...% m“ScanMode”“电子”...“ElectronicAzimuthLimits”, 30 [-30],...%度“ElectronicElevationLimits”(-20 0),...%度“FieldOfView”(1、5),...%度“HasElevation”,真的,...“AzimuthResolution”, 1...%度“ElevationResolution”5,...%度“RangeResolution”30岁的...% m“之内”,真正的);将矩形雷达阵列安装到拖车平台上。plat3 =平台(场景,“传感器”、雷达);plat3.Trajectory。Position = [-30e3 30e3 0];plat3.Trajectory。方向=四元数([-60 0 0],“eulerd”“zyx股票”“帧”);

空中目标

在监视区域内增加四个空中目标。

  1. 飞机以每小时700公里的速度在3000米的高度向东北飞行

  2. 跨越客机以每小时900公里的速度在4000米的高度向东南飞行

  3. 客机以每小时600公里的速度在海拔9000米的高空向东飞行

  4. 飞机以300公里/小时的速度飞行,并在3000米的高度执行90度转弯

加上飞往东北的航班。ht = 3 e3;%海拔(米)社民党= 700 * 1 e3/3600;%速度,单位为m/sang = 45;= [sind(ang) sind(ang) 0;-sind(ang) sind(ang) 0;0 0 1);Offset = [-15e3 -25e3 -ht];start = offset - [spd*sceneDuration/2 0 0]*rot;停止= offset + [spd*sceneDuration/2 0 0]*rot;traj = waypointTrajectory (“锚点”(启动、停止),“TimeOfArrival”, (0;sceneDuration]);rcs = rcsSignature (“模式”, (10 10;10 10],...“方位”(-180 180),“高度”(-90 90),...“频率”, 10 e9 [0]);定义目标的自定义RCS签名平台(场景,“轨迹”traj,“签名”、rcs);加上穿越东南的航班。ht = 4 e3;%海拔(米)社民党= 900 * 1 e3/3600;%速度,单位为m/s抵消=[(启动(1)+停止(1)/ 2(开始(2)+停止(2))/ 2 ht);start = offset + [0 -spd*sceneDuration/2 0]*rot;停止= offset + [0 spd*sceneDuration/2 0]*rot;traj = waypointTrajectory (“锚点”(启动、停止),“TimeOfArrival”, (0;sceneDuration]);rcs = rcsSignature;%默认10 dBsm RCS在所有视角平台(场景,“轨迹”traj,“签名”、rcs);增加向东飞行的航班。ht = 9 e3;%海拔(米)社民党= 600 * 1 e3/3600;%速度,单位为m/sstart = [30e3 -spd*sceneDuration/2-20e3 -ht];stop = [30e3 spd*sceneDuration/2-20e3 -ht];traj = waypointTrajectory (“锚点”(启动、停止),“TimeOfArrival”, (0;sceneDuration]);平台(场景,“轨迹”, traj);%默认10 dBsm RCS在所有视角%添加水平加速度为0.3 G的射流转弯。ht = 3 e3;%海拔(米)社民党= 300 * 1 e3/3600;%速度,单位为m/saccel = 0.3 * 9.8;向心加速度m/s^2半径=社民党^ 2 / accel;%转弯半径,单位为米t0 = 0;t1 = t0 + 5;t2 = t1 +π/ 2 *半径/社民党;t3 = sceneDuration;开始= [0e4 -4e4 -ht];wps = [...0 0 0;...开始直线段社民党* t1 0 0;...开始水平转弯社民党* t1 +半径半径0;...水平转弯结束社民党* t1 +半径半径+社民党* (t3-t2) 0];%第二直线段的结束traj = waypointTrajectory (“锚点”,开始+ wps,“TimeOfArrival”, (t0;t1;t2;t3]);平台(场景,“轨迹”, traj);

雷达探测的生成

下面的循环推进平台和目标位置,直到场景结束。对于场景中的每一步,都会从每个平台生成检测。

trackingScenario可按固定时间间隔前进或自动确定下一次更新时间。设置UpdateRate0trackingScenario确定下一次更新时间。

rng (2018);%为可重复的结果设置随机种子%创建一个theaterPlot来显示被检测目标和平台的真实位置和测量位置。theaterDisplay = helperMultiPlatDisplay(现场);标题(“多平台雷达场景”);传奇(“显示”);%显示场景的3D视图。视图(-60年,10);%记录所有检测detLog = {};timeLog = [];推进(场景)在每个平台上生成雷达探测。[引爆器,配置]=检测(现场);%用当前波束位置和检测更新显示。theaterDisplay(依据);记录传感器数据和地面真实情况。detLog = [detLog;依据);% #好< AGROW >timeLog = [timeLog;scene.SimulationTime];% #好< AGROW >结束

图中包含一个轴对象。标题为“多平台雷达场景”的轴对象包含11个类型为patch、line的对象。这些对象代表地面,平台1,检测1,平台2,检测2,平台3,检测3,目标。

注意来自机载平台的宽波束和来自执行光栅扫描的地面雷达的窄波束。你可以在下面的2D视图中可视化地面真实轨迹。四个目标用三角形表示。在x轴上大约30公里处是客机向东(从左到右)飞行。在x轴上大约2公里处是喷气机执行顺时针旋转。再往南是两架横越航线。

视图(-90、90);% 2 d视图

图中包含一个轴对象。标题为“多平台雷达场景”的轴对象包含11个类型为patch、line的对象。这些对象代表地面,平台1,检测1,平台2,检测2,平台3,检测3,目标。

用测量不确定度绘制测井检测曲线。每种颜色对应于产生检测的平台。前面显示的图例适用于以下所有情节。请注意,雷达产生假警报,这是探测远离目标轨迹。

theaterDisplay (detLog);标题([num2str(元素个数(detLog))“检测记录从”num2str(元素个数(timeLog))“模拟步骤”]);传奇(“隐藏”);

图中包含一个轴对象。标题为101 detection Logged from 1501 Simulation Steps的轴对象包含11个类型为patch, line的对象。这些对象代表地面,平台1,检测1,平台2,检测2,平台3,检测3,目标。

下面的3D视图显示了这些探测是如何在高度上分布的。对于带有3D传感器的平台(蓝色和黄色的平台),检测紧紧跟随目标轨迹。二维视图平台的探测(红色平台)在仰角上偏离目标轨迹,因为它的雷达无法在仰角上测量。每一次检测的1-西格玛测量不确定度显示为一个以测量目标位置为中心的灰色椭球(显示为填充圆)。

视图(25 [-60]);% 3 d视图

图中包含一个轴对象。标题为101 detection Logged from 1501 Simulation Steps的轴对象包含11个类型为patch, line的对象。这些对象代表地面,平台1,检测1,平台2,检测2,平台3,检测3,目标。

放大喷气机执行90度水平转弯。1 σ测量不确定度由雷达根据雷达分辨率和每次检测的信噪比报告。距离较远或信噪比较小的目标比距离较近或信噪比较大的目标具有更大的测量不确定性。注意,蓝色探测比黄色探测有更小的测量不确定度。这是因为蓝色探测来自离目标更近的机载平台(平台1),而黄色探测来自地面平台(平台3)。

xlim(9000年[-3000]);ylim(-32000年[-44000]);zlim(0000年[-12000]);轴(“广场”);标题(“喷气机执行水平转向”);

图中包含一个轴对象。标题为Jet execution Horizontal Turn的axis对象包含11个类型为patch, line的对象。这些对象代表地面,平台1,检测1,平台2,检测2,平台3,检测3,目标。

请注意由使用两个线性阵列的机载平台(平台2)产生的红色探测的高度不确定性很大。椭球面在距离和方位角方向上轴小,但在仰角方向上轴大。这是因为这个平台上的线性阵列无法提供海拔估计值。在这种情况下,平台的雷达报告在0度探测,与高程视场相对应的高程不确定性。

放大两架客机。带有旋转阵列的蓝色机载雷达产生的探测次数最少(对这两个目标只有4次探测),但这些探测是最精确的(最小的椭圆)。由于其雷达的360度机械扫描,该平台的探测次数很少,这限制了其波束在场景中重新访问目标的频率。其他平台的雷达具有更小的扫描区域,允许它们以更高的速度重访目标。

视图(20 [-55]);xlim(-10000年[-22000]);ylim(-19000年[-31000]);标题(“穿越飞机”);

图中包含一个轴对象。标题为Crossing Airliners的axis对象包含11个类型为patch、line的对象。这些对象代表地面,平台1,检测1,平台2,检测2,平台3,检测3,目标。

放大那架向东飞行的客机。不同雷达平台对探测次数和精度的相同观测适用。

视图(-70 [10]);xlim(36000年[24000]);ylim(-14000年[-26000]);zlim(-3000[-15000])标题(“飞机旅行东”);

图中包含一个轴对象。标题为“客机向东飞行”的坐标轴对象包含11个类型为patch、line的对象。这些对象代表地面,平台1,检测1,平台2,检测2,平台3,检测3,目标。

总结

这个例子展示了如何对雷达监视网络建模,并模拟由多个机载和地面雷达平台生成的探测。在本例中,您学习了如何定义场景,包括可以静止或运动的目标和平台。您还学习了如何可视化地面真实轨迹、传感器光束、探测和相关的测量不确定性。您可以通过跟踪和融合算法来处理这些合成数据,以评估它们在这种情况下的性能。你也可以修改这个例子来练习你的多目标跟踪针对不同的目标类型和机动。