Пример представляет сценарий вращающегося моностатического радара и цели, описывающей радарное поперечное сечение моделью Swerling 3. В этом примере радар и цель являются стационарными.
В Swerling 3 и целевых моделях Swerling 4, общий RCS является результатом цели, состоящей из одной большой поверхности рассеивания с несколькими другими маленькими поверхностями рассеивания. Общий RCS может меняться в зависимости от каждого импульса на сканировании (Swerling 4) или может быть постоянным по полному сканированию, состоящему из нескольких импульсов (Swerling 3). В любом случае статистические данные повинуются функции плотности вероятности в квадрате хи с четырьмя степенями свободы.
Для простоты запустите с вращающегося радара, имеющего время вращения 5 секунд, соответствуя вращению или частоте развертки 72 степеней/секунда.
Trot = 5.0; scanrate = 360/Trot;
Радар имеет основную ширину луча на уровне половинной мощности (HPBW) 3,0 градусов. В течение времени, когда цель освещается основным лучом, радарные импульсы поражают цель и отражаются назад к радару. Период времени, во время которого освещается цель, называется жить временем. Это время также называется сканированием. Радар обработает 3 сканирования цели.
HPBW = 3.0; Tdwell = HPBW/scanrate; Nscan = 3;
Количество импульсов, которые прибывают в цель в течение жить времени, зависит от импульсной частоты повторения (PRF). PRF является инверсией импульсного интервала повторения (PRI). Примите, что 5 000 импульсов передаются в секунду.
prf = 5000.0; pri = 1/prf;
Количество импульсов в каждый живет, время
Np = floor(Tdwell*prf);
Вы создаете цель Swerling 3 путем соответствующего использования step
метод RadarTarget
Система object™. Чтобы произвести модель Swerling 3, установите Model
свойство phased.RadarTarget
Система object™ к любому 'Swerling3'
или 'Swerling4'
. Оба эквивалентны. Затем в первом вызове step
метод в начале сканирования, набор updatercs
аргумент к true
. Установите updatercs
к false
для остающихся вызовов step
во время сканирования. Это означает, что радарное сечение только обновляется в начале сканирования и остается постоянным для оставшейся части сканирования.
Установите целевую модель на 'Swerling3'
.
tgtmodel = 'Swerling3';
Настройте исходящую антенну. Примите, что рабочая частота антенны составляет 1 ГГц.
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 m2 и быть типа модели Swerling 3 или 4. Можно использовать Swerling 3 или 4 взаимозаменяемо.
target = phased.RadarTarget('MeanRCS',1,'OperatingFrequency',fc,... 'Model',tgtmodel);
Настройте радарный коллектор.
collector = phased.Collector('OperatingFrequency',1e9,... 'Sensor',antenna);
Задайте согласованный фильтр, чтобы обработать входящий сигнал.
wav = step(waveform);
filter = phased.MatchedFilter('Coefficients',getMatchedFilter(waveform));
Сгенерируйте форму волны с модульной амплитудой
Усильте форму волны передачи
Излучите форму волны в желаемом направлении к цели
Распространите форму волны к и от радарной цели
Отразите форму волны от радарной цели
Соберите излучение, чтобы создать полученный сигнал
Совпадайте с фильтром полученный сигнал
Обеспечьте память для радара возвращают амплитуды
z = zeros(Nscan,Np); tp = zeros(Nscan,Np);
Введите цикл. Установите updatercs
к true
только для первого импульса сканирования.
for m = 1:Nscan t0 = (m-1)*Trot; t = t0; for k = 1:Np
if k == 1 updatercs = true; else updatercs = false; end t = t + pri; txwav = transmitter(wav);
Найдите радар и предназначайтесь для положений
[xradar,vradar] = radarplatform(pri); [xtgt,vtgt] = targetplatform(pri);
Излучите форму волны, чтобы предназначаться
[~,ang] = rangeangle(xtgt,xradar); radwav = radiator(txwav,ang);
Распространите форму волны к и от цели
propwav = channel(radwav,xradar,xtgt,vradar,vtgt);
Отразите форму волны от цели. Установите 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')
Заметьте, что импульсные амплитуды являются постоянными в сканировании.