Перемещенный компенсатор импульса антенны центра фазы

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

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

Можно реализовать импульсный компенсатор DPCA с phased.DPCACanceller. Эта реализация принимает, что целый массив используется на передаче. На получают, массив разделен на две подрешетки. Центры фазы подрешеток разделяются дважды расстоянием перемещения платформы в одном импульсном интервале повторения.

Применимость импульсного компенсатора DPCA

Импульсный компенсатор DPCA применим, когда оба этих условия верны:

  • Помеха является стационарной через импульсы.

  • Движение удовлетворяет

    vT=d/2(1)

    где:

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

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

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

Компенсатор импульса DPCA, чтобы отклонить помеху

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

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

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

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

Цель имеет не колеблющийся ЭПР 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;
transmitplatform = phased.Platform('InitialPosition',[0;0;3e3],...
    'Velocity',[0;vy;0]);

target = phased.RadarTarget('MeanRCS',1,...
    'Model','Nonfluctuating','OperatingFrequency',fc);
targetplatform = phased.Platform('InitialPosition',[5e3; 5e3; 0],...
    'Velocity',[15;15;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);

% Load simulated clutter data
load clutterdata

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

NumPulses = 10;
wav = waveform();
M = fs/PRF; 
N = array.NumElements;
rxsig = zeros(M,N,NumPulses);
csig = zeros(M,N,NumPulses);
fasttime = unigrid(0,1/fs,1/PRF,'[)');
rangebins = (c*fasttime)/2;

for n = 1:NumPulses
    [txloc,txvel] = transmitplatform(1/PRF); % move transmitter
    [tgtloc,tgtvel] = targetplatform(1/PRF); % move target
    [~,tgtang] = rangeangle(tgtloc,txloc); % get angle to target
    [txsig1,txstatus] = transmitter(wav);  % transmit pulse
    txsig = radiator(txsig1,tgtang); % radiate pulse
    txsig = channel(txsig,txloc,tgtloc,...
       txvel,tgtvel); % propagate 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
    rxsig(:,:,n) = receiver(rxsig(:,:,n) + csig(:,:,n),...
		~txstatus); % receive pulse plus clutter return 
end

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

sp = radialspeed(tgtloc,tgtvel,txloc,txvel);
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));

Используйте некогерентное импульсное интегрирование, чтобы визуализировать сигнал, полученный ULA для первого из этих десяти импульсов. Отметьте логический элемент целевого диапазона с вертикальной пунктирной линией.

firstpulse = pulsint(rxsig(:,:,1),'noncoherent');
plot([tgtrng/1e3 tgtrng/1e3],[0 0.1],'-.',rangebins/1e3,firstpulse)
title('Noncoherent Integration of 1st Pulse at the ULA')
xlabel('Range (km)')
ylabel('Magnitude');

Figure contains an axes object. The axes object with title Noncoherent Integration of 1st Pulse at the ULA contains 2 objects of type line.

Помеха большой величины возвращается неясный присутствие цели. Примените импульсный компенсатор 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 3.5e-5],'-.',rangebins/1e3,abs(y))
title('DPCA Canceller Output')
xlabel('Range (km)')
ylabel('Magnitude')

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

Импульсный компенсатор DPCA значительно отклонил помеху. В результате цель отображается в ожидаемом логическом элементе области значений.