Спейсборн Радар с синтезированной апертурой Эффективности Предсказания

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

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

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

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

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

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

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

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

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

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

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

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

Диапазонные и междиапазонные неоднозначности в изображениях РСА

Покрытие (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

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

Теперь мы можем смоделировать синтетический массив с 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';

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

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

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

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

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

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

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

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

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

РСА

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

Обработка коэффициентов усиления

Используем 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 вместо этого функция для вычисления согласно модели Крана.

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

Используем radareqsarsnr функция для вычисления ОСШ изображения с РСА основного уравнения радиолокации. Мы принимаем пиковую степень 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'])

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

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

Ссылки

  1. Дурри, Армин Уолтер. «Эффективность Пределов для Радара с синтезированной апертурой». Sandia National Laboratories, 1 февраля 2006 года.

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

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

slant2grndrangeres

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

plotAntennaFootprintVsFreq

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

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

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

plotAntennaFootprintVsGrazAng

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

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

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

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

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

plotPRFbounds

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

plotTargetRCSvsGrazAng

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

plotTargetRCSvsPol

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

plotRainSCR

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

nexttile
% Plot signal-to-clutter ratio (SCR) vs. rain rate
plot(rainRate,scr,'LineWidth',1.5)
grid on
xlabel('Rain rate (mm/Hr)')
ylabel('Signal-to-Clutter ratio (dB)')
legend(landType(1),landType(2),landType(3))
title(t, 'Rain Clutter')
end
Для просмотра документации необходимо авторизоваться на сайте