exponenta event banner

Формирование изображения РЛС с синтетической апертурой с прищуренным прожектором (SAR)

В этом примере показано, как моделировать систему радара с синтетической апертурой (SAR) на основе прожектора с использованием линейной ЧМ (LFM) формы сигнала. В случае прищуренного режима платформа SAR наклоняется либо вперед, либо назад на определенный угол от ширины в зависимости от потребности. Режим косоглазия помогает в областях формирования изображения, лежащих перед текущим местоположением радиолокационной платформы, или в местоположениях изображения, лежащих позади местоположения платформы для интерферометрических применений. Проблема в режиме сквинта выше из-за азимутальной связи диапазона. Поскольку разрешение SAR зависит от конфигурации сигнала и антенны, разрешение может быть намного выше, чем для систем визуализации на основе зрения. Используя режим прожектора, этот пример выполняет алгоритм [1,3] переноса дальности до неподвижных целей изображения, лежащих перед местоположением платформы SAR. Линейная ЧМ-форма сигнала обеспечивает преимущество продукта с большой временной полосой пропускания при значительно меньшей мощности передачи, что делает его пригодным для использования в воздушных системах. Дополнительные сведения о терминологии, используемой в этом примере, см. в разделе Формирование изображения радара с синтетической апертурой (SAR).

Конфигурация радара

Рассмотрим воздушный SAR, работающий в C-диапазоне с несущей частотой 4 ГГц и полосой пропускания сигнала 50 МГц. Эта полоса пропускания дает разрешение диапазона 3 метра. Радиолокационная система собирает данные под углом 33 градуса от ширины, как показано на рисунке выше. Задержка в целом соответствует диапазону наклона между целью и платформой. Для системы SAR диапазон наклона будет изменяться во времени, когда платформа пересекает траекторию, ортогональную направлению луча антенны. Этот раздел ниже посвящен определению параметров для формы сигнала передачи. Полоса пропускания развертки LFM может быть определена на основе требуемого разрешения диапазона.

c = physconst('LightSpeed');

Установите центральную частоту SAR.

fc = 4e9;% Hz

Установите требуемый диапазон и разрешение в диапазоне 3 метра.

rangeResolution = 3;% meters
crossRangeResolution = 3;% meters

Полоса пропускания сигнала - это параметр, получаемый из требуемого разрешения диапазона.

bw = c/(2*rangeResolution);

prf = 1000;% Hz
aperture = 4;% sq. meters  
tpd = 3*10^-6; % sec
fs = 120*10^6; % Hz

Сконфигурируйте сигнал LFM РЛС.

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

Предположим, что скорость самолета составляет 100 м/с при продолжительности полета 4 секунды.

speed = 100;% m/s  
flightDuration = 4;% sec
radarPlatform  = phased.Platform('InitialPosition', [0;-600;500], 'Velocity', [0; speed; 0]);
slowTime = 1/prf;
numpulses = flightDuration/slowTime +1;
eta1 = linspace(0,flightDuration ,numpulses)';

maxRange = 2500;
truncrangesamples = ceil((2*maxRange/c)*fs);
fastTime = (0:1/fs:(truncrangesamples-1)/fs);
% Set the reference range for the cross-range processing.
Rc = 1e3;% meters

Сконфигурируйте передатчик и приемник SAR. Антенна выглядит в широком направлении ортогонально направлению полета.

antenna = phased.CosineAntennaElement('FrequencyRange', [1e9 6e9]);
antennaGain = aperture2gain(aperture,c/fc); 

transmitter = phased.Transmitter('PeakPower', 1e3, 'Gain', antennaGain);
radiator = phased.Radiator('Sensor', antenna,'OperatingFrequency', fc, 'PropagationSpeed', c);

collector = phased.Collector('Sensor', antenna, 'PropagationSpeed', c,'OperatingFrequency', fc);
receiver = phased.ReceiverPreamp('SampleRate', fs, 'NoiseFigure', 30);

Сконфигурируйте канал распространения.

channel = phased.FreeSpace('PropagationSpeed', c, 'OperatingFrequency', fc,'SampleRate', fs,...
    'TwoWayPropagation', true);

Конфигурация сцены

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

targetpos= [900,0,0;1000,-30,0]'; 

targetvel = [0,0,0;0,0,0]';

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

squintangle = atand(600/950);
target = phased.RadarTarget('OperatingFrequency', fc, 'MeanRCS', [1,1]);
pointTargets = phased.Platform('InitialPosition', targetpos,'Velocity',targetvel);
% The figure below describes the ground truth based on the target
% locations.
figure(1);
h = axes;plot(targetpos(2,1),targetpos(1,1),'*b');hold all;plot(targetpos(2,2),targetpos(1,2),'*r');hold off;
set(h,'Ydir','reverse');xlim([-50 10]);ylim([800 1200]);
title('Ground Truth');ylabel('Range');xlabel('Cross-Range');

Figure contains an axes. The axes with title Ground Truth contains 2 objects of type line.

Моделирование сигнала SAR

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

rxsig = zeros(truncrangesamples,numpulses);
for ii = 1:numpulses
    % Update radar platform and target position
    [radarpos, radarvel] = radarPlatform(slowTime);
    [targetpos,targetvel] = pointTargets(slowTime);
    
    % Get the range and angle to the point targets
    [targetRange, targetAngle] = rangeangle(targetpos, radarpos);
    
    % Generate the LFM pulse
    sig = waveform();
    % Use only the pulse length that will cover the targets.
    sig = sig(1:truncrangesamples);
    
    % Transmit the pulse
    sig = transmitter(sig);
    
    % Radiate the pulse towards the targets
    sig = radiator(sig, targetAngle);
    
    % Propagate the pulse to the point targets in free space
    sig = channel(sig, radarpos, targetpos, radarvel, targetvel);
    
    % Reflect the pulse off the targets
    sig = target(sig);
    
    % Collect the reflected pulses at the antenna
    sig = collector(sig, targetAngle);
    
    % Receive the signal
    rxsig(:,ii) = receiver(sig);
    
end

kc = (2*pi*fc)/c;
% Compensate for the doppler due to the squint angle
rxsig=rxsig.*exp(-1i.*2*(kc)*sin(deg2rad(squintangle))*repmat(speed*eta1,1,truncrangesamples)).';

Визуализация принятого сигнала.

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

imagesc(real(rxsig));title('SAR Raw Data')
xlabel('Cross-Range Samples')
ylabel('Range Samples')

Figure contains an axes. The axes with title SAR Raw Data contains an object of type image.

Выполните сжатие диапазона.

Сжатие диапазона поможет достичь требуемого разрешения диапазона для полосы пропускания 50 МГц.

pulseCompression = phased.RangeResponse('RangeMethod', 'Matched filter', 'PropagationSpeed', c, 'SampleRate', fs);
matchingCoeff = getMatchedFilter(waveform);
[cdata, rnggrid] = pulseCompression(rxsig, matchingCoeff);

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

imagesc(real(cdata(800:1100,:)));title('SAR Range Compressed Data')
xlabel('Cross-Range Samples')
ylabel('Range Samples')

Figure contains an axes. The axes with title SAR Range Compressed Data contains an object of type image.

Сжатие по азимуту

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

rma_processed = helperSquintRangeMigration(cdata,fastTime,fc,fs,prf,speed,numpulses,c,Rc,squintangle);

Визуализация конечного изображения SAR.

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

figure(2);
imagesc(abs(rma_processed(2300:3600,1100:1400).'));
title('SAR Data focused using Range Migration algorithm ') 
xlabel('Cross-Range Samples') 
ylabel('Range Samples')

Figure contains an axes. The axes with title SAR Data focused using Range Migration algorithm contains an object of type image.

Резюме

В этом примере показано, как моделировать и развивать обработку Squint Spotlight SAR с использованием сигнала LFM в сценарии сбора данных по воздуху. Пример также демонстрирует генерацию изображения из принятого сигнала с помощью модифицированного алгоритма миграции диапазона для обработки эффекта из-за прищуривания.

Ссылки

  1. Каффорио, К., Прати, К. и Рокка, Ф., 1991. Фокусировка данных SAR с использованием методов сейсмической миграции. Сделки IEEE по аэрокосмическим и электронным системам, 27 (2), стр. 194-207.

  2. Сумех, М., 1999. Обработка радиолокационных сигналов с синтезированной апертурой с помощью алгоритмов MATLAB. John Wiley & Sons, Inc.

  3. Stolt, R.H., Миграция методами преобразования Фурье, Geophysics, 1978, 43, pp. 23-48

Приложение

Алгоритм переноса диапазона

function azcompresseddata = helperSquintRangeMigration(sigData,fastTime,fc,fs,prf,speed,numPulses,c,Rc,squintangle)

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

Задайте диапазон частот.

frequencyRange = linspace(fc-fs/2,fc+fs/2,length(fastTime));
krange = 2*(2*pi*frequencyRange)/c;

Задайте число волн в поперечном диапазоне.

kaz = 2*pi*linspace(-prf/2,prf/2,numPulses)./speed;

Формирование матрицы волновых чисел перекрестного диапазона для согласования с размером принятого двумерного сигнала SAR

kc = 2*pi*fc/3e8;
kazimuth = kaz.';
kus=2*(kc)*sin(deg2rad(squintangle));
kx = krange.^2-(kazimuth+kus).^2;

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

thetaRc = deg2rad(squintangle);
kx = sqrt(kx.*(kx > 0));

kFinal = exp(1i*(kx.*cos(thetaRc)+(kazimuth).*sin(thetaRc)).*Rc);
kfin = kx.*cos(thetaRc)+(kazimuth+kus).*sin(thetaRc);

Выполнение двухмерного БПФ для сжатого сигнала диапазона.

sdata =fftshift(fft(fftshift(fft(sigData,[],1),1),[],2),2);

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

fsmPol = (sdata.').*kFinal;

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

stoltPol = fsmPol;
for i = 1:size((fsmPol),1)
    stoltPol(i,:) = interp1(kfin(i,:),fsmPol(i,:),krange(1,:));
end
stoltPol(isnan(stoltPol)) = 1e-30;

azcompresseddata = ifftshift(ifft2(stoltPol),2);

end