主要内容

模拟无源雷达传感器和雷达干扰

这个例子展示了如何建模和模拟主动和被动雷达传感器的输出radarDataGenerator。在本例中,您将观察射频(RF)干扰如何影响雷达的探测性能。此外,您可以使用无源雷达传感器来估计射频干扰的位置和类型。

创建场景

评估雷达的跟踪性能需要对射频(RF)场景进行建模。建模流程如下:

  • 产生射频辐射。

  • 从平台传播和反射这些排放。

  • 接收发射,计算干扰损失,并产生检测。

在本例中,您使用由三个平台组成的场景执行以下每个步骤:

  1. 空中平台以500公里/小时的速度从场景底部向北飞行

  2. 空中平台以600公里/小时的速度从场景顶部向南飞行

  3. 空中平台以700公里/小时的速度向东飞行

首先,创建场景并设置场景持续时间,然后创建三个机载平台。

scene = radarScenario;现场。停止时间= 10;% s1号站台:空降,以每小时500公里的速度向北飞行SPD = 500*1e3/3600;% m / sWp1 = [0 0 -6000];Wp2 = [spd*scene.]停止时间0 -6000];Toa = [0;scene.StopTime];平台(场景,“轨迹”waypointTrajectory (“锚点”, (wp1;wp2),“TimeOfArrival”toa));第二站台:空降,时速600公里向南飞行SPD = 600*1e3/3600;% m / sWp1 = [30e3+spd*scene]停止时间0 -6000];Wp2 = [30e3 0 -6000];Toa = [0;scene.StopTime];平台(场景,“轨迹”waypointTrajectory (“锚点”, (wp1;wp2),“TimeOfArrival”toa));3号站台:空中向东飞行,时速700公里SPD = 700*1e3/3600;% m / sWp1 = [10e3 1e3 -6000];Wp2 = [10e3 1e3+spd*scene]StopTime -6000);Toa = [0;scene.StopTime];平台(场景,“轨迹”waypointTrajectory (“锚点”, (wp1;wp2),“TimeOfArrival”toa));

使用theaterPlot创建一个显示场景中的平台及其轨迹的显示器。

Ax =坐标轴;theaterDisplay =“父”ax,“AxesUnit”, (“公里”“公里”“公里”],“XLim”,[-10000 40000],“YLim”, [-20000 20000],“ZLim”(1) e7 1 e7));视图(-90 [90])%交换X和Y轴补丁(“XData”,[-10000 -10000 40000 40000],“YData”,[-20000 20000 20000 20000 -20000],“EdgeColor”“没有”“FaceColor”,[0.8 0.8 0.8],“DisplayName的”“地面”);platPlotter = platformPlotter(“DisplayName的”“平台”“MarkerFaceColor”“k”);plotPlatform (platPlotter vertcat (scene.platformPoses.Position));trackplotter =轨迹绘图仪(theaterDisplay,“DisplayName的”“轨迹”“线型”“- - -”);allTrajectories = cellfun(@(x) x. trajectory . lookuppose (linspace(0,scene. stoptime,10)), scene。平台,“UniformOutput”、假);plotTrajectory (trajPlotter allTrajectories);

图包含一个轴对象。轴对象包含3个类型为patch, line的对象。这些对象代表地面、平台、轨迹。

干扰辐射存在时的雷达探测

通常,雷达工作在其他不希望的射频发射干扰雷达发射的波形的环境中。当这种情况发生时,雷达在干扰信号方向的探测性能下降。将射频发射器连接到场景底部的平台(第一个平台),并将雷达连接到场景顶部的平台(第二个平台)。

创建射频发射器

对射频发射进行建模radarEmitter对象。发射器采用前视配置,方位视野为20度,包括场景中的另外两个平台。有效各向同性辐射功率(EIRP)决定了干扰信号的强度。波形类型是一个用户定义的值,用于枚举场景中出现的各种波形类型。对于此场景,使用值0表示噪声波形类型。

创建干扰发射器。rfEmitter = radarEmitter(1,“没有扫描”“FieldOfView”20 [5],% [z]度“附近”, 200,% dBi“CenterFrequency”300 e6,%赫兹“带宽”, 30 e6,%赫兹“WaveformType”, 0)%对噪音排放使用0
rfEmitter = radarEmitter with properties: EmitterIndex: 1 update: 1 ScanMode: 'No scanning' MountingLocation: [0 00] MountingAngles: [0 00] FieldOfView: [2x1 double] MechanicalAngle: 0 LookAngle: 0 HasElevation: 0 EIRP: 200 CenterFrequency: 300000000 Bandwidth: 30000000 WaveformType: 0 ProcessingGain: 0

将发射器连接到第一个平台。

platEmit = scene.Platforms{1};platEmit。发射器= rfEmitter
platEmit =平台属性:PlatformID: 1 ClassID: 0位置:[0 0 -6000]方向:[0 00]尺寸:[1x1 struct]轨迹:[1x1 waypointTrajectory] PoseEstimator: [1x1 insSensor]发射器:{[1x1 radarEmitter]}传感器:{}签名:{[1x1 rcsSignature]}

创建单站雷达

为第二平台装备单站雷达。使用radarDataGenerator来模拟这种雷达。首先,创建单站雷达使用radarDataGenerator。配置雷达的安装方向,使其扫描其平台前面的方位角扇区。启用INS输入,以便雷达可以使用平台的姿态估计器在场景坐标中输出检测结果。使能干扰输入端口,使上述发射器产生的干扰信号可以传递到雷达。

雷达= radarDataGenerator(2,“部门”“DetectionMode”“单站”“UpdateRate”, 12.5,%赫兹“FieldOfView”, [2 10]);% [z]度雷达。MountingAngles = [0 0 0];% [Z Y X]度雷达。HasINS = true;雷达。InterferenceInputPort = true;雷达。DetectionCoordinates =“场景”
radar = radarDataGenerator with properties: SensorIndex: 2 UpdateRate: 12.5000 DetectionMode: 'Monostatic' ScanMode: 'Mechanical' InterferenceInputPort: 1 EmissionsInputPort: 0 MountingLocation: [0 00] MountingAngles: [0 00] FieldOfView: [2 10] RangeLimits: [0 100000] DetectionProbability: 0.9000 FalseAlarmRate: 1.0000e-06 ReferenceRange: 100000 TargetReportFormat: 'Clustered detection '显示所有属性

把雷达接到第二个平台。

platRadar = scene.Platforms{2};platRadar。传感器=雷达;

更新显示以显示场景中的平台、雷达和发射器。

emitterColor = [0.9290 0.6940 0.1250];radarColor = [0 0.4470 0.7410];platEmitPlotter = platformPlotter(“DisplayName的”“射频发射器”“标记”' d '“MarkerFaceColor”, emitterColor);platRadarPlotter = platformPlotter(“DisplayName的”“单站雷达”“标记”' d '“MarkerFaceColor”, radarColor);platPlotter。DisplayName =“目标”;clearData (platPlotter);covPlotter = coveragePlotter(“α”, 0.2 [0]);detPlotter = detectionPlotter(“DisplayName的”雷达信号检测的“MarkerFaceColor”, radarColor);标题(“使用干扰发射器的雷达探测”);plotPlatform (platRadarPlotter platRadar.pose.Position);plotPlatform (platEmitPlotter platEmit.pose.Position);plotPlatform (platPlotter scene.Platforms {3} .pose.Position);plotCoverage(covPlotter, coverageConfig(scene), [-1 2], {emitterColor, radarColor});

图包含一个轴对象。标题为干扰发射器雷达探测的轴对象包含6个类型为patch, line的对象。这些物体代表地面、目标、轨迹、射频发射器、单基地雷达、雷达探测。

在上图中,搭载前视雷达的平台为蓝色菱形,雷达当前视场为源自平台的蓝色区域。在图的底部,携带干扰射频发射的平台显示为黄色菱形,发射器的电流视场为对应的黄色区域。没有任何发射器或传感器的平台被称为目标并显示为黑色三角形。

模拟单静态检测

在多速率场景中,您可以找到一个更新速率,它是场景中定义的所有传感器和发射器速率的共同分除器,或者您可以使用连续更新,当您调用时,它会自动将场景推进到下一个有效更新时间推进

现场。UpdateRate = 0
scene = radarScenario with properties: isearthcentric: 0 UpdateRate: 0 SimulationTime: 0 StopTime: 10 SimulationStatus: NotStarted Platforms: {1x3 cell}

对于下面循环中的每一步,使用:

  1. 推进根据它们的轨迹移动所有的平台。

  2. 发出更新来自。的发射方向platEmit

  3. 传播将发射直接传播到位于发射器视场内的场景中的每个平台。接收直接路径发射的每个平台都会生成单次反弹反射,该反射也会作为反射发射传播到每个其他平台。

  4. 检测从接收到的辐射产生探测platRadar

下图显示了从发射器到雷达传感器的发射传播。

设置可重复结果的随机种子。rng (2018);plotDets = {};推进(场景)%发射射频信号。txEmiss = emit(scene);%反射场景中平台发出的信号。reflEmiss = propagate(scene, txEmiss);%从单站雷达传感器生成检测。[dets, config] = detect(scene, reflEmiss);%每次雷达完成扇区扫描时复位检测。如果配置。IsScanDone%重置plotDets = dets;其他的%的缓冲plotDets = [plotDets;det];% #好< AGROW >结束更新显示当前平台位置,波束位置和检测。plotPlatform (platRadarPlotter platRadar.pose.Position);plotPlatform (platEmitPlotter platEmit.pose.Position);plotPlatform (platPlotter scene.Platforms {3} .pose.Position);plotCoverage(covPlotter, coverageConfig(scene), [-1 2], {emitterColor, radarColor});如果~isempty(plotDets) allDets = [plotDets{:}];%提取测量位置的列向量= [alldt . measurement]';plotDetection (detPlotter量);结束结束

图包含一个轴对象。标题为干扰发射器雷达探测的轴对象包含6个类型为patch, line的对象。这些物体代表地面、目标、轨迹、射频发射器、单基地雷达、雷达探测。

从上图中可以看出,雷达(蓝色部分)只能探测到场景中间的目标。当雷达的视场(即波束宽度)扫过目标时,探测结果显示为蓝色填充的圆圈。然而,当雷达的波束扫过发射平台(黄色所示)时,由于该平台产生的干扰阻止了雷达的探测,因此不会产生探测。

射频发射的被动检测

在上一节中,雷达无法探测到发射平台的位置,因为该平台的发射掩盖了雷达自身的发射。然而,这种强烈的发射可以通过侦听射频发射的无源传感器检测和识别。这些传感器通常被称为电子支持措施(ESM)。金宝app这些传感器通常在广泛的频率范围内监听,并试图识别唯一的发射器,这些发射器的发射到达的方向,只要可能,发射器使用的波形类型。

创建ESM传感器

重用上一节的场景,但将第一个平台上的单站雷达替换为ESM传感器。使用radarDataGenerator对ESM传感器进行建模,并确保传感器的配置使其中心频率和带宽包括发射器的射频频谱。否则,它将无法探测到发射器。

重启(现场);esm = radarDataGenerator(1,“没有扫描”“DetectionMode”ESM的“UpdateRate”, 12.5,%赫兹“MountingAngles”,[0 0 0],% [Z Y X]度“FieldOfView”30 [10],% [z]度“CenterFrequency”300 e6,%赫兹“带宽”, 30 e6,%赫兹“WaveformTypes”0,%检测干扰波形类型“之内”,真正的)
esm = radarDataGenerator with properties: SensorIndex: 1 EmitterIndex: 1 UpdateRate: 12.5000 DetectionMode: ' esm ' ScanMode: 'No scanning' MountingLocation: [0 00] MountingAngles: [0 00] FieldOfView: [30 10] FalseAlarmRate: 1.0000e-06显示所有属性

将第二平台的雷达更换为ESM传感器。

platESM = scene.Platforms{2};platESM。传感器= esm;

相应地更新可视化。

platRadarPlotter。DisplayName =“ESM传感器”;esmColor = [0.4940 0.1840 0.5560];platRadarPlotter。MarkerFaceColor = esmColor;使用辅助程序添加一个只检测角度的绘图仪删除(detPlotter);esmDetPlotter = helperAngleOnlyDetectionPlotter(“DisplayName的”“ESM检测”“颜色”esmColor,“线型”“- - -”);clearData (covPlotter);plotCoverage(covPlotter, coverageConfig(scene), [-1 1], {emitterColor, esmColor});标题(“射频发射被动检测”);

图包含一个轴对象。标题为“射频发射被动检测”的坐标轴对象包含6个类型为patch、line的对象。这些对象代表地面,目标,轨迹,射频发射器,ESM传感器,ESM探测。

在上图中,雷达被安装在第二个平台上的ESM传感器所取代。ESM传感器的视场显示为洋红色,包括发射平台和目标平台。

模拟ESM检测

现在用ESM传感器代替雷达模拟探测。请注意,由于ESM传感器是被动传感器,因此它无法定位发射平台,但可以指示平台发射的到达方向。这些只有角度的探测显示为从ESM传感器向发射平台发出的射线。

设置可重复结果的随机种子。rng (2018);plotDets = {};Snap = [];推进(场景)%发射射频信号。txEmiss = emit(scene);%反射场景中平台发出的信号。reflEmiss = propagate(scene, txEmiss);%从ESM传感器生成检测。[dets, config] = detect(scene, reflEmiss);%每次雷达完成扇区扫描时复位检测。如果配置。IsScanDone%重置plotDets = dets;其他的%的缓冲plotDets = [plotDets;det];% #好< AGROW >结束更新显示当前平台位置,波束位置和检测。plotPlatform (platRadarPlotter platRadar.pose.Position);plotPlatform (platEmitPlotter platEmit.pose.Position);plotPlatform (platPlotter scene.Platforms {3} .pose.Position);plotCoverage(covPlotter, coverageConfig(scene), [-1 1], {emitterColor, esmColor});plotDetection (esmDetPlotter plotDets);记录t = 2秒时的反射检测。snap = getSnap(ax, scene。SimulationTime, 2, snap);drawnow结束标题(由ESM传感器检测到的射频发射器);

图包含一个轴对象。ESM传感器检测的标题为RF发射器的轴线对象包含6个类型为patch, line的对象。这些对象代表地面,目标,轨迹,射频发射器,ESM传感器,ESM探测。

ESM传感器检测射频发射并估计其到达方向。这个估计由源自传感器并紧密通过发射器的洋红色线表示。角度估计是有噪声的,这就是为什么线没有直接通过发射器的位置。

ESM传感器在其报告的检测中对波形类型进行分类。对于这个发射器,它报告发射器使用的噪声波形类型:0。

依据{1}。ObjectAttributes {1}
ans =带有字段的结构体:TargetIndex: 1 EmitterIndex: 1 WaveformType: 0信噪比:184.8224

注意,传感器检测到的发射信号的信噪比(SNR)非常大,为185 dB。由于射频发射器具有高功率,因此ESM传感器也可以检测到目标发射波形的反射。这是在模拟开始2秒时看到的,此时目标位于发射器的视场内。

图;imshow (snap.cdata);标题(“ESM传感器检测到的发射器和目标”);

图包含一个轴对象。标题为“Emitter”和“Target Detected by an ESM Sensor”的轴对象包含一个类型为image的对象。

前面的图显示了从发射器和目标都检测到的发射,因为目标从发射器接收能量并将波形重新发射回场景,导致它也被ESM传感器检测到。

单站雷达被动探测

单站雷达也发射波形到场景中。有时需要对这些排放物进行被动探测。为此,必须分别对雷达的发射和传感部分进行建模。发射器产生的波形成为场景射频发射的一部分。然后,这些波形可以被其他传感器检测到,比如ESM传感器。

重用之前的相同场景。对于该方案,将单站雷达附加到方案顶部的平台(第二个平台),并将ESM传感器附加到方案底部的平台(第一个平台)。中间平台仍然是一个目标,没有附加发射器或传感器。

重启(现场);

通过对传感器的发射和传感部分进行建模,创建一个单站雷达。使用radarEmitter对单站雷达辐射源进行建模。在此场景中,使用1表示该雷达使用的波形类型。波形类型是由用户定义的枚举,用于表示场景中模拟的不同类型的波形。波形枚举使发射器和传感器知道如何处理这些波形以产生检测。例如,如果发射器的波形类型为1,并且传感器将其包含在其波形列表中,则传感器知道如何处理发射器的发射(例如,使用匹配的滤波器)并实现与该波形相关的处理增益。

创建单站雷达的发射器。radarTx = radarEmitter(2,“部门”“UpdateRate”, 12.5,%赫兹“MountingAngles”,[0 0 0],% [Z Y X]度“FieldOfView”, 10 [2],% [z]度“CenterFrequency”300 e6,%赫兹“带宽”, 3 e6,%赫兹“ProcessingGain”, 50岁,% dB“WaveformType”, 1)使用1表示该雷达的波形。
radarTx = radarEmitter with properties: EmitterIndex: 2 update: 12.5000 ScanMode: 'Mechanical' MountingLocation: [0 00] MountingAngles: [0 00] FieldOfView: [2x1 double] MaxMechanicalScanRate: 75 MechanicalScanLimits: [-45 45] MechanicalAngle: 0 LookAngle: 0 HasElevation: 0 EIRP: 100 CenterFrequency: 300000000 Bandwidth: 3000000 WaveformType: 1 ProcessingGain: 50

使用radarDataGenerator对该方案中接收射频发射的雷达传感部分进行建模,识别与单站发射器的波形类型相对应的发射,并从这些接收到的发射中生成检测。与发射器波形类型不匹配的发射被视为干扰。

当使用radarDataGenerator要对单站雷达的传感部分进行建模,请设置DetectionMode传感器的属性单站。这告诉传感器在处理接收到的射频发射时使用发射器的配置。的EmissionsInputPort属性也必须设置为true以启用检测radarEmission对象。

radarx = radarDataGenerator(2,“DetectionMode”“单站”“EmissionsInputPort”,真的,“EmitterIndex”, radarTx。EmitterIndex,“之内”,真的,“DetectionCoordinates”“场景”
radarRx = radarDataGenerator with properties: SensorIndex: 2 EmitterIndex: 2 DetectionMode: 'Monostatic' InterferenceInputPort: 0 EmissionsInputPort: 1 RangeLimits: [0 100000] FalseAlarmRate: 1.0000e-06显示所有属性

将雷达发射器和传感器连接到第二平台。

platRadar = scene.Platforms{2};platRadar。发射器= radarTx;platRadar。传感器= radarRx;

重复使用之前的ESM传感器,但将ESM传感器的已知波形类型列表设置为包括雷达发出的波形。如果ESM传感器不知道雷达的波形类型,它将不会被检测到。

%将雷达波形添加到ESM传感器的已知波形类型列表中。esm。WaveformTypes = [0 1];%将ESM传感器连接到第一个平台。platESM = scene.Platforms{1};platESM。发射器= {};%移除发射器。platESM。传感器= esm;

更新显示以显示单静态检测和ESM检测。

detPlotter = detectionPlotter(“DisplayName的”雷达信号检测的“MarkerFaceColor”, radarColor);platRadarPlotter。DisplayName =“单站雷达”;platRadarPlotter。MarkerFaceColor = radarColor;platEmitPlotter。DisplayName =“ESM传感器”;platEmitPlotter。MarkerFaceColor = esmColor;clearData (esmDetPlotter);clearData (covPlotter);covcon = coverageConfig(场景);plotCoverage(covPlotter, covcon([1 3]), [1 -2], {esmColor, radarColor});标题(ax,“单站雷达被动探测”);

图包含一个轴对象。标题为“单站雷达被动探测”的轴对象包含patch、line等类型的7个对象。这些对象代表地面、目标、轨迹、ESM传感器、单站雷达、ESM探测、雷达探测。

上图显示了雷达扫描其平台前方的方位角扇形,其中包括目标平台和携带ESM传感器的平台。当雷达的视野(蓝色部分)扫过这两个平台的位置时,雷达会对它们进行探测。然而,当雷达的波束经过ESM传感器的位置时,ESM传感器检测到雷达,并通过从传感器开始绘制一条线来指示估计位置。

设置可重复结果的随机种子。rng (2018);平台= scene.Platforms;numPlat = numel(平台);plotDets = {};Snap = [];推进(场景)%发射射频信号。[txEmiss, txConfigs] = emit(scene);%反射场景中平台发出的信号。reflEmiss = propagate(scene, txEmiss);%从传感器生成检测结果。[dets, config] = detect(scene, reflEmiss, txConfigs);%每次雷达完成扇区扫描时复位检测。如果txConfigs(结束)。IsScanDone%重置plotDets = dets;其他的%的缓冲plotDets = [plotDets;det];% #好< AGROW >结束更新显示当前平台位置,波束位置和检测。plotPlatform (platRadarPlotter platRadar.pose.Position);plotPlatform (platEmitPlotter platEmit.pose.Position);plotPlatform (platPlotter scene.Platforms {3} .pose.Position);covcon = coverageConfig(场景);plotCoverage(covPlotter, covcon([1 3]), [1 -2], {esmColor, radarColor});plotDetection (esmDetPlotter plotDets);plotMonostaticDetection (detPlotter plotDets);记录t = 5.6秒时的反射检测。snap = getSnap(ax, scene。SimulationTime, 5.6, snap);drawnow结束

图包含一个轴对象。标题为“单站雷达被动探测”的轴对象包含patch、line等类型的7个对象。这些对象代表地面、目标、轨迹、ESM传感器、单站雷达、ESM探测、雷达探测。

单站雷达的探测采用radarEmitterradarDataGenerator所示为填充的蓝色圆圈,靠近目标和装有ESM传感器的平台。ESM传感器也能够探测雷达,正如仅角度探测所示,从ESM传感器发出的一条线经过雷达平台附近。

图;imshow (snap.cdata);标题(ESM传感器探测到的雷达和目标);

图包含一个轴对象。标题为“ESM传感器检测到的雷达和目标”的轴对象包含一个图像类型的对象。

由于雷达发射的高功率(EIRP),发射的能量被目标反射到ESM平台上。因此,当雷达发射器的视场扫过目标平台,而目标仍在ESM传感器的视场内时,ESM传感器检测到目标平台。

金宝app支持功能

getSnap在给定的快照时间记录轴的快照。

函数snap = getSnap(hAx, curTime, snapTime, prevSnap)如果~isempty(prevSnap) snap = prevSnap;elseifcurTime >= snapTime && curTime < snapTime + 0.05“关闭”;snap = getframe(hAx.Parent);hAx.Title.Visible =“上”;其他的Snap = [];结束结束

plotMonostaticDetection解析检测以仅绘制单静态检测detectionPlotter

函数plotMonostaticDetection(绘图仪,依据)如果~ isempty(依据)只将单静态检测传递给检测绘图仪radarDetId = cellfun(@(x) x. sensorindex == 2, dets);如果任何(radarDetId)%提取单站雷达的测量位置radarDets = [dets{radarDetId}];= [radardt . measurement];plotDetection(绘图仪、量);结束结束结束