Космическое предсказание эффективности радара с синтезированной апертурой

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

Системные параметры SAR и соглашения

Мы рассматриваем радар на спутнике низкой околоземной орбиты (LEO), действующем в C-полосе на уровне 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 функции, чтобы вычислить депрессию и углы падения соответственно из области значений угла обзора. Используя сферическую модель Earth вместо плоской модели Earth, мы наблюдаем в областях значений выше 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 функция. Место определяется вдоль swath области значений (или дистанция, преодоленная за вдоль направления области значений) и swath перекрестной области значений (или дистанция, преодоленная за направление перекрестной области значений).

[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 функции, чтобы вычислить синтетическую апертурную длину и ее перекрестную область значений (или азимут) разрешение. Заметьте, что разрешение области значений, которое зависит от пропускной способности сигнала передачи и угла падения, остается то же самое для действительного апертурного радара и SAR.

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" 

Лучшее разрешение перекрестной области значений мы можем надеяться на использование SAR в этом сценарии, составляет 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

Покрытие (длина swath) и разрешение не может быть выбрано независимо, когда они оба налагают ограничения на импульсную частоту повторения (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 радара на основе спутниковой скорости и действительной размерности антенны вдоль азимута. Мы задаем постоянный фактор спада, когда запас прочности, чтобы предотвратить mainlobe возвращается из искажения в интервале 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';

ОСШ SAR изображений и шумовая эквивалентная отражающая способность

Следующий раздел исследует различные факторы, используемые в уравнении SAR, чтобы вычислить ОСШ изображений. Мы сначала анализируем цель (или поверхность) радарное сечение (RCS) и дождь (или помеха объема) RCS.

Поверхностная шероховатость по сравнению с частотой, поляризацией и углом падения

Мы используем landreflectivity функция, чтобы вычислить отражающую способность иначе нормированное радарное сечение (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 функция, чтобы анализировать эффект поляризации на отражающей способности поверхности моря для различной шероховатости поверхности моря (i.e. морские состояния). Обратите внимание на то, что существует намного больше изменения моря 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), доступное в радарном приемнике с помощью формы ОСШ основного уравнения радиолокации. Во-первых, мы моделируем и оцениваем другие источники усиления и потери для радиолокационной системы и ее среды.

Обработка усилений

Мы используем 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 функция, чтобы вычислить ОСШ изображений с основным уравнением радиолокации SAR. Мы приходим к пиковой власти на 5 кВт. Дополнительные потери и факторы включая азимут излучают потерю формы, потерю окна, потерю передачи и получают потерю линии, может быть задан. Мы оцениваем потерю формы луча с beamloss функционируйте и мы используем 5 дБ для всех других объединенных постоянных составляющих потерь. Для этого анализа мы используем (самую слабую) "Сглаженную" наземную цель. Минимальный ОСШ изображений 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'])

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

Этот пример продемонстрировал, как оценить эксплуатационные параметры, такие как покрытие, разрешение и ОСШ для космической системы SAR. Мы определили верхние и более низкие границы PRF, чтобы избежать фантомных изображений. Мы анализировали цель, и дождь создают помехи RCS для различной поляризации и углов падения. Мы затем оценили прибыли и убытки обработки в радаре и его среде. Наконец, мы использовали уравнение SAR, чтобы вычислить ОСШ изображений и шумовую эквивалентную отражающую способность (NER).

Ссылки

  1. Doerry, Армин Уолтер. “Пределы эффективности для радара с синтезированной апертурой”. Национальные лаборатории Сандиа, 1 февраля 2006.

  2. О'Доннелл, Роберт. “Разработка радиолокационных систем”. IEEE Aerospace & Electronic Systems Society и IEEE нью-гэмпширский раздел, 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
Для просмотра документации необходимо авторизоваться на сайте