Документация Engee
Notebook

Модели флуктуации цели

Пример иллюстрирует использование моделей цели для описания флуктуаций эффективной площади рассеяния (ЭПР). Сценарий состоит из сканирующего моностатического радара и цели с ЭПР, описываемым моделью "Swerling-2".

Сравнение моделей флуктуации 1 и 2 типа

В моделях цели 1 и 2 тип ЭПР возникает из множества независимых малых отражателей с приблизительно равной ЭПР. Суммарная ЭПР может меняться с каждым импульсом в сканировании (тип 2) или быть постоянной в течение всего сканирования, состоящего из нескольких импульсов (тип 1). В любом случае статистика подчиняется функции плотности вероятности хи-квадрат с двумя степенями свободы.

Время пребывания и радарное сканирование

Для простоты начнем с вращающегося радара, время вращения которого составляет 5 секунд, что соответствует скорости вращения или сканирования 72 градуса/сек.

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

Ширина основного луча диаграммы направленности ДН радара составляет 3,0 градуса. В течение времени, когда цель освещается основным лучом, импульсы радара ударяются о цель и отражаются обратно на радар. Период времени, в течение которого цель освещается, называется временем сканирования. Радар выполнит 3 сканирования цели.

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

Количество импульсов, поступающих на цель за время пребывания, зависит от частоты следования импульсов (ЧСИ). ЧСИ - это величина, обратная периоду повторения импульсов (ППИ). Предположим, что в секунду передается 5000 импульсов.

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

Количество импульсов за одно время пребывания составляет

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

Установка модели флуктуации 2 типа

Создадим цель цель с моделью флуктуации Swerling-2 с помощью объекта EngeePhased.RadarTarget. Чтобы создать модель Swerling-2, установите свойство Model объекта RadarTarget в значение "Swerling1" или "Swerling2". Оба варианта эквивалентны. Затем, при каждом обращении к объекту, установите аргумент updatercs в true. Этот аргумент означает, что ЭПР радара обновляется при каждом импульсе.

Установите целевую модель на 'Swerling2' .

In [ ]:
tgtmodel = "Swerling2"

Настройка модели радара с помощью системных объектов

Установим излучающую антенну. Предположим, что рабочая частота антенны составляет 1 ГГц.

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) # коэффициенты согласованного фильтра
);

Цикл обработки для 3 сканов цели "Swerling 2"

Этапы работы модели радилокационной системы:

  1. Формирование излучаемого сигнал;
  2. Усиление передаваемого сигнал;
  3. Изулчение сигнала в направлении к цели;
  4. Распространение ЭМ-волны к цели и от нее;
  5. Отражение ЭМ-волны от цели;
  6. Прием ЭМ-волны с помощью фазрованной антенной решетки
  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".