Адаптивный Сдвинутый Центр Фазы Антенны Импульсный Компенсатор

Когда использовать адаптивный импульсный выключатель DPCA

Рассмотрите систему бортового радара, которая должна подавить возвраты беспорядка и возможно вмешательство глушителя. При любом из следующих условий можно выбрать адаптивный импульсный выключатель DPCA (ADPCA) для подавления этих эффектов.

  • Заедание и другие эффекты интерференции являются существенными. Подавитель импульса DPCA подвержен помехам, потому что подавитель импульса DPCA не использует полученные данные.

  • Алгоритм sample matrix inversion (SMI) неприменим из-за вычислительных затрат или быстро изменяющегося окружения.

The phased.ADPCAPulseCanceller объект реализует компенсатор импульсов ADPCA. Этот подавитель импульсов использует данные, полученные от двух последовательных импульсов, чтобы оценить пространственно-временную ковариационную матрицу интерференций. В частности, объект позволяет вам задать:

  • Количество обучающих камер. Алгоритм использует обучающие камеры, чтобы оценить интерференцию. В целом, большее количество обучающих камер приводит к лучшей оценке интерференции.

  • Количество защитных камер, близких к целевым камерам. Алгоритм распознает защитные камеры, чтобы предотвратить загрязнение целевых возвратов оценкой интерференции.

Адаптивный подавитель импульсов DPCA для отклонения загромождения и интерференции

Этот пример реализует адаптивный компенсатор импульса DPCA для отклонения загромождения и помех. Сценарий идентичен сценарию в DPCA Pulse Canceller, чтобы отклонить загромождение, за исключением того, что в местоположении добавляется шум, эквивалентный стационарному широкополосному заглушителю (3.5e3,1e3,0). Джаммер имеет эффективную излучаемую степень 1 кВт.

Чтобы повторить сценарий для удобства, воздушная радиолокационная платформа представляет собой шестиэлементный ULA, работающий на 4 ГГц. Элементы массива разнесены на половину длины волны несущей частоты 4 ГГц. Радар излучает десять прямоугольных импульсов длительностью два мкс с PRF 5 кГц. Платформа движется вдоль оси массива со скоростью, равной половине продукта интервала между элементами и PRF. Подавление импульса ADPCA применимо, потому что vT=d/2 где

  • v указывает скорость платформы

  • T представляет интервал повторения импульса

  • d указывает интервал между межэлементом для массива

Цель имеет неколеблющуюся RCS 1 квадратный метр и движется с вектором постоянной скорости (15,15,0).

PRF = 5e3;
fc = 4e9;
fs = 1e6;
c = physconst('LightSpeed');
antenna = phased.IsotropicAntennaElement...
    ('FrequencyRange',[8e8 5e9],'BackBaffled',true);
lambda = c/fc;
array = phased.ULA(6,'Element',antenna,'ElementSpacing',lambda/2);
waveform = phased.RectangularWaveform('PulseWidth', 2e-6,...
    'PRF',PRF,'SampleRate',fs,'NumPulses',1);
radiator = phased.Radiator('Sensor',array,...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc);
collector = phased.Collector('Sensor',array,...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc);
vy = (array.ElementSpacing * PRF)/2;
transmitterplatform = phased.Platform('InitialPosition',[0;0;3e3],...
    'Velocity',[0;vy;0]);
% Load simulated constant gamma clutter
load clutterdata
target = phased.RadarTarget('MeanRCS',1,...
    'Model','Nonfluctuating','OperatingFrequency',fc);
targetplatform = phased.Platform('InitialPosition',[5e3; 5e3; 0],...
    'Velocity',[15;15;0]);
% add jammer signal with 200 samples per frame and an ERP of 1000 W.
jamsig = sqrt(1000)*randn(200,1);

jammerplatform = phased.Platform(...
    'InitialPosition',[3.5e3; 1e3; 0],'Velocity',[0;0;0]);
channel = phased.FreeSpace('OperatingFrequency',fc,...
    'TwoWayPropagation',false,'SampleRate',fs);
receiver = phased.ReceiverPreamp('NoiseFigure',0,...
    'EnableInputPort',true,'SampleRate',fs,'Gain',40);
transmitter = phased.Transmitter('PeakPower',1e4,...
    'InUseOutputPort',true,'Gain',40);

Распространите десять прямоугольных импульсов на цель и назад и соберите отклики в массиве. Вычислите эхо-сигналы загромождения с помощью постоянной гамма- модели с гамма-значением, соответствующим лесистой местности. Также передайте сигнал заклинивания от местоположения глушителя на бортовой ULA.

NumPulses = 10;
wav = waveform();
M = fs/PRF;
N = array.NumElements;
rxsig = zeros(M,N,NumPulses);
%csig = zeros(M,N,NumPulses);
jsig = zeros(M,N,NumPulses);
fasttime = unigrid(0,1/fs,1/PRF,'[)');
rangebins = (c * fasttime)/2;
receiver.SeedSource = 'Property';
receiver.Seed = 56113;
jamloc = jammerplatform.InitialPosition;
for n = 1:NumPulses
    [txloc,txvel] = transmitterplatform(1/PRF); % move transmitter
    [tgtloc,tgtvel] = targetplatform(1/PRF); % move target
    [~,tgtang] = rangeangle(tgtloc,txloc); % get angle to target
    [txsig,txstatus] = transmitter(wav); % transmit pulse

    txsig = radiator(txsig,tgtang); % radiate pulse
    txsig = channel(txsig,txloc,tgtloc,...
       txvel,tgtvel); % propagate pulse to target
    txsig = target(txsig); % reflect off target
    txsig = channel(txsig,tgtloc,txloc,...
       tgtvel,txvel); % propagate to array
    rxsig(:,:,n) = collector(txsig,tgtang); % collect pulse
    
    [~,jamang] = rangeangle(jamloc,txloc); % angle from jammer to transmitter
    jamsig = channel(jamsig,jamloc,txloc,...
       [0;0;0],txvel); % propagate jammer signal
    jsig(:,:,n) = collector(jamsig,jamang); % collect jammer signal
    
    rxsig(:,:,n) = receiver(...
        rxsig(:,:,n) + csig(:,:,n) + jsig(:,:,n),...
        ~txstatus); % receive pulse plus clutter return plus jammer signal   
end

Определите целевую область значений, ворота области значений и двухсторонний доплеровский сдвиг.

sp = radialspeed(tgtloc, targetplatform.Velocity, ...
    txloc, transmitterplatform.Velocity);
tgtdoppler = 2*speed2dop(sp,lambda);
tgtLocation = global2localcoord(tgtloc,'rs',txloc);
tgtazang = tgtLocation(1);
tgtelang = tgtLocation(2);
tgtrng = tgtLocation(3);
tgtcell = val2ind(tgtrng,c/(2*fs));

Обработайте ответы массива, используя неадаптивный импульсный компенсатор DPCA. Для этого создайте объект DPCA и примените его к принятым сигналам.

canceller = phased.DPCACanceller('SensorArray',array,'PRF',PRF,...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc,...
    'Direction',[0;0],'Doppler',tgtdoppler,...
    'WeightsOutputPort',true);
[y,w] = canceller(rxsig,tgtcell);

Постройте график результата DPCA с целевой областью значений, отмеченным вертикальной штриховой линией. Заметьте, как наличие интерференционного сигнала заслоняет цель.

plot([tgtrng/1e3,tgtrng/1e3],[0 7e-2],'-.',rangebins/1e3,abs(y))
axis tight
xlabel('Range (km)')
ylabel('Magnitude')
title('DPCA Canceller Output with Jamming')

Figure contains an axes. The axes with title DPCA Canceller Output with Jamming contains 2 objects of type line.

Примените адаптивный усилитель импульса DPCA. Используйте 100 обучающих камер и 4 защитных камер, по две на каждой стороне целевого элемента области значений.

canceller = phased.ADPCACanceller('SensorArray',array,'PRF',PRF,...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc,...
    'Direction',[0;0],'Doppler',tgtdoppler,...
    'WeightsOutputPort',true,'NumGuardCells',4,...
    'NumTrainingCells',100);
[y_adpca,w_adpca] = canceller(rxsig,tgtcell);

Постройте график результата с целевой областью значений, отмеченной вертикальной штриховой линией. Заметьте, как адаптивный подавитель импульса DPCA позволяет вам обнаружить цель в присутствии сигнала помехи.

plot([tgtrng/1e3,tgtrng/1e3],[0 4e-7],'-.',rangebins/1e3,abs(y_adpca))
axis tight
title('ADPCA Canceller Output with Jamming')
xlabel('Range (km)')
ylabel('Magnitude')

Figure contains an axes. The axes with title ADPCA Canceller Output with Jamming contains 2 objects of type line.

Исследуйте ответ угла-Допплера. Заметьте наличие хребта загромождения в плоскости угла-Допплера и ядра в широком боковом угле джаммера для всех доплеровских частот.

angdopplerersponse = phased.AngleDopplerResponse('SensorArray',array,...
    'OperatingFrequency',fc,...
    'PropagationSpeed',c,...
    'PRF',PRF,'ElevationAngle',tgtelang);
plotResponse(angdopplerersponse,w_adpca)
title('Angle-Doppler Response with ADPCA Pulse Cancellation')
text(az2broadside(jamang(1),jamang(2)) + 10,...
    0,'\leftarrow Interference Null')

Figure contains an axes. The axes with title Angle-Doppler Response with ADPCA Pulse Cancellation contains 2 objects of type image, text.