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

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

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

Рассмотрите радар на спутнике низкой околоземной орбиты (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 (s)
 
% 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'])

Figure contains an axes object. The axes object with title Correction due to Earth Curvature—Radar at 565 km Altitude contains 3 objects of type line, constantline. These objects represent Depression angle, Grazing angle, Half Beamwidth (El).

Не распространение угла обзора

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

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);

Figure contains 2 axes objects. Axes object 1 contains 5 objects of type line. These objects represent 50.06 deg Grazing Angle, 58.56 deg Grazing Angle, 67 deg Grazing Angle, 75.38 deg Grazing Angle, 83.74 deg Grazing Angle. Axes object 2 contains 2 objects of type line, constantline.

Действительное разрешение антенны

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

Figure contains an axes object. The axes object with title Real Antenna Range Resolution vs. Grazing Angles contains 5 objects of type line, constantline. These objects represent 100 MHz BW, 200 MHz BW, 500 MHz BW, 1.0 GHz BW.

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

Предыдущий раздел покрыл область значений и разрешение перекрестной области значений действительного апертурного радара, следующий шаг должен использовать 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 (s)

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')

Figure contains an axes object. The axes object with title Cross Range Resolution vs. Operating Frequency contains 2 objects of type line. These objects represent Ideal SAR, Effective 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);

Figure contains an axes object. The axes object with title Upper and Lower PRF Bounds contains 2 objects of type patch. These objects represent Cross-Range ambiguities, Range ambiguities.

Выбор PRF, чтобы избежать фантомных изображений

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

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

Выбранный PRF в границах PRF. Перемещение платформы РСА в импульсном интервале повторения (PRI) составляет 1,73 м.

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

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

Модель Now синтетический массив с phased.ula Система объект с помощью эффективной апертурной длины и интервала элемента.

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

Заметьте, что интервал элемента является длиной волны более чем 31,8 раз, таким образом, радар имеет пики лепестков. Вспомните, что действительная ширина луча азимута антенны является 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';

Figure contains an axes object. The axes object contains 3 objects of type line, constantline. These objects represent Synthetic array response, Real antenna response.

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

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

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

Используйте landreflectivity функция, чтобы вычислить отражающую способность или нормированную эффективную площадь рассеивания (NRCS) для данного угла падения и рабочей частоты. ЭПР цели в наземной плоскости изображения вычисляется с помощью sarSurfaceRCS function и принятие во внимание радарного разрешения. В общем случае яркость области изображения РСА соответствует шероховатости поверхности, таким образом, горы кажутся более яркими, чем равнина из-за их более высокого ЭПР. Шероховатость измеряется против длины волны, таким образом, поверхность кажется грубой на одной частоте и сглаженной в другом. Кроме того, заметьте, что ЭПР увеличивается, как угол падения увеличивается.

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)

Figure contains an axes object. The axes object with title Surface Roughness Scattering contains 6 objects of type line. These objects represent Mountains @ 2.5 GHz, Mountains @ 5.5 GHz, Mountains @ 7.5 GHz, Flatland @ 2.5 GHz, Flatland @ 5.5 GHz, Flatland @ 7.5 GHz.

ЭПР также зависит от поляризации радара. Используйте seareflectivity функция, чтобы анализировать эффект поляризации на отражающей способности поверхности моря для различной шероховатости поверхности моря (который является морскими состояниями). Обратите внимание на то, что существует намного больше изменения моря ЭПР в низких углах падения и что ЭПР для горизонтально поляризованных сигналов ниже, чем вертикально поляризованные сигналы для того же волнения моря для углов падения ниже 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)

Figure contains an axes object. The axes object with title Surface Roughness Scattering @ 5.5 GHz vs. Polarization contains 6 objects of type line. These objects represent Sea State 1 - H pol, Sea State 3 - H pol, Sea State 5 - H pol, Sea State 1 - V pol, Sea State 3 - V pol, Sea State 5 - V pol.

Лейтесь отражающей способностью и Отношением сигнала к помехе (SCR)

Конкурирующее эхо из нежелательных источников, таких как дождь может вызвать ухудшение в изображениях РСА. Лейтесь дождем падение около целевой сцены создает помехи изображению той сцены. Используйте 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');

Figure contains an axes object. The axes object with title Polarization Effects on Rain Reflectivity contains 3 objects of type line. These objects represent HH Polarization, HV Polarization, Circular Polarization.

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

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)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents HH polarization. Axes object 2 contains 3 objects of type line. These objects represent Wooded Hills, Farm, Smooth.

Уравнение РСА

Оцените отношение сигнал-шум (SNR), доступное в радарном приемнике с помощью формы ОСШ основного уравнения радиолокации. Во-первых, модель и оценка другие источники усиления и потери для радиолокационной системы и ее среды.

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

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

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

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

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

Потери и шумовой фактор

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

  • Этап 1 LNA: Шумовая фигура = 1,0 дБ, Усиление = 15.0

  • Этап 2 Фильтр RF: Шумовая фигура = 0,5 дБ, Усиление =-0.5

  • Этап 3 Микшер: Шумовая фигура = 5,0 дБ, Усиление =-7.0

  • Этап 4 Фильтр IF: Шумовая фигура = 1,0 дБ, Усиление =-1.0

  • Этап 5 Предусилитель IF: Шумовая фигура = 0,6 дБ, Усиление = 15.0

  • Этап 6 Этапы IF: Шумовая фигура = 1,0 дБ, Усиление = 20.0

  • Этап 7 Детекторы фазы: Шумовая фигура = 6,0 дБ, Усиление =-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 функция, чтобы вычислить ОСШ изображений с основным уравнением радиолокации РСА. Придите к пиковой власти на 5 кВт. Можно также задать дополнительные потери и факторы включая потерю формы луча азимута, потерю окна, потерю передачи, и получить потерю линии. Оцените потерю формы луча с beamloss функция и использование 5 дБ для всех других объединенных постоянных составляющих потерь. Для этого анализа задайте landType как "Smooth"чтобы использовать самую слабую наземную цель. Минимальный ОСШ изображений 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'])

Figure contains an axes object. The axes object with title Smooth Terrain—3 m Resolution contains 2 objects of type line, constantline.

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

В этом примере показано, как оценить эксплуатационные параметры, такие как покрытие, разрешение и ОСШ для космической системы РСА. Во-первых, вы определяете верхние и более низкие границы PRF, чтобы избежать фантомных изображений. Затем вы анализируете цель, и дождь создают помехи ЭПР для различной поляризации и углов падения. Затем оцените прибыли и убытки обработки в радаре и его среде. Наконец, вы используете уравнение 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
Для просмотра документации необходимо авторизоваться на сайте