Гибкость частоты в радаре, коммуникациях и системах EW

В этом примере показано, как смоделировать гибкость частоты в радаре, коммуникациях и системах EW, чтобы противостоять эффектам интерференции.

Введение

Активные электронно управляемые системы фазированной решетки могут поддержать несколько приложений с помощью того же оборудования массива. Эти приложения могут включать радар, EW и коммуникации. Однако среды RF, в которых действуют эти типы систем, являются комплексными и иногда враждебными. Например, передатчик помех повторителя может повторить, что полученный радар сигнализирует и ретранслирует его, чтобы перепутать радар. В некоторой литературе это также называется, имитируя. Гибкость частоты может быть эффективным методом, чтобы противостоять сигналам, сгенерированным из интерференционных источников и помочь поддержать эффективные операции этих систем.

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

Системная симуляция в интерференционной свободной среде

Примите X-полосу моностатический радар в начале координат.

fc = 10e9;       % Define frequency of operation for X-band Radar 
fs = 2e6;        % Define sample rate for the systems
c = 3e8;
lambda = c/fc;

radar_pos = [0;0;0];
radar_vel = [0;0;0];

Радарный приемник, который может также функционировать как приемник EW, является с 64 элементами (8x8) URA с половиной интервала длины волны.

% Array specification for the radar
taper = taylorwin(8);
taperURA = taper.*taper';
antenna = phased.URA('Element',phased.CosineAntennaElement,...
    'Size',[8 8],'ElementSpacing',[lambda/2 lambda/2],...
    'Taper',taperURA);

Диаграмму направленности массива показывают в следующем рисунке.

pattern(antenna,fc,'Type','powerdb');

Радар передает линейные импульсы FM. Технические требования передатчика и приемника:

wav = phased.LinearFMWaveform('SampleRate',fs,...
    'PulseWidth', 10e-5, 'SweepBandwidth', 1e5,'PRF',4000,...
    'FrequencyOffsetSource','Input port');

tx = phased.Transmitter('Gain',20,'PeakPower',500);
txArray = phased.WidebandRadiator('SampleRate', fs,...
    'Sensor',antenna,'CarrierFrequency', fc);
rxArray = phased.WidebandCollector('SampleRate', fs,...
    'Sensor',antenna,'CarrierFrequency', fc);
rxPreamp = phased.ReceiverPreamp('Gain',10,'NoiseFigure',5,...
    'SampleRate', fs);

Среда и цель описаны ниже. Широкополосные каналы распространения используются, чтобы позволить нам распространять формы волны с различными несущими частотами.

target = phased.RadarTarget('MeanRCS',100,'OperatingFrequency',fc);

target_pos = [8000;1000;1000];
target_vel = [100;0;0];

% Outgoing and incoming channel
envout = phased.WidebandFreeSpace('TwoWayPropagation',false,...
    'SampleRate', fs,'OperatingFrequency',fc,'PropagationSpeed',c);
envin = phased.WidebandFreeSpace('TwoWayPropagation',false,...
    'SampleRate', fs,'OperatingFrequency',fc,'PropagationSpeed',c);

В этом примере используются два односторонних канала распространения, потому что создающий затор сигнал только распространяет через канал возврата.

Полученное эхо может быть симулировано как

rng(2017);
[tgtRng, tgtAng] = rangeangle(target_pos, radar_pos);          
x = wav(0);                                                     % waveform
xt = tx(x);                                                     % transmit
xtarray = txArray(xt, tgtAng);                                  % radiate
yp = envout(xtarray,radar_pos,target_pos,radar_vel,target_vel); % propagate
yr = target(yp);                                                % reflect
ye = envin(yr,target_pos,radar_pos,target_vel,radar_vel);       % propagate
yt = rxArray(ye,tgtAng);                                        % collect
yt = rxPreamp(yt);                                              % receive

Мы можем выполнить направление оценки прибытия с помощью 2D скана луча и использовали предполагаемый азимут и углы возвышения, чтобы направить формирователь луча.

estimator = phased.BeamscanEstimator2D('SensorArray',antenna,...
    'DOAOutputPort',true,...
    'OperatingFrequency', fc,...
    'NumSignals',1,...
    'AzimuthScanAngles',-40:40,...
    'ElevationScanAngles',-60:60);

[~,doa] = estimator(yt);

beamformer = phased.SubbandPhaseShiftBeamformer('SensorArray',antenna,...
    'OperatingFrequency',fc,'DirectionSource','Input port',...
    'SampleRate',fs, 'WeightsOutputPort',true);

[ybf,~] = beamformer(yt,doa);

Сигнал beamformed может затем быть передан через согласованный фильтр и детектор.

mfcoeff1 = getMatchedFilter(wav);
mf1 = phased.MatchedFilter('Coefficients',mfcoeff1);
y1 = mf1(ybf); 

nSamples = wav.SampleRate/wav.PRF;

t = ((0:nSamples-1)-(numel(mfcoeff1)-1))/fs;
r = t*c/2;
plot(r/1000,abs(y1),'-'); grid on;
xlabel('Range (km)');
ylabel('Pulse Compressed Signal Magnitude');

Figure contains an axes object. The axes object contains an object of type line.

Рисунок показывает, что цель производит доминирующий пик в полученном сигнале.

Анализ сигнала в цели/Передатчике помех

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

Радар фазированной решетки может отфильтровать интерференцию с помощью пространственной обработки. Если цель и создающий затор источник тесно не расположены на угловом пробеле, beamforming может быть эффективным способом подавить передатчик помех. Больше деталей может быть найдено в Первой части Синтеза Диаграммы направленности антенной решетки: Обнуление, Работа с окнами и Утончение примера.

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

Обнаруженные характеристики сигнала отображены ниже

pw = (pulsewidth(abs(yp), fs));
prf = round(1/pulseperiod(abs([yp;yp]), fs));
bw= obw(yp,fs,[],95);

fprintf('Waveform Characteristics:\n');
Waveform Characteristics:
fprintf('Pulse width:\t\t%f\n',pw);
Pulse width:		0.000100
fprintf('PRF:\t\t\t%f\n',prf);
PRF:			4000.000000
fprintf('Sweep bandwidth:\t%f\n',bw);
Sweep bandwidth:	112041.098255

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

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

jwav = phased.LinearFMWaveform('SampleRate',fs,...
    'PulseWidth',pw,'SweepBandwidth',bw,'PRF',prf);

xj = jwav();
Npad = ceil(5500/(c/fs));
xj = circshift(xj,Npad);      % pad zero to introduce corresponding delay

txjam = phased.Transmitter('Gain',0,'PeakPower',5);
xj = txjam(xj);

ye = envin(yr+xj,target_pos,radar_pos,target_vel,radar_vel); 
yt = rxArray(ye,tgtAng);                                 
yt = rxPreamp(yt);                                          

ybfj = beamformer(yt,doa);
y1j = mf1(ybfj); % Jammer plus target return

plot(r/1000,abs(y1j)); grid on;
xlabel('Range (km)');
ylabel('Magnitude');
title('Pulse Compressed Return From Target And Jammer');

Figure contains an axes object. The axes object with title Pulse Compressed Return From Target And Jammer contains an object of type line.

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

Гибкость частоты, чтобы противостоять интерференции

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

В следующей ситуации примите, что переданный сигнал скачкообразно перемещает 500 кГц от исходной несущей частоты 10 ГГц. Поэтому новый сигнал формы волны становится

deltaf = fs/4;
xh = wav(deltaf);  % hopped signal 

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

pspectrum(x+xh,fs,'spectrogram')

Figure contains an axes object. The axes object with title Fres = 81.484 kHz, Tres = 31.5 μs contains an object of type image.

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

xth = tx(xh);                                                   
xtharray = txArray(xth, tgtAng);                                 
yph = envout(xtharray,radar_pos,target_pos,radar_vel,target_vel);
yrh = target(yph);

yeh = envin(yrh+xj,target_pos,radar_pos,target_vel,radar_vel);
yth = rxArray(yeh,tgtAng);                                 
yth = rxPreamp(yth);                                          

ybfh = beamformer(yth,doa);

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

Давайте теперь применим соответствующие полосовые фильтры и согласованные фильтры к полученному сигналу.

Во-первых, создайте полосовой фильтр с помощью полосы пропускания сигнала.

buttercoef = butter(9,bw/fs);

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

bf2 = buttercoef.*exp(1i*2*pi*deltaf*(0:numel(buttercoef)-1)/fs);

Точно так же коэффициент согласованного фильтра должен модулироваться также.

mfcoeff2 = getMatchedFilter(wav,'FrequencyOffset',deltaf);
mf2 = phased.MatchedFilter('Coefficients',mfcoeff2);

% extract bands and apply matched filters
yb2 = mf2(filter(bf2(:),1,ybfh));

% plot the matched filtered signal
plot(r/1000,abs(yb2)); grid on;
xlabel('Range (km)'); ylabel('Magnitude');
title('Pulse Compressed Signal');

Figure contains an axes object. The axes object with title Pulse Compressed Signal contains an object of type line.

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

Сводные данные

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