Сверлинговые целевые модели

Пример иллюстрирует использование моделей целей Swerling для описания колебаний сечения радара. Сценарий состоит из вращающегося моностатического радара и цели, имеющей радарное сечение, описанное моделью Swerling 2. В этом примере радар и цель являются стационарными.

Модели Swerling 1 от Swerling 2

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

Время задержки и Радиолокационный обзор

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

Trot = 5.0;
scanrate = 360/Trot;

Радиолокатор имеет основную ширину луча полустепени ( HPBW) 3,0 степеней. За то время, что цель освещается основным лучом, радарные импульсы поражают цель и отражаются назад к радару. Период времени, в течение которого цель освещается, называется временем задержки. Это время также называется сканом. Радар обработает 3 сканы цели.

HPBW = 3.0;
Tdwell = HPBW/scanrate;
Nscan = 3;

Количество импульсов, которые поступают на цель во время времени задержки, зависит от частоты повторения импульса (PRF). PRF является обратной переменной интервала повторения импульса (PRI). Предположим, что в секунду передается 5000 импульсов.

prf = 5000.0;
pri = 1/prf;

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

Np = floor(Tdwell*prf);

Настройте модель Swerling 2

Вы создаете цель Swerling 2, правильно используя step метод RadarTarget Системные object™. Чтобы применить модель Swerling 2, установите Model свойство phased.RadarTarget Системные object™ к любому из 'Swerling1' или 'Swerling2'. И то и другое эквивалентно. Затем при каждом вызове в step метод, установите updatercs аргумент в true. Это означает, что поперечное сечение радара обновляется на каждом импульсе.

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

tgtmodel = 'Swerling2';

Настройте радарную модель System object™ компоненты

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

fc = 1e9;
antenna = phased.IsotropicAntennaElement('BackBaffled',true);
radiator = phased.Radiator('OperatingFrequency',fc,'Sensor',antenna);

Укажите местоположение стационарной антенны.

radarplatform = phased.Platform('InitialPosition',[0;0;0]);

Укажите местоположение стационарной цели.

targetplatform = phased.Platform('InitialPosition',[2000; 0; 0]);

Переданный сигнал является линейной FM-формой волны. Передайте один импульс на вызов в step способ.

waveform = phased.LinearFMWaveform('PulseWidth',50e-6,...
    'OutputFormat','Pulses','NumPulses',1);

Настройте усилитель передачи.

transmitter = phased.Transmitter('PeakPower',1000.0,'Gain',40);

Настройте окружение распространения как свободное пространство.

channel = phased.FreeSpace('OperatingFrequency',fc,...
    'TwoWayPropagation',true);

Укажите радиолокационную цель, которая должна иметь среднее значение RCS 1 м2 и быть модели Swerling типа 1 или 2. Можно использовать Swerling 1 или 2 взаимозаменяемо.

target = phased.RadarTarget('MeanRCS',1,'OperatingFrequency',fc,...
    'Model',tgtmodel);

Настройте коллектор радара.

collector = phased.Collector('OperatingFrequency',1e9,...
    'Sensor',antenna);

Задайте согласованный фильтр, чтобы обработать входящий сигнал.

wav = waveform();
filter = phased.MatchedFilter(...
    'Coefficients',getMatchedFilter(waveform));

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

  1. Сгенерируйте форму волны с единичной амплитудой

  2. Усильте сигнал передачи

  3. Излучайте форму волны в нужном направлении к цели

  4. Распространите форму волны на радарную цель и от нее

  5. Отражайте форму волны от радиолокационной цели.

  6. Соберите излучение, чтобы создать принятый сигнал

  7. Соответствие полученного сигнала фильтра

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

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 = 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]);

Отражайте форму волны от цели. Установите updatercs флаг.

        reflwav = target(propwav,updatercs);

Соберите полученную форму волны

        collwav = collector(reflwav,ang);

Примените согласованный фильтр к входящему сигналу

        y = filter(collwav);
        z(m,k) = max(abs(y));
        tp(m,k) = t;
    end
end

Постройте график импульсных амплитуд

Постройте график амплитуд импульсов для скана как функции времени.

plot(tp(:),z(:),'.')
xlabel('Time (sec)')
ylabel('Pulse Amplitude')

Заметьте, что импульсные амплитуды варьируются в пределах скана.

Гистограмма принятых импульсных амплитуд

figure;
hist(z(:),25)
xlabel('Pulse Amplitude')
ylabel('Count')