Engee 文档
Notebook

目标波动模型

该示例说明了使用目标模型来描述有效散射区域(ESR)的波动。 该场景由扫描单稳态雷达和SWERLING-2模型描述的EPR目标组成。

1型和2型波动模型的比较

在目标模型1和2中,EPR类型产生于具有近似相等EPR的多个独立小反射器。 总EPR可以随扫描中的每个脉冲(类型2)而变化,或者在由几个脉冲组成的整个扫描中是恒定的(类型1)。 在任何情况下,统计服从具有两个自由度的卡方概率密度函数。

停留时间和雷达扫描

为了简单起见,让我们从旋转雷达开始,其旋转时间为5秒,其对应于72度/秒的旋转或扫描速度。

In [ ]:
Trot = 5.0;
scanrate = 360/Trot;

雷达底部辐射图的主波束宽度为3.0度。 在目标被主波束照亮的时间期间,雷达脉冲击中目标并被反射回雷达。 目标被照亮的时间段称为扫描时间。 雷达将对目标进行3次扫描。

In [ ]:
HPBW = 3.0; # ширина ДН
Tdwell = HPBW/scanrate; # время 1 круга сканирования
Nscan = 3; # количество сканирований

停留期间到达目标的脉冲数取决于脉冲重复率(HSI)。 HSI是脉冲重复周期(RPI)的倒数的值。 假设每秒传输5000个脉冲。

In [ ]:
prf = 5000.0; # частота следовния импульсов
pri = 1/prf; # период повторения импульсов

每个停留时间的脉冲数为

In [ ]:
Np = floor(Int64,Tdwell*prf) 
print("Количество импульсов: $Np")
Количество импульсов: 208

建立2型波动模型

让我们使用EngeePhased对象使用Swerling-2波动模型创建一个目标。RadarTarget. 要创建Swerling-2模型,请将RadarTarget对象的Model属性设置为**"Swerling1""Swerling2"。 这两个选项是等价的。 然后,每次访问对象时,将updatercs**参数设置为true。 这个论点意味着雷达的EPR随着每个脉冲而更新。

将目标模型设置为'Swerling2'。

In [ ]:
tgtmodel = "Swerling2"

使用系统对象配置雷达模型

我们将安装一个辐射天线。 假设天线的工作频率为1GHz。

In [ ]:
fc = 1e9 # несущая частота
antenna = EngeePhased.IsotropicAntennaElement(BackBaffled=true) # объекта антенного элемента приемника
radiator = EngeePhased.Radiator(OperatingFrequency=fc,Sensor=antenna) # излучатель

我们将指示静止天线和目标的位置

In [ ]:
radarplatform = EngeePhased.Platform(InitialPosition=[0;0;0]) # модель движения радара
targetplatform = EngeePhased.Platform(InitialPosition=[2000;0;0]); # модель движения цели

发射信号为线性频率调制信号。 我们将每个对象调用传输一个脉冲。

In [ ]:
waveform = EngeePhased.LinearFMWaveform(PulseWidth=50e-6,
    OutputFormat="Pulses",NumPulses=1);

让我们设置发射放大器。

In [ ]:
transmitter = EngeePhased.Transmitter(PeakPower=1000.0,Gain=40);

将分发环境设置为可用空间。

In [ ]:
channel = EngeePhased.FreeSpace(
    OperatingFrequency=fc,
    TwoWayPropagation=true
);

我们指出雷达目标应该有一个平均值 RCS=1 м^2 做一个模特 Swerling 类型1或2。

In [ ]:
target = EngeePhased.RadarTarget(
    MeanRCS=1,
    OperatingFrequency=fc,
    Model=tgtmodel
);

设置接收天线

In [ ]:
collector = EngeePhased.Collector(
    OperatingFrequency=1e9,
    Sensor=antenna
);

定义用于处理传入信号的一致滤波器。

In [ ]:
wav = waveform(); # вызов прямоугольного генератора
mfilter = EngeePhased.MatchedFilter(
    Coefficients=getMatchedFilter(waveform) # коэффициенты согласованного фильтра
);

"Swerling2"目标的3次扫描的处理周期

雷达系统模型的运行阶段:

  1. 发射信号的产生;
  2. 发射信号的放大;
  3. 目标方向的信号的细化;
  4. 电磁波与目标之间的传播;
  5. 来自目标的EM波的反射;
  6. 使用相控阵天线接收EM波
  7. 对接收信号进行一致滤波的算法的实现

雷达信号幅度的内存分配。

In [ ]:
z = zeros(Nscan,Np);
tp = zeros(Nscan,Np);

仅针对第一个扫描脉冲设置值updatercs=true

In [ ]:
for m = 1:Nscan
    t0 = (m-1)*Trot;
    t = t0;
    updatercs = true;
    for k = 1:Np
        t += pri;
        txwav = transmitter(wav);
        
        # Нахождение координат и скоростей цели и радара
        xradar,vradar = radarplatform(t);
        xtgt,vtgt = targetplatform(t);
        
        # Излучение ЭМ-волны по заданному направлению
        _,ang = rangeangle(xtgt,xradar);
        radwav = radiator(txwav,ang);
        
        # Распространение ЭМ-волны от радара до цели
        propwav = channel(radwav,radarplatform.InitialPosition,
            targetplatform.InitialPosition,[0;0;0],[0;0;0]);
        
        # Отражение ЭМ-волны от цели
        reflwav = target(propwav,updatercs);
        
        # Прием ЭМ-волны с помощью приемной антенны
        collwav = collector(reflwav,ang);
        
        # Применение согласованной фильтрации для пришедшего сигнала
        y = mfilter(collwav);
        z[m,k] = maximum(abs.(y));
        tp[m,k] = t;
    end
end

绘制脉冲幅度

绘制扫描的脉冲幅度作为时间的函数。

In [ ]:
Plots.scatter(tp[:],z[:],lab="")
xlabel!("Время,с")
ylabel!("Амплитуда импульса")
Out[0]:

请注意,脉冲的幅度在单次扫描内变化。

脉冲幅度直方图

我们来构造一个处理后接收信号幅度分布的直方图

In [ ]:
Plots.histogram(z[:].*1e3,lab="")
xlabel!("Амплитуда импульса, мВ")
ylabel!("Количество")
Out[0]:

结论

例中,考虑了雷达系统在检测1个目标时运行的情景,研究了Swerling-2目标波动模型**。