Модели флуктуации цели
Пример иллюстрирует использование моделей цели для описания флуктуаций эффективной площади рассеяния (ЭПР). Сценарий состоит из сканирующего моностатического радара и цели с ЭПР, описываемым моделью "Swerling-2".
Сравнение моделей флуктуации 1 и 2 типа
В моделях цели 1 и 2 тип ЭПР возникает из множества независимых малых отражателей с приблизительно равной ЭПР. Суммарная ЭПР может меняться с каждым импульсом в сканировании (тип 2) или быть постоянной в течение всего сканирования, состоящего из нескольких импульсов (тип 1). В любом случае статистика подчиняется функции плотности вероятности хи-квадрат с двумя степенями свободы.
Время пребывания и радарное сканирование
Для простоты начнем с вращающегося радара, время вращения которого составляет 5 секунд, что соответствует скорости вращения или сканирования 72 градуса/сек.
Trot = 5.0;
scanrate = 360/Trot;
Ширина основного луча диаграммы направленности ДН радара составляет 3,0 градуса. В течение времени, когда цель освещается основным лучом, импульсы радара ударяются о цель и отражаются обратно на радар. Период времени, в течение которого цель освещается, называется временем сканирования. Радар выполнит 3 сканирования цели.
HPBW = 3.0; # ширина ДН
Tdwell = HPBW/scanrate; # время 1 круга сканирования
Nscan = 3; # количество сканирований
Количество импульсов, поступающих на цель за время пребывания, зависит от частоты следования импульсов (ЧСИ). ЧСИ - это величина, обратная периоду повторения импульсов (ППИ). Предположим, что в секунду передается 5000 импульсов.
prf = 5000.0; # частота следовния импульсов
pri = 1/prf; # период повторения импульсов
Количество импульсов за одно время пребывания составляет
Np = floor(Int64,Tdwell*prf)
print("Количество импульсов: $Np")
Установка модели флуктуации 2 типа
Создадим цель цель с моделью флуктуации Swerling-2 с помощью объекта EngeePhased.RadarTarget. Чтобы создать модель Swerling-2, установите свойство Model объекта RadarTarget в значение "Swerling1" или "Swerling2". Оба варианта эквивалентны. Затем, при каждом обращении к объекту, установите аргумент updatercs в true. Этот аргумент означает, что ЭПР радара обновляется при каждом импульсе.
Установите целевую модель на 'Swerling2' .
tgtmodel = "Swerling2"
Настройка модели радара с помощью системных объектов
Установим излучающую антенну. Предположим, что рабочая частота антенны составляет 1 ГГц.
fc = 1e9 # несущая частота
antenna = EngeePhased.IsotropicAntennaElement(BackBaffled=true) # объекта антенного элемента приемника
radiator = EngeePhased.Radiator(OperatingFrequency=fc,Sensor=antenna) # излучатель
Укажем местоположение стационарной антенны и цели
radarplatform = EngeePhased.Platform(InitialPosition=[0;0;0]) # модель движения радара
targetplatform = EngeePhased.Platform(InitialPosition=[2000;0;0]); # модель движения цели
Передаваемый сигнал представляет собой сигнал с линейной частотной модуляцией. Передадим по одному импульсу на вызов объекта.
waveform = EngeePhased.LinearFMWaveform(PulseWidth=50e-6,
OutputFormat="Pulses",NumPulses=1);
Настроим передающий усилитель.
transmitter = EngeePhased.Transmitter(PeakPower=1000.0,Gain=40);
Установиим среду распространения как свободное пространство.
channel = EngeePhased.FreeSpace(
OperatingFrequency=fc,
TwoWayPropagation=true
);
Укажем, что радиолокационная цель должна иметь среднюю RCS=1 м^2
и быть моделью Swerling
типа 1 или 2.
target = EngeePhased.RadarTarget(
MeanRCS=1,
OperatingFrequency=fc,
Model=tgtmodel
);
Задание приемной антенны
collector = EngeePhased.Collector(
OperatingFrequency=1e9,
Sensor=antenna
);
Определите согласованный фильтр для обработки входящего сигнала.
wav = waveform(); # вызов прямоугольного генератора
mfilter = EngeePhased.MatchedFilter(
Coefficients=getMatchedFilter(waveform) # коэффициенты согласованного фильтра
);
Цикл обработки для 3 сканов цели "Swerling 2"
Этапы работы модели радилокационной системы:
- Формирование излучаемого сигнал;
- Усиление передаваемого сигнал;
- Изулчение сигнала в направлении к цели;
- Распространение ЭМ-волны к цели и от нее;
- Отражение ЭМ-волны от цели;
- Прием ЭМ-волны с помощью фазрованной антенной решетки
- Реализация алгоритма согласованной фильтрации принимаемого сигнала
Выделение памяти для амплитуд радиолокационных сигналов.
z = zeros(Nscan,Np);
tp = zeros(Nscan,Np);
Установим значение updatercs = true только для первого импульса сканирования.
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
Постройте график амплитуд импульсов
Постройте график амплитуд импульсов для сканирования как функцию времени.
Plots.scatter(tp[:],z[:],lab="")
xlabel!("Время,с")
ylabel!("Амплитуда импульса")
Обратите внимание, что амплитуда импульсов меняется в пределах одного скана.
Гистограмма амплитуд импульсов
Построим гистограмму распределения амплитуд полученного сигнала после обработки
Plots.histogram(z[:].*1e3,lab="")
xlabel!("Амплитуда импульса, мВ")
ylabel!("Количество")
Заключение
В примере была рассмотрен сценарий работы радиолокационной системы при обнаружении 1 цели для исследования модели флуктуации цели "Swerling-2".