Этот пример показывает, как смоделировать гибкость частоты в радаре, коммуникациях и системах EW, чтобы противостоять эффектам интерференции.
Активные электронно управляемые поэтапные системы массивов могут поддержать несколько приложений с помощью того же оборудования массива. Эти приложения могут включать радар, EW и коммуникации. Однако среды РФ, в которых действуют эти типы систем, являются комплексными и иногда враждебными. Например, передатчик помех повторителя может повторить, что полученный радар сигнализирует и ретранслирует его, чтобы перепутать радар. В некоторой литературе это также называется, имитируя. Гибкость частоты может быть эффективным методом, чтобы противостоять сигналам, сгенерированным из интерференционных источников и помочь поддержать эффективные операции этих систем.
В этом примере мы сначала настраиваем сценарий со стационарным моностатическим радаром и движущейся целью самолета. Самолет затем генерирует сигнал спуфинга, который путает радар. Если радар обнаруживает создающий затор источник, методы гибкости частоты могут использоваться, который позволяет радару преодолевать интерференцию.
Примите 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); 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(); % 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');
Данные показывают, что цель производит доминирующий пик в полученном сигнале.
Радар работает очень хорошо в вышеупомянутом примере. Однако в сложной среде, интерференция может влиять на радарную производительность. Интерференция может быть от других систем, таких как радиосвязь сигнализирует, или создающие затор сигналы. Современные радиолокационные системы должны смочь действовать в таких средах.
Поэтапный радар массивов может отфильтровать интерференцию с помощью пространственной обработки. Если цель и создающий затор источник тесно не расположены на угловом пробеле, 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');
Полученный сигнал теперь содержит и желаемый целевой возврат и создающий затор сигнал. Кроме того, создающий затор сигнал, кажется, ближе. Поэтому радар, более вероятно, соединится к самой близкой цели, думая, что каждый - самая видная угроза, и потратьте меньше ресурса на истинную цель.
Один возможный подход, чтобы смягчить создающее затор последствие в радарном получателе должен принять предопределенное расписание скачкообразного движения частоты. В этом случае форма волны, переданная от радара, может время от времени изменять несущую частоту. Поскольку скачкообразно двигающаяся последовательность только известна радару, передатчик помех не смог бы следовать за изменением сразу же. Вместо этого должно потребоваться больше времени, чтобы получить правильную несущую частоту, прежде чем новый создающий затор сигнал сможет быть сгенерирован. Это также требует, чтобы больше передового оборудования на передатчике помех смогло обработать передачу сигналов по более широкой пропускной способности. Таким образом транзитный участок частоты может создать временной интервал, которым радар управляет, не будучи затронутым сигналом спуфинга. Кроме того, радар может скачкообразно двинуться снова, прежде чем передатчик помех может эффективно сгенерировать сигнал спуфинга.
В следующей ситуации примите, что переданный сигнал скачкообразно перемещает 500 кГц от исходной несущей частоты 10 ГГц. Поэтому новый сигнал формы волны становится
deltaf = fs/4;
xh = x.*exp(1i*2*pi*deltaf*(0:numel(x)-1)'/fs); % change the carrier
Фигура ниже показов спектрограмма и исходного сигнала и скачкообразно перемещенного сигнала. Обратите внимание на то, что скачкообразно перемещенный сигнал является сдвигом в частотном диапазоне по сравнению с исходным сигналом.
pspectrum(x+xh,fs,'spectrogram')
Используя аналогичный подход, обрисованный в общих чертах в более ранних разделах, радарное эхо может быть моделировано с помощью новой формы волны. Обратите внимание на то, что, поскольку передатчик помех не знает об этом транзитном участке, создающий затор сигнал является все еще тем же самым.
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 = mfcoeff1.*exp(1i*2*pi*deltaf*(0:numel(mfcoeff1)-1)'/fs); 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');
Данные показывают, что с принятием скачкообразного движения частоты, целевое эхо и создающий затор сигнал могут быть разделены. Поскольку передатчик помех находится все еще в исходной полосе, только истинное целевое эхо появляется в новом диапазоне частот, где форма волны в настоящее время занимает, таким образом подавляя влияние передатчика помех.
Этот пример показывает, что принятие гибкости частоты может помочь противостоять создающему затор эффекту в комплексной среде РФ. Пример моделирует систему с формой волны скачкообразного движения частоты и проверяет, что этот метод помогает радиолокационной системе идентифицировать истинное целевое эхо, не будучи перепутанным создающим затор сигналом.