主要内容

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

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

创建场景

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

  • 产生射频发射。

  • 传播排放,并反映这些排放来自平台。

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

在这个例子中,你使用一个由三个平台组成的场景来执行这些步骤:

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

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

  3. 机载平台在场景中间以700公里/小时的速度向东飞行

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

scene =雷达场景;现场。StopTime = 10;% s1号平台:空中,向北飞行,时速500公里SPD = 500*1e3/3600;% m / sWp1 = [0 0 -6000];Wp2 = [spd*场景。StopTime 0 -6000];Toa = [0;scene.StopTime];平台(场景,“轨迹”waypointTrajectory (“锚点”, (wp1;wp2),“TimeOfArrival”toa));2号平台:空降,南下速度600公里/小时SPD = 600*1e3/3600;% m / sWp1 = [30e3+spd*scene.]StopTime 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*场景。StopTime -6000);Toa = [0;scene.StopTime];平台(场景,“轨迹”waypointTrajectory (“锚点”, (wp1;wp2),“TimeOfArrival”toa));

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

Ax =轴;theaterDisplay = theaterPlot(“父”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],“EdgeColor”“没有”“FaceColor”,[0.8 0.8 0.8],“DisplayName的”“地面”);platPlotter = platformPlotter(theaterDisplay,“DisplayName的”“平台”“MarkerFaceColor”“k”);plotPlatform (platPlotter vertcat (scene.platformPoses.Position));trajPlotter =轨迹plotter (theaterDisplay,“DisplayName的”“轨迹”“线型”“- - -”);alltrajectory = cellfun(@(x) x. trajectory . lookuppose (linspace(0,scene. stoptime,10)),场景。平台,“UniformOutput”、假);plotTrajectory (trajPlotter allTrajectories);

图中包含一个轴对象。axis对象包含三个类型为patch、line的对象。这些物体代表地面、平台和轨迹。

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

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

创建射频发射器

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

创建干扰发射器。rfEmitter = radarEmitter(1,“没有扫描”...“FieldOfView”20 [5],...% [az el]度“附近”, 200,...% dBi“CenterFrequency”300 e6,...%赫兹“带宽”, 30 e6,...%赫兹“WaveformType”, 0)%使用0表示类似噪音的发射
rfEmitter = radarEmitter with properties: EmitterIndex: 1 UpdateRate: 1 ScanMode: 'No scanning' MountingLocation: [0 000] MountingAngles: [0 000] 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输入,以便雷达可以使用平台的姿态估计器在场景坐标中输出探测。打开干扰输入端口,使上面的发射器产生的干扰信号可以传递给雷达。

雷达= radardatgenerator (2,“部门”...“DetectionMode”“单站”...“UpdateRate”, 12.5,...%赫兹“FieldOfView”, [2 10]);% [az el]度雷达。安装角度= [0 0 0];% [Z Y X]度数雷达。HasINS =真;雷达。InterferenceInputPort = true;雷达。DetectionCoordinates =“场景”
radar = radardatagator with properties: SensorIndex: 2 UpdateRate: 12.5000 DetectionMode: 'Monostatic' ScanMode: 'Mechanical' InterferenceInputPort: 1 EmissionsInputPort: 0 MountingLocation: [0 000] MountingAngles: [0 000] FieldOfView: [2 10] RangeLimits: [0 100000] DetectionProbability: 0.9000 FalseAlarmRate: 1.0000 -06 ReferenceRange: 100000 TargetReportFormat: 'Clustered detections'显示所有属性

把雷达接到第二个平台上。

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

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

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

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

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

模拟单点检测

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

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

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

  1. 推进根据轨道移动所有的平台。

  2. 发出更新发射方向platEmit

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

  4. 检测从接收到的排放物中产生检测platRadar

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

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

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

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

射频发射的被动检测

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

创建ESM传感器

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

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

将第二个平台上的雷达替换为ESM传感器。

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

相应地更新可视化。

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

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

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

模拟ESM检测

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

为可重复的结果设置随机种子。rng (2018);plotDets = {};Snap = [];推进(场景)%发射射频信号。txEmiss =发射(场景);反映场景中平台发出的信号。。reflEmiss =传播(场景,txEmiss);从ESM传感器生成检测。[dets, config] = detect(scene, reflEmiss);每次雷达完成扇区扫描时重置探测。如果配置。IsScanDone%重置plotDets = dets;其他的%的缓冲plotDets = [plotDets;dets];% #好< 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,场景。SimulationTime, 2, snap);drawnow结束标题(ESM传感器检测到射频发射器);

图中包含一个轴对象。ESM传感器检测到的带有标题RF发射器的轴对象包含patch、line类型的6个对象。这些物体代表地面、目标、轨迹、射频发射器、ESM传感器、ESM探测。

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

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

依据{1}。ObjectAttributes {1}
ans =带字段的结构:TargetIndex: 1 EmitterIndex: 1 WaveformType: 0 SNR: 184.8224

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

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

图中包含一个轴对象。标题为发射器和目标被ESM传感器检测的轴对象包含一个图像类型的对象。

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

单站雷达的被动探测

单静态雷达也向场景中发射波形。被动探测这些排放物有时是可取的。要做到这一点,你必须分别为雷达的发射和传感部分建模。发射器产生的波形成为场景射频发射的一部分。这些波形可以被其他传感器检测到,比如ESM传感器。

重复使用前面相同的场景。在该场景中,在场景顶部的平台(第二个平台)上安装单站雷达,在场景底部的平台(第一个平台)上安装ESM传感器。中间的平台仍然是一个没有发射器或传感器的目标。

重启(现场);

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

为单一雷达创建发射器。radarTx = radarEmitter(2,“部门”...“UpdateRate”, 12.5,...%赫兹“MountingAngles”,[0 0 0],...% [Z Y X]度数“FieldOfView”, 10 [2],...% [az el]度“CenterFrequency”300 e6,...%赫兹“带宽”, 3 e6,...%赫兹“ProcessingGain”, 50岁,...% dB“WaveformType”, 1)%用1表示该雷达的波形。
radarTx = radarEmitter with properties: EmitterIndex: 2 UpdateRate: 12.5000 ScanMode: 'Mechanical' MountingLocation: [0 000] MountingAngles: [0 000] 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对象。

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

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

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

重复使用以前的ESM传感器,但设置ESM传感器的已知波形类型列表,以包括雷达发射的波形。如果ESM传感器不知道雷达的波形类型,则不会被探测到。

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

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

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

图中包含一个轴对象。单站雷达被动探测的轴类目标包含7个斑、线型目标。这些物体代表地面、目标、轨迹、ESM传感器、单站雷达、ESM探测、雷达探测。

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

为可重复的结果设置随机种子。rng (2018);平台= scene.Platforms;numPlat =数字(平台);plotDets = {};Snap = [];推进(场景)%发射射频信号。[txEmiss, txConfigs] = emit(场景);反映场景中平台发出的信号。。reflEmiss =传播(场景,txEmiss);从传感器生成检测。[dets, config] = detect(scene, reflEmiss, txConfigs);每次雷达完成扇区扫描时重置探测。如果txConfigs(结束)。IsScanDone%重置plotDets = dets;其他的%的缓冲plotDets = [plotDets;dets];% #好< 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,场景。SimulationTime, 5.6, snap);drawnow结束

图中包含一个轴对象。单站雷达被动探测的轴类目标包含7个斑、线型目标。这些物体代表地面、目标、轨迹、ESM传感器、单站雷达、ESM探测、雷达探测。

用单站雷达模拟的探测radarEmitterradarDataGenerator在目标和配备ESM传感器的平台附近显示为填充的蓝色圆圈。ESM传感器也能够探测雷达,正如从ESM传感器发出并经过雷达平台附近的直线所示的仅角度探测所示。

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

图中包含一个轴对象。标题为Radar and Target Detected by an ESM Sensor的坐标轴对象包含一个image类型的对象。

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

金宝app支持功能

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

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

plotMonostaticDetection方法解析检测以仅绘制单一检测detectionPlotter

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