exponenta event banner

Прогноз производительности радара с синтезированной апертурой в космическом пространстве

В этом примере показано, как оценить рабочие характеристики радара с синтезированной апертурой (РСА) и сравнить теоретические пределы с достижимыми требованиями к системе РСА. САР использует движение радиолокационной антенны над областью цели для обеспечения более точного разрешения по азимуту. Учитывая основные параметры как радара (например, рабочая частота, размер антенны и ширина полосы пропускания), так и платформы, на которой он установлен (например, высота, скорость, положение установки), мы определим рабочие параметры, такие как площадь зоны, азимут и разрешение дальности, отношение сигнал/шум (SNR) изображения SAR и эквивалентную отражательную способность шума (NER).

Системные параметры и условные обозначения SAR

Мы рассматриваем радар на спутнике низкой околоземной орбиты (НОО), работающий в С-диапазоне на частоте 5,5 ГГц с полосой пропускания импульсов 500 МГц. Спутник находится на высоте 565 км и движется со скоростью 7,0 км/с. Размеры антенны РЛС составляют 5,2 м (по азимуту) на 1,1 м в высоту. Мы предполагаем, что возвращаемые значения обрабатываются в течение 0,8 секунды и что угол наклона равен 90 градусам.

% Platform configuration
v = 7e3;                     % Velocity (m/s)
h = 565e3;                   % Altitude (m)

% Radar signal configuration
freq = 5.5e9;                % Radar frequency (Hz)
lambda = freq2wavelen(freq); % Wavelength (m)
bw = 500e6;                  % Bandwidth (Hz)
proctime = 0.8;              % Processing time (sec)
 
% Antenna dimensions
daz = 5.2;                   % Along azimuth (m)
del = 1.1;                   % Along height (m)

Реальная ширина луча антенны и коэффициент усиления

Мы используем ap2beamwidth для вычисления реальной ширины луча антенны.

realAntBeamwidth = ap2beamwidth([daz del],lambda) % [Az El] (deg)
realAntBeamwidth = 2×1

    0.6006
    2.8391

Мы используем aperture2gain функция для вычисления коэффициента усиления антенны.

antGain = aperture2gain(daz*del, lambda) % dBi
antGain = 43.8369

Ориентация антенны

Куда направить антенну? Угол углубления часто используется для определения направления наведения антенны.

Эффекты кривизны Земли

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

depang_flat = (45:85)';
grazang_flat = depang_flat;
losrng = h./sind(depang_flat);  % Line-of-sight range (m) 

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

Rearth = physconst('earthradius');
depang_sph = depressionang(h,losrng,'Curved',Rearth);
grazang_sph = grazingang(h,losrng,'Curved',Rearth);

plot(losrng/1e3,[depang_sph-depang_flat grazang_flat-grazang_sph],'Linewidth',1.5)
grid on;
yline(realAntBeamwidth(2)/2,'--') % Half-beam width (Elevation)
xlabel('Line-of-sight Range (km)')
ylabel('Angle Correction (deg)')
legend('Depression angle','Grazing angle','Half Beamwidth (El)','Location','southeast')
title(['Correction due to Earth Curvature - Radar at ',num2str(h/1e3),' km Altitude'])

Распространение без прямой видимости

Энергия радара преломляется атмосферой и изгибается в сторону Земли, позволяя радару видеть за горизонтом. Мы используем effearthradius функция моделирования эффекта тропосферной рефракции методом среднего радиуса кривизны. Поскольку эффективный радиус Земли равен реальному радиусу Земли, мы пришли к выводу, что в этом сценарии тропосферная рефракция ничтожна. В данном исследовании ионосферная рефракция игнорируется.

tgtHeight = 0;                             % Smooth Earth 
NS = 313;                                  % Reference atmosphere N-Units 
Re = effearthradius(min(losrng),h,tgtHeight,'SurfaceRefractivity',NS); % Effective Earth radius (m) 
Re/Rearth
ans = 1

В остальном примере мы выбираем угол углубления 68,96 градусов, который соответствует углу выпаса 67 градусов и диапазону наклона 609,4 км.

depang = depang_sph(24)
depang = 68.9629
grazang = grazang_sph(24)
grazang = 66.9953
slantrng = losrng(24)
slantrng = 6.0937e+05

Площадь и разрешение антенн с реальной и синтетической апертурой

Площадь радиолокатора

Затем мы рассчитаем отпечаток антенны с помощью aperture2swath функция. Компоновочный образ определяется полосой вдоль диапазона (или расстоянием, пройденным в направлении диапазона) и полосой поперечного диапазона (или расстоянием, пройденным в направлении диапазона).

[rangeswath, crngswath] = aperture2swath(slantrng,lambda,[del daz],grazang); 
['Real antenna range footprint: ', num2str(round(engunits(rangeswath),1)), ' km']
ans = 
'Real antenna range footprint: 32.8 km'
['Real antenna cross range footprint: ', num2str(round(engunits(crngswath),1)), ' km']
ans = 
'Real antenna cross range footprint: 6.4 km'

Рассчитываем расстояние от наземной трассы (или надира спутника) до центра радиолокационного луча на земле. Обратите внимание, что, хотя кривизна Земли оказывает небольшое влияние на размер проекции, она сдвигает положение центра балки на 9,5 км в направлении вдоль диапазона для данного наклонного диапазона 609,4 км.

distgrndtrack_flat = h/tand(grazang_flat(24)); % Flat Earth Model
['Distance from nadir to center of the footprint (Flat Earth Model): ', num2str(round(engunits(distgrndtrack_flat),1)), ' km']
ans = 
'Distance from nadir to center of the footprint (Flat Earth Model): 228.3 km'
distgrndtrack = Re*deg2rad(depang-grazang);    % Taking Earth curvature into account
['Distance from nadir to center of the footprint: ', num2str(round(engunits(distgrndtrack),1)), ' km']
ans = 
'Distance from nadir to center of the footprint: 218.8 km'

Чувствительность компоновочного образа к изменениям частоты и угла

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

f = [freq/2 3/4*freq freq 4/3*freq]'; % Operating frequencies (Hz) within C-band
lambdav = freq2wavelen(f);            % Wavelengths (m)
[rangeswathv,crngswathv] = aperture2swath(slantrng,lambdav,[del daz],grazang); 
clf;
plotAntennaFootprintVsFreq(freq,f,rangeswathv,crngswathv);

Затем мы фиксируем рабочую частоту обратно до 5,5 ГГц и анализируем чувствительность поверхности антенны к изменениям угла выпаса. Мы также строим график расстояния от центра радиолокационного следа до наземной трассы спутника (a.k.a. наземный диапазон) как функция углов обзора. Как и ожидалось, проекция балки и расстояние от центра балки до надира уменьшаются при увеличении угла выпаса.

grazv = grazang_sph(8:8:end);             % Grazing angles (degrees)
depangv = depang_sph(8:8:end);
slantrngv = losrng(8:8:end);              % Slant range to the ground
rangeswathv = zeros(1,numel(grazv));
crngswathv = zeros(1,numel(grazv));

distgrndtrackv = Re*deg2rad(depangv-grazv);
for i=1:numel(grazv)
    [rangeswathv(i),crngswathv(i)] = aperture2swath(slantrngv(i),lambda,[del daz],grazv(i));
end
clf;
plotAntennaFootprintVsGrazAng(grazv,distgrndtrackv,rangeswathv,crngswathv,grazang);

Реальное разрешение антенны

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

slantrngres = bw2rangeres(bw)
slantrngres = 0.2998

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

rngres  = slant2grndrangeres(slantrngres,grazang);
disp(['Real antenna ground range resolution: ', num2str(round(rngres,2)), ' m'])
Real antenna ground range resolution: 0.77 m
crngres = crngswath;
disp(['Real antenna cross-range resolution: ', num2str(round(engunits(crngres),1)), ' km'])
Real antenna cross-range resolution: 6.4 km

Далее мы анализируем чувствительность разрешающей способности земного диапазона к изменениям угла выпаса для нескольких полос пропускания сигнала. Наилучшее разрешение диапазона достигается при высокой полосе пропускания сигнала и низком угле выпаса. Для данной полосы пропускания разрешение диапазона ухудшается по мере увеличения угла выпаса. При 500 МГц разрешение диапазона изменяется от 42 см при угле выпаса 45 градусов до 1,73 м при угле выпаса 80 градусов.

bwv = [100e6 200e6 500e6 1e9]; % Signal bandwidths
rngresv = zeros(numel(grazang_sph),numel(bwv));
for j=1:numel(grazang_sph)
    slantrngresv = bw2rangeres(bwv);
    rngresv(j,:) = slant2grndrangeres(slantrngresv,grazang_sph(j));
end
clf;
l = semilogy(grazang_sph,rngresv);
set(l(3),'LineWidth',2)
grid on
xline(grazang,'-.',{[num2str(round(grazang,2)),' deg']}); % Selected grazing angle
xlabel('Grazing Angle (deg)')
ylabel('Ground Range Resolution (m)')
title('Real Antenna Range Resolution vs. Grazing Angles')
legend('100 MHz BW', '200 MHz BW', '500 MHz BW', '1.0 GHz BW','Location','southeast')

Идеальное и эффективное разрешение синтетической антенны

Приведенный выше раздел охватывает дальность и разрешающую способность РЛС с реальной апертурой, следующим шагом является использование sarlen и sarazres функции для вычисления длины синтетической апертуры и ее разрешения в поперечном диапазоне (или по азимуту). Обратите внимание, что разрешающая способность диапазона, которая зависит от ширины полосы пропускания сигнала передачи и угла пастбища, остается одинаковой для РЛС с реальной апертурой и РСА.

idealSyntheticApertureLength = sarlen(slantrng,lambda,daz);             % Synthetic aperture length (m)
azResolution = sarazres(lambda,slantrng,idealSyntheticApertureLength);  % Cross-range (azimuth) resolution (m)
integrationTime = sarinttime(idealSyntheticApertureLength,v);           % Ideal integration time (sec)

Parameters = ["Synthetic Aperture Length";"Range Resolution";"Cross Range Resolution";"Integration Time"];
IdealSAR = [round(idealSyntheticApertureLength/1e3,1);rngres;round(azResolution,1);round(integrationTime*1e3,1)];
Units = ["km";"m";"m";"ms"];
idealSAR = table(Parameters,IdealSAR,Units)
idealSAR=4×3 table
            Parameters             IdealSAR    Units
    ___________________________    ________    _____

    "Synthetic Aperture Length"        6.4     "km" 
    "Range Resolution"             0.76711     "m"  
    "Cross Range Resolution"           2.6     "m"  
    "Integration Time"              1095.9     "ms" 

Лучшее разрешение по радиусу действия, которое мы можем надеяться использовать в этом сценарии - 2,6 м. Это значительное улучшение по сравнению с разрешением по радиусу действия 6,4 км реальной антенны. Тем не менее, чтобы достичь этой производительности, импульсы должны быть интегрированы в течение более 1,1 сек. Система, которую мы анализируем, определяет время интеграции всего 800 мс. Как это влияет на эффективное разрешение радиолокатора в диапазоне?

effSyntheticApertureLength = sarlen(v,proctime);                         % Take processing time constraint into account
effAzResolution = sarazres(lambda,slantrng,effSyntheticApertureLength);  % Effective azimuth resolution (m)

RealAntenna = [NaN; rngres; round(crngres); NaN];
EffectiveSAR = [round(effSyntheticApertureLength/1e3,1);rngres;round(effAzResolution,1);round(proctime*1e3,1)];

sar = table(Parameters,RealAntenna,IdealSAR,EffectiveSAR,Units)
sar=4×5 table
            Parameters             RealAntenna    IdealSAR    EffectiveSAR    Units
    ___________________________    ___________    ________    ____________    _____

    "Synthetic Aperture Length"          NaN          6.4           5.6       "km" 
    "Range Resolution"               0.76711      0.76711       0.76711       "m"  
    "Cross Range Resolution"            6388          2.6             3       "m"  
    "Integration Time"                   NaN       1095.9           800       "ms" 

Интегрируя импульсы только в течение 800 мс, длина синтетической апертуры уменьшается на 800 м по сравнению с идеальным вариантом, а разрешение на перекрестный диапазон уменьшается на 0,4 м до 3,0 м. Поскольку данные обрабатываются менее чем за 1,11 с, радар может удерживать цель в пределах проекции луча на протяжении времени вычислений.

Далее мы анализируем чувствительность разрешения между диапазонами к изменениям частоты. Разрешение между диапазонами улучшается на более высоких частотах.

azresv = sarazres(lambdav,slantrng,idealSyntheticApertureLength);
effazresv = sarazres(lambdav,slantrng,effSyntheticApertureLength);
plot([f f]/1e9,[azresv(:) effazresv(:)])
grid on
legend('Ideal SAR','Effective SAR')
xlabel('Frequency (GHz)')
ylabel('Cross-range Resolution (m)')
title('Cross Range Resolution vs. Operating Frequency')

Неоднозначность диапазона и кросс-диапазона в изображениях SAR

Охват (длина полосы пропускания) и разрешение не могут быть выбраны независимо, поскольку они оба накладывают ограничения на частоту повторения импульсов (PRF). Если PRF установлен слишком низким, радар будет страдать от лепестков решетки и неоднозначностей доплеровского (или перекрестного) диапазона. Если PRF установлен слишком высоким, измерения диапазона будут неоднозначными. Угол выпаса также влияет на выбор PRF, так как он влияет на проекцию антенны, как показано в предыдущем разделе.

Верхняя и нижняя границы PRF

Мы используем sarprfbounds функция для определения минимальных и максимальных значений PRF для различных диапазонов покрытия (площади) и разрешений на перекрестный диапазон с учетом скорости спутника и угла выпаса.

desiredCRngRes = (0.5:0.2:5);     % m
desiredRngCov = (16e3:5e3:100e3); % m
[prfminv, prfmaxv] = sarprfbounds(v,desiredCRngRes,desiredRngCov,grazang);
clf
plotPRFbounds(prfminv,desiredCRngRes,prfmaxv,desiredRngCov);

Выбор PRF во избежание призрачных изображений

PRF обычно программируется и может быть оптимизирован для каждой миссии. Мы используем sarprf функция вычисления PRF РЛС на основе скорости спутника и реального размера антенны по азимуту. Мы задаем постоянный коэффициент свертывания в качестве запаса прочности, чтобы предотвратить совмещение возвратов основного блока в интервале PRF.

prf = sarprf(v,daz,'RollOff',1.5)
prf = 4.0385e+03

Выбранный PRF находится в пределах PRF. Движение платформы SAR в пределах интервала повторения импульсов (PRI) составляет 1,73 м.

t = 1/prf;
distpri = sarlen(v,t) % Distance moved by satellite in one PRI
distpri = 1.7333

Анализ лепестков решетки

Теперь мы можем моделировать синтетический массив с помощью phased.ula используя эффективную длину апертуры и интервал между элементами, которые мы только что рассчитали.

sarArray = phased.ULA('NumElements',ceil(effSyntheticApertureLength/distpri)+1,'ElementSpacing',distpri);
distpri/lambda
ans = 31.7998

Обратите внимание, что расстояние между элементами превышает длину волны 31,8 x, поэтому радар имеет лепестки решетки. Напомним, что реальная ширина азимутального луча антенны составляет 0,6 градуса. Мы моделируем ответ антенны как высоконаправленную косинусную диаграмму с той же шириной луча.

realAnt = phased.CosineAntennaElement('FrequencyRange',[freq-bw/2 freq+bw/2],'CosinePower',26e3);
realAntBeamwidth(1)
ans = 0.6006
b = beamwidth(realAnt,freq)
b = 0.6000

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

clf
plotResponse(sarArray,freq,physconst('LightSpeed'),'RespCut','Az','AzimuthAngles',(-3:0.005:3));
hold on
plotResponse(realAnt,freq,'RespCut','Az','AzimuthAngles',(-3:0.005:3));
hold off
legend('Synthetic array response','Real antenna response','Location','northwest')
title('')
% Annotations
xl = xline(1.8,'-.',{'First grating lobe'});
xl.LabelVerticalAlignment = 'top';
xl.LabelHorizontalAlignment = 'left';

SNR изображения SAR и эквивалентная отражательная способность шума

В следующем разделе рассматриваются различные факторы, используемые в уравнении SAR для вычисления SNR изображения. Сначала анализируем сечение РЛС цели (или поверхности) и грохот дождя (или объём).

Шероховатость поверхности в зависимости от частоты, поляризации и угла выпаса

Мы используем landreflectivity функция для вычисления отражательной способности a.k.a. нормированное сечение РЛС (NRCS) для заданного угла выпаса и рабочей частоты. Целевой RCS в плоскости изображения земли вычисляется с помощью sarSurfaceRCS и принимая во внимание радиолокационное разрешение. В общем, яркость области изображения SAR соответствует шероховатости поверхности, так что горы будут выглядеть ярче, чем плоские земли из-за их более высокой RCS. Шероховатость измеряется по длине волны, так что поверхность может казаться шероховатой на одной частоте и гладкой на другой. Также обратите внимание, что RCS увеличивается по мере увеличения угла выпаса.

fsub = [2.5e9 5.5e9 7.5e9];   % Hz
grazv = 10:5:85;              % degrees
landtype = ["Mountains","Flatland"];
tgtrcsv = zeros(numel(grazv),numel(fsub),numel(landtype));
for k=1:numel(landtype)       % Land types with different roughness
    for j=1:numel(fsub)       % Frequencies
        for u =1:numel(grazv) % Grazing angles
            nrcsv = landreflectivity(landtype(k),grazv(u),fsub(j)); 
            tgtrcsv(u,j,k) = sarSurfaceRCS(nrcsv,[slantrngres effAzResolution],grazv(u));
        end
    end
end
plotTargetRCSvsGrazAng(grazv,tgtrcsv,landtype,fsub)

RCS также зависит от поляризации РЛС. Мы используем seareflectivity функция анализа влияния поляризации на отражательную способность поверхности моря для различных шероховатостей поверхности моря (т.е. состояния моря). Следует отметить, что существует гораздо больше вариаций в морской RCS при низких углах выпаса и что RCS для горизонтально поляризованных сигналов ниже, чем вертикально поляризованные сигналы для того же морского состояния для углов выпаса ниже 60 градусов. На рисунке ниже также показано, что разница между поляризациями уменьшается по мере увеличения угла выпаса с 10 до 60 градусов.

pol = ["H","V"];
seaStates = [1 3 5];
grazvpol = linspace(0.1,70,100); % Grazing angle (deg)
tgtrcsv = zeros(numel(grazvpol),numel(pol),numel(seaStates));
for n=1:numel(seaStates)         % Sea states
    for j=1:numel(pol)           % Polarizations
        for u =1:numel(grazvpol) % Grazing angles
            nrcsv = seareflectivity(seaStates(n),grazvpol(u),freq,'Polarization',pol(j)); % Calculate normalized RCS
            tgtrcsv(u,j,n) = sarSurfaceRCS(nrcsv,[slantrngres effAzResolution],grazvpol(u));
        end
    end
end
plotTargetRCSvsPol(grazvpol,tgtrcsv,seaStates,pol,freq)

Отражательная способность дождя и отношение сигнала к беспорядку (SCR)

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

rainRate = [0.25 1 2 4 8 16];
pol = ["HH","HV","RCPRCP"];
rainrefl = zeros(numel(rainRate),numel(pol));
for i=1:numel(pol)
    rainrefl(:,i) = rainreflectivity(freq,rainRate,pol(i));  % 5.5 GHz operating frequency
end
plot(rainRate,pow2db(rainrefl),'LineWidth',1.5)
grid on
xlabel('Rain rate (mm/Hr)')
ylabel('Rain Reflectivity (dB/m)')
title('Polarization Effects on Rain Reflectivity')
legend('HH Polarization','HV Polarization','Circular Polarization','Location','southeast');

Далее мы используем clutterVolumeRCS и rainscr функции вычисления RCS дождя, который определяется ячейкой разрешения 3D радара (диапазон наклона, азимут и разрешение высоты), и отношение энергии сигнала от ячейки разрешения целевой сцены к энергии от возврата дождя, обработанного в ту же ячейку разрешения целевой сцены (или SCR дождя). Мы проверяем, что отношение сигнала к загромождению остается выше 20 дБ для всех скоростей дождя и для всех целей, включая цели со слабой RCS, такие как гладкая земля. Поэтому мы не ожидаем, что дождь будет ограничивающим фактором для этого радара в этой конфигурации.

elbeamw = realAntBeamwidth(2);                             % Radar elevation beamwidth
maxRainHeight = 4000;                                      % m
rhoe = rainelres(slantrng,elbeamw,grazang,maxRainHeight);  % Elevation resolution
res = [slantrngres effAzResolution rhoe];
rrcs = clutterVolumeRCS(rainrefl(:,1),res);                % Rain RCS for HH polarization

landType = ["Wooded Hills","Farm","Smooth"];
scr = zeros(numel(rainRate),numel(landType));
tgtrcs = zeros(numel(landType),1);
for j=1:numel(landType)
    nrcsv(j) = landreflectivity(landType(j),grazang,freq); % Calculate normalized RCS of smooth land with no vegetation
    tgtrcs(j) = sarSurfaceRCS(nrcsv(j),[slantrngres effAzResolution],grazang);
    scr(:,j) = rainscr(lambda,rrcs,tgtrcs(j),proctime)';   % Signal to rain clutter ratio
end

plotRainSCR(rainRate,rrcs,scr,landType)

Уравнение SAR

Мы оцениваем отношение сигнал/шум (SNR), доступное в приемнике радара, используя форму SNR уравнения радара. Во-первых, мы моделируем и оцениваем различные источники прибыли и потерь для радиолокационной системы и ее среды.

Прибыль от обработки

Мы используем matchinggain функцию для вычисления коэффициента усиления обработки диапазона из-за уменьшения полосы пропускания шума после согласованного фильтра.

d = 0.1;                       % 10 percent duty cycle
pw = (1/prf)*d;                % Effective pulse width (sec)
rnggain = matchinggain(pw,bw)  % Range processing gain (dB)
rnggain = 40.9275

Мы используем sarazgain функция вычисления коэффициента усиления обработки азимута за счет когерентного интегрирования импульсов.

azgain = sarazgain(slantrng,lambda,v,effAzResolution,prf) % Az processing gain (dB)
azgain = 35.0931

Потери и коэффициент шума

Мы используем noisefigure функция оценки величины шума каскадных приемных каскадов. Мы предполагаем 7 этапов со следующими значениями:

  • Stage 1 LNA: Noise Figure = 1.0 dB, Gain = 15.0

  • Stage 2 RF Filter: Noise Figure = 0.5 dB, Gain = -0.5

  • Stage 3 Mixer: Noise Figure = 5.0 dB, Gain = -7.0

  • Stage 4 IF Filter: Noise Figure = 1.0 dB, Gain = -1.0

  • Stage 5 IF Preamplifier: Noise Figure = 0.6 dB, Gain = 15.0

  • Stage 6 IF Stages: Noise Figure = 1.0 dB, Gain = 20.0

  • Stage 7 Phase Detectors: Noise Figure = 6.0 dB, Gain = -5.0

nf  = [1.0, 0.5, 5.0, 1.0, 0.6, 1.0, 6.0];        % dB
g   = [15.0, -0.5, -7.0, -1.0, 15.0, 20.0, -5.0]; % dB
cnf = noisefigure(nf, g)
cnf = 1.5252

Мы используем radarpropfactor функция расчета коэффициента одностороннего радиолокационного распространения по гладкой земле.

[hgtsd, beta0, vegType] = landroughness('Smooth');
tgtheight = hgtsd;
Re = effearthradius(slantrng,h,tgtheight);
propf = radarpropfactor(slantrng,freq,h,tgtheight,'EffectiveEarthradius',Re,'TiltAngle',grazang,'ElevationBeamwidth',elbeamw,...
    'SurfaceHeightStandardDeviation',hgtsd,'SurfaceSlope',beta0,'VegetationType',vegType)
propf = -5.3980e-05

Мы используем tropopl функция расчета потерь от поглощения атмосферных газов.

atmoLoss = tropopl(slantrng,freq,tgtheight,grazang)
atmoLoss = 0.0439

Мы используем rainpl функция для расчета потерь из-за дождя по модели ITU. В качестве альтернативы можно использовать cranerainpl вместо этого выполняется расчет в соответствии с моделью Crane.

rainLoss = rainpl(slantrng,freq,rainRate(end),grazang)
rainLoss = 0.5389

Мы используем radareqsarsnr для вычисления SNR изображения с помощью уравнения РЛС SAR. Мы предполагаем пиковую мощность 5 кВт. Могут быть указаны дополнительные потери и факторы, включая потерю формы луча азимута, потерю окна, потерю передачи и потерю линии приема. Мы оцениваем потерю формы луча с помощью beamloss и мы используем 5 дБ для всех других фиксированных потерь вместе взятых. Для этого анализа мы используем (самую слабую) «гладкую» наземную мишень. Минимальный SNR изображения, равный 10 дБ, обычно считается достаточным для обеспечения хорошего качества изображения, так что при 35,9 дБ для этой цели наша система имеет достаточно полей.

Lb = beamloss;
customLoss = 5;        % dB
Pt = 5e3;              % Peak power (W)
sntemp = systemp(cnf); % Noise Temperature
imgsnr = radareqsarsnr(slantrng,lambda,Pt,pw,rnggain,azgain,'Gain',antGain,'RCS',tgtrcs(3),...
    'AtmosphericLoss',atmoLoss,'Loss',cnf+rainLoss,'PropagationFactor',propf,...
    'Ts',sntemp,'CustomFactor',-Lb-customLoss)
imgsnr = 35.9554

Эквивалентная отражательная способность (NER или NEZ0)

Наконец, мы используем sarnoiserefl функция для расчета NER радара и мы анализируем, как его чувствительность к изменениям частоты. NER является наименьшим распределенным беспорядком, который можно видеть при наличии шума приемника для данной поверхностной отражательной способности. Это мера чувствительности радара к пространственно распределенному шуму. Для гладкой местности, которую мы использовали в этом расчете, NER составляет -62,6 дБ при 5.5.GHz и увеличивается с частотой.

neq = sarnoiserefl(f,freq,imgsnr,nrcsv(3));
clf;
plot(f/1e9,neq,'LineWidth',1.5)
grid on
xline(5.5,'--')
xlabel('Frequency (GHz)')
ylabel('Noise Equivalent Reflectivity (dB)')
title(['Smooth Terrain - ', num2str(round(effAzResolution,1)), ' m Resolution'])

Резюме

В этом примере показано, как оценивать параметры производительности, такие как охват, разрешение и SNR, для системы SAR в космическом пространстве. Мы определили верхнюю и нижнюю границы PRF, чтобы избежать изображений-призраков. Мы проанализировали целевое и дождевое загромождение RCS для различных поляризаций и углов выпаса. Затем мы оценили прибыль от переработки и потери в радаре и его среде. Наконец, мы использовали уравнение SAR для вычисления SNR изображения и эквивалентной отражательной способности шума (NER).

Ссылки

  1. Доэрри, Армин Уолтер. «Ограничения производительности радара с синтезированной апертурой». Национальные лаборатории Сандии, 1 февраля 2006 года.

  2. О'Доннелл, Роберт. «Проектирование радиолокационных систем». IEEE Aerospace & Electronic Systems Society и IEEE New Hampshire Section, 2013.

Вспомогательные функции

slant2grndrangeres

function grndres = slant2grndrangeres(slres, grazang)
% slant2grndrangeres Convert slant range resolution to ground range resolution
grndres = slres./cosd(grazang);
end

plotAntennaFootprintVsFreq

function t = plotAntennaFootprintVsFreq(freq,f,rangeswathv,crngswathv)
t = tiledlayout(1,2);
nexttile
% Plot cross-range vs. range 
theta_grid = linspace(0,2*pi)';
semix = 0.5*rangeswathv/1e3; % km
semiy = 0.5*crngswathv/1e3;  % km
l = plot(cos(theta_grid)*semix,sin(theta_grid)*semiy);
set(l(3),'LineWidth',1.5)
ylim(xlim)
grid on
xlabel('Range Swath (km)')
ylabel('Cross-Range Swath (km)')
legend([num2str(round(f(1)/1e9,1)) ' GHz'],[num2str(round(f(2)/1e9,1)) ' GHz'], ...
    [num2str(round(f(3)/1e9,1)) ' GHz'],[num2str(round(f(4)/1e9,1)) ' GHz'])

nexttile
% Plot Swath length vs. operating frequencies
plot([f f]/1e9,[rangeswathv(:) crngswathv(:)]/1e3)
xl = xline(freq/1e9,'-.',{[num2str(freq/1e9),' GHz']},'Color',l(3).Color); % Annotation
xl.LabelVerticalAlignment = 'top';
xl.LabelHorizontalAlignment = 'left';
xl.LineWidth = 1.5;
grid on
xlabel('Frequency (GHz)')
ylabel('Swath Length (km)')
legend('Along range','Cross range')

title(t,'Real Antenna Footprint vs. Operating Frequencies')
end

plotAntennaFootprintVsGrazAng

function t = plotAntennaFootprintVsGrazAng(grazv,distgrndtrackv,rangeswathv,crngswathv,grazang)

t = tiledlayout(1,2);
nexttile
% Plot footprint and beam center distance to ground track
theta_grid = linspace(0,2*pi)';
semix = 0.5*rangeswathv/1e3; % km
semiy = 0.5*crngswathv/1e3;  % km
l = plot(cos(theta_grid)*semix,1e-3*distgrndtrackv(:)'+sin(theta_grid)*semiy);
set(l(3),'LineWidth',1.5)
grid on
xlabel('Range Swath (km)')
ylabel('Ground Range (km)')

legend([num2str(round(grazv(1),2)) ' deg Grazing Angle'], ...
    [num2str(round(grazv(2),2)) ' deg Grazing Angle'], ...
    [num2str(round(grazv(3),2)) ' deg Grazing Angle'], ...
    [num2str(round(grazv(4),2)) ' deg Grazing Angle'], ...
    [num2str(round(grazv(5),2)) ' deg Grazing Angle'], ...
    'Location', "northoutside")
axis padded

nexttile
% Plot beam center distance to ground track vs. grazing angles
plot(grazv,distgrndtrackv/1e3)
xl = xline(grazang,'-.',{[num2str(round(grazang,2)),' deg']},'Color',l(3).Color); % Annotation
xl.LabelVerticalAlignment = 'top';
xl.LabelHorizontalAlignment = 'left';
xl.LineWidth = 1.5;
grid on
xlabel('Grazing Angle (deg)')
ylabel('Ground Range (km)')
subtitle('Beam Center Distance to Nadir')

title(t,'Real Antenna Footprint vs. Grazing Angles')
end

plotPRFbounds

function plotPRFbounds(prfminv,desiredCRngRes,prfmaxv,desiredRngCov)
yyaxis left
fill([prfminv(1)/1e3;prfminv(:)/1e3;prfminv(end)/1e3],[0;desiredCRngRes(:);0],[0 0.4470 0.7410])
grid on
xlabel('PRF (kHz)')
ylabel('Cross-Range resolution (m)')
yyaxis right
fill([prfmaxv(1)/1e3;prfmaxv(:)/1e3;prfmaxv(end)/1e3],[100;desiredRngCov(:)/1e3;100],[0.8500 0.3250 0.0980])
xlim([prfminv(end)/1e3 prfminv(1)/1e3])
ylabel('Range coverage (km)')
legend('Cross-Range ambiguities','Range ambiguities')
title('Upper and Lower PRF Bounds')
end

plotTargetRCSvsGrazAng

function plotTargetRCSvsGrazAng(grazv,tgtrcsv,landtype,fsub)
plot(grazv,pow2db(tgtrcsv(:,:,1)),'LineWidth',1.5)
set(gca,'ColorOrderIndex',1)
hold on
plot(grazv,pow2db(tgtrcsv(:,:,2)),'--','LineWidth',1.5)
hold off
grid on
axis padded
xlabel('Grazing Angle (degrees)')
ylabel('Target RCS (dBsm)')
title('Surface Roughness Scattering')
legend([char(landtype(1)) ' @ ' num2str(round(fsub(1)/1e9,1)) ' GHz'],...
    [char(landtype(1)) ' @ ' num2str(round(fsub(2)/1e9,1)) ' GHz'],[char(landtype(1)) ' @ ' num2str(round(fsub(3)/1e9,1)) ' GHz'],...
    [char(landtype(2)) ' @ ' num2str(round(fsub(1)/1e9,1)) ' GHz'],[char(landtype(2)) ' @ ' num2str(round(fsub(2)/1e9,1)) ' GHz'],...
    [char(landtype(2)) ' @ ' num2str(round(fsub(3)/1e9,1)) ' GHz'],'Location','northwest')
end

plotTargetRCSvsPol

function plotTargetRCSvsPol(grazvpol,tgtrcsv,seaStates,pol,freq)
plot(grazvpol,pow2db(squeeze(tgtrcsv(:,1,:))),'LineWidth',1.5)
set(gca,'ColorOrderIndex',1)
hold on
plot(grazvpol,pow2db(squeeze(tgtrcsv(:,2,:))),'--','LineWidth',1.5)
hold off
grid on
xlabel('Grazing Angle (degrees)')
ylabel('Target RCS (dBsm)')
title(['Surface Roughness Scattering @ ' num2str(round(freq/1e9,1)) ' GHz vs. Polarization'])
legend(['Sea State ' num2str(seaStates(1)) ' - ' char(pol(1)) ' pol'],...
    ['Sea State ' num2str(seaStates(2)) ' - ' char(pol(1)) ' pol'],...
    ['Sea State ' num2str(seaStates(3)) ' - ' char(pol(1)) ' pol'],...
    ['Sea State ' num2str(seaStates(1)) ' - ' char(pol(2)) ' pol'],...
    ['Sea State ' num2str(seaStates(2)) ' - ' char(pol(2)) ' pol'],...
    ['Sea State ' num2str(seaStates(3)) ' - ' char(pol(2)) ' pol'],'Location','southeast')
end

plotRainSCR

function plotRainSCR(rainRate,rrcs,scr,landType)
t = tiledlayout(1,2);
nexttile
% Plot rain RCS vs rain rate
plot(rainRate,pow2db(rrcs),'LineWidth',1.5)
grid on
xlabel('Rain rate (mm/Hr)')
ylabel('Rain RCS (dBsm)')
legend('HH polarization')

nexttile
% Plot signal-to-clutter ratio (SCR) vs. rain rate
plot(rainRate,scr,'LineWidth',1.5)
grid on
xlabel('Rain rate (mm/Hr)')
ylabel('Signal-to-Clutter ratio (dB)')
legend(landType(1),landType(2),landType(3))
title(t, 'Rain Clutter')
end