В этом примере показано, как оценить эффективность космического радара с синтезированной апертурой (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'])
Не распространение угла обзора
Радарная энергия преломляется атмосферой и поворотами к Земле, позволяя радару видеть вне горизонта. Используйте 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);
Действительное разрешение антенны
Наземное разрешение области значений является расстоянием, ниже которого две цели точки не могут быть разделены в итоговом изображении. Используйте 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 (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')
Покрытие (длина 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 радара на основе спутниковой скорости и действительной размерности антенны вдоль азимута. Задайте постоянный фактор спада, когда запас прочности, чтобы предотвратить основной лепесток возвращается из искажения в интервале 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';
Следующий раздел исследует различные факторы, используемые в уравнении 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)
ЭПР также зависит от поляризации радара. Используйте 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)
Лейтесь отражающей способностью и Отношением сигнала к помехе (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');
Затем используйте 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)
Уравнение РСА
Оцените отношение сигнал-шум (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'])
В этом примере показано, как оценить эксплуатационные параметры, такие как покрытие, разрешение и ОСШ для космической системы РСА. Во-первых, вы определяете верхние и более низкие границы PRF, чтобы избежать фантомных изображений. Затем вы анализируете цель, и дождь создают помехи ЭПР для различной поляризации и углов падения. Затем оцените прибыли и убытки обработки в радаре и его среде. Наконец, вы используете уравнение SAR, чтобы вычислить ОСШ изображений и NER.
Doerry, Армин Уолтер. “Пределы эффективности для радара с синтезированной апертурой”. Национальные лаборатории Сандиа, 1 февраля 2006.
О'Доннелл, Роберт. “Разработка радиолокационных систем”. 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