exponenta event banner

Введение в моделирование распространения радиолокационных сигналов

В этом примере показано, как моделировать несколько эффектов распространения РЧ. К ним относятся потери пути свободного пространства, атмосферное затухание из-за дождя, тумана и газа, а также многолучевое распространение из-за отскоков на земле. Это обсуждение основано на рекомендациях МСЭ-Р серии P Международного союза электросвязи. ITU-R является сектором радиосвязи организации, и серия P фокусируется на распространении радиоволн.

Введение

Для правильной оценки рабочих характеристик радиолокационных и беспроводных систем связи важно понимать среду распространения. Мощность принимаемого сигнала моностатической РЛС задается уравнением дальности РЛС:

$$ P_r = \frac{P_tG^2\sigma\lambda^2}{(4\pi)^3R^4L}$$

где$P_t$ - передаваемая мощность,$G$ - коэффициент усиления антенны, -$\sigma$ поперечное сечение РЛС цели (RCS), -$\lambda$ длина волны и -$R$ расстояние распространения. Все потери распространения, отличные от потерь на пути свободного пространства, включаются в термин.$L$ В остальном примере показано, как оценить этот термин$L$ в различных сценариях.

Потеря пути свободного пространства

Потери на пути свободного пространства вычисляются как функция расстояния распространения и частоты. В свободном пространстве РЧ-сигналы распространяются со скоростью света во всех направлениях. На достаточно большом расстоянии излучающий источник выглядит как точка в пространстве, и волновой фронт образует сферу, радиус которой равен. $R$Плотность мощности на волновом фронте обратно пропорциональна:$R^2$

$$ \frac{P_t}{4\pi R^2} $$

где$P_t$ - мощность передаваемого сигнала. Для моностатического радара, где сигнал должен перемещаться в обоих направлениях (от источника к цели и обратно), зависимость фактически обратно пропорциональна, $R^4$как показано ранее в уравнении радара. Потери, связанные с этим механизмом распространения, называются потерями на пути свободного пространства, иногда также называемыми потерями на расширение. Количественно потеря пути свободного пространства также является функцией частоты, заданной [5]:

$$L_{fs} = 20*\log_{10}(\frac{4\pi R}{\lambda}) \quad dB$$

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

Использовать fspl для вычисления потерь на пути свободного пространства и построения графика потерь на частотах от 1 до 1000 ГГц для различных диапазонов.

c = physconst('lightspeed');
R0 = [100 1e3 10e3];
freq = (1:1000).'*1e9;
apathloss = fspl(R0,c./freq);
loglog(freq/1e9,apathloss);
grid on;
ylim([90 200]);
legend('Range: 100 m', 'Range: 1 km', 'Range: 10 km','Location','northwest');
xlabel('Frequency (GHz)');
ylabel('Path Loss (dB)');
title('Free Space Path Loss');

На чертеже показано, что потери распространения увеличиваются с диапазоном и частотой.

Потери распространения из-за осадков и атмосферы

В действительности, сигналы не всегда движутся в вакууме, поэтому потеря пути в свободном пространстве описывает только часть ослабления сигнала. Сигналы взаимодействуют с частицами в воздухе и теряют энергию по пути распространения. Потери варьируются в зависимости от различных факторов, таких как давление, температура и плотность воды.

Потери из-за дождя и снега

Дождь может быть основным ограничивающим фактором для радиолокационных систем, особенно при работе выше 5 ГГц. В модели ITU в [2] дождь характеризуется скоростью дождя (в мм/ч). Согласно [6] скорость дождя может колебаться от менее 0,25 мм/ч для очень небольшого дождя до более 50 мм/ч для экстремальных дождей. Кроме того, из-за формы дождевых капель и их относительного размера по сравнению с длиной волны РЧ-сигнала, потери распространения из-за дождя также являются функцией поляризации сигнала. В общем случае горизонтальная поляризация представляет собой наихудший случай потери распространения из-за дождя.

Функции rainpl и cranerainpl может использоваться для вычисления потерь из-за дождя по моделям ITU и Crane соответственно. Обе модели действительны между 1 ГГц и 1 ТГц. Пусть поляризация будет горизонтальной, так что угол наклона равен 0, и пусть сигнал распространяется параллельно земле, так что угол возвышения равен 0. Построить график потерь, рассчитанных для обеих моделей, и сравнить.

R0 = 5e3;                % 5 km range
rainrate = [1 4 20];     % rain rate in mm/h
el = 0;                  % 0 degree elevation
tau = 0;                 % horizontal polarization

for m = 1:numel(rainrate)
    rainloss_itu(:,m) = rainpl(R0,freq,rainrate(m),el,tau)';
    rainloss_crane(:,m) = cranerainpl(R0,freq,rainrate(m),el,tau)';
end
loglog(freq/1e9,rainloss_itu);
hold on;
set(gca,'ColorOrderIndex',1); % reset color index for better comparison
loglog(freq/1e9,rainloss_crane,'--');
hold off;
grid on;
legend('Light Rain (ITU)','Moderate Rain (ITU)','Heavy Rain (ITU)',...
    'Light Rain (Crane)','Moderate Rain (Crane)','Heavy Rain (Crane)', ...
    'Location','SouthEast');
xlabel('Frequency (GHz)');
ylabel('Attenuation at 1 km (dB)')
title('Rain Attenuation for Horizontal Polarization');

Потери, вычисленные с помощью модели Crane, в основном больше, чем потери, вычисленные с помощью модели ITU в этом диапазоне распространения. При меньших диапазонах распространения и более низких частотах модель ITU может выдавать меньшее значение ослабления, чем Crane. Обратите внимание, что модели отличаются достаточно сильно, что при более высоких частотах «легкие» осадки для одной модели могут иметь такое же ослабление, как и «умеренные» осадки для другой модели.

Подобно осадкам, снег также может оказывать значительное влияние на распространение радиочастотных сигналов. Обычная практика заключается в том, чтобы рассматривать снег как количество осадков и вычислять потери распространения на основе модели дождя, даже если этот подход имеет тенденцию немного переоценивать потери. Затухание из-за распространения через снег не считается зависимым от поляризации, но сильно зависит от частоты. Модель потерь от снега параметризуется эквивалентным содержанием жидкости вместо объема. Для данного содержания воды снег требует примерно в 10 раз большего объема, чем дождь.

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

freq = (1:20)*1e9;
R0 = 1e3;               % 1 km range
snowrate = [0.1 1.5 4]; % equivalent liquid water content in mm/h

for m = 1:numel(snowrate)
    snowloss(:,m) = snowpl(R0,freq,snowrate(m));
end
loglog(freq/1e9,snowloss);
grid on;
legend('Light Snow','Moderate Snow','Heavy Snow', ...
    'Location','SouthEast');
xlabel('Frequency (GHz)');
ylabel('Attenuation at 1 km (dB)')
title('Snow Attenuation');

Потери из-за тумана и облака

Туман и облако образуются и с каплями воды, хотя и значительно меньшими по сравнению с дождевыми каплями. Размер капель тумана обычно составляет менее 0,01 см. Туман часто характеризуется плотностью жидкой воды. Средний туман с видимостью около 300 метров имеет плотность жидкой воды 0,05 г/м ^ 3. Для сильного тумана, когда видимость падает до 50 метров, плотность жидкой воды составляет около 0,5 г/м ^ 3. Температура атмосферы (по Цельсию) также присутствует в модели ITU для потерь распространения из-за тумана и облака [3].

Использовать fogpl вычислять потери из-за тумана и строить графики потерь по частоте. Модель ITU для ослабления из-за тумана действительна между 10 ГГц и 1 ТГц.

freq = (10:1000)*1e9;
T = 15;                         % 15 degree Celsius
waterdensity = [0.01 0.05 0.5]; % liquid water density in g/m^3
for m = 1: numel(waterdensity)
    fogloss(:,m) = fogpl(R0,freq,T,waterdensity(m))';
end
loglog(freq/1e9,fogloss);
grid on;
legend('Light Fog','Medium Fog','Heavy Fog','Location','southeast');
xlabel('Frequency (GHz)');
ylabel('Attenuation at 1 km (dB)')
title('Fog Attenuation');

Отметим, что в целом тумана нет, когда идет дождь.

Потери из-за поглощения и линзирования в атмосфере

Даже когда нет тумана или дождя, атмосфера полна газов, которые все еще влияют на распространение сигнала. Модель ITU [4] описывает затухание атмосферного газа как функцию как давления сухого воздуха, такого как кислород, измеренного в гПа, так и плотности водяного пара, измеренного в г/м ^ 3.

Использовать tropopl вычислять потери из-за поглощения атмосферы и строить графики потерь по частоте. По умолчанию эта функция использует модель средней годовой глобальной эталонной атмосферы (MAGRA) для получения типичных значений температуры, давления и плотности водяного пара для данной высоты. Можно также указать модель широты для использования модели, адаптированной к определенному диапазону широт. Некоторые модели широты также допускают спецификацию сезона. Пусть наша высота будет 2 км (обратите внимание, что тропосфера, для которой эта модель действительна, простирается до 10 км) и наш путь распространения будет подавлен на 5 градусов. Эта функция возвращает суммарные потери из-за поглощения атмосферы по наклонному пути распространения, но не включает рассеяние из-за преломления (линзирования). Мы сравним потери между моделями низкой, средней и высокой широты.

height = 2e3;
el = -5; % elevation angle
atmloss_low = tropopl(R0,freq,height,el,'LatitudeModel','Low');
atmloss_mid = tropopl(R0,freq,height,el,'LatitudeModel','Mid');
atmloss_high = tropopl(R0,freq,height,el,'LatitudeModel','High');
loglog(freq/1e9,atmloss_low);
hold on;
loglog(freq/1e9,atmloss_mid);
loglog(freq/1e9,atmloss_high);
hold off;
grid on;
legend('Low Latitudes','Mid Latitudes','High Latitudes','Location','northwest');
xlabel('Frequency (GHz)');
ylabel('Attenuation at 1 km (dB)')
title('Atmospheric Gas Attenuation');

Сюжет предполагает, что происходит сильное поглощение из-за атмосферных газов при частоте около 60 ГГц.

Еще один источник потерь из-за атмосферы - от атмосферного линзирования. Это явление, при котором угловая протяженность пропускания увеличивается в диапазоне из-за градиента преломления. Это распределение энергии уменьшает плотность энергии вдоль номинального (прямого) пути распространения, независимо от частоты.

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

Использовать lenspl для вычисления этих потерь и построения графика по частоте. Поскольку эта потеря не зависит от частоты, мы построим график потерь относительно диапазона распространения для набора высот. Для наклонной траектории распространения используйте угол наклона 0,05 градуса.

R = 1e3:1e3:100e3;      % propagation range
el = 0.05;              % elevation angle
heights = [10 100 200]; % radar platform heights
for m = 1:numel(heights)
    lenloss(:,m) = lenspl(R,heights(m),el);
end
semilogy(R/1e3,lenloss);
grid on;
legend('Height: 10 m','Height: 100 m','Height: 200 m','Location',...
    'southeast');
xlabel('Propagation Range (km)');
ylabel('Attenuation (dB)')
title('Atmospheric Lensing Attenuation');

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

Потеря из-за несоответствия поляризации

Некоторые типы потерь распространения зависят от поляризации передаваемого излучения, например, при потере дождя. Это является результатом химических и структурных свойств среды. Однако даже в свободном пространстве могут быть потери из-за несоответствия распространенного вектора поляризации и поляризации приемной антенны. Например, если распространенный вектор поляризации ортогональен поляризации приемной антенны, энергия прямого сигнала не будет принята. Следует отметить, что «распространенный вектор поляризации» в общем случае не совпадает с переданным вектором поляризации, так как необходимо учитывать направление распространения. Следует также отметить, что другие функции потерь, которые принимают поляризацию за вход, не вычисляют потери из-за этого несоответствия. Зависимые от поляризации потери из-за свойств среды распространения могут обрабатываться отдельно от потерь из-за несоответствия поляризации, поскольку последняя сильно зависит от ориентации передатчика/приемника.

Использовать polloss вычислять потери из-за несоответствия поляризации для данной поляризации передачи/приема, положений платформы и ориентации платформы. Поместите передающую платформу в начало координат без вращения от инерции. Разместите приемную платформу вдоль оси X и вычислите потери поляризации для диапазона углов крена. Пусть обе поляризации антенны будут вертикальными.

poltx = [0;1];  % [H;V] polarization
polrx = [0;1];
postx = [0;0;0];
posrx = [100;0;0];
frmtx = eye(3); % transmit frame aligned with inertial
rolls = 0:180;

for m = 1:numel(rolls)
    frm_r = rotx(rolls(m));
    rho(m) = polloss(poltx,polrx,posrx,frm_r,postx,frmtx);
end

semilogy(rolls,rho);
grid on;
xlabel('Roll Angle (deg)');
ylabel('Attenuation (dB)');
title('Attenuation Due to Polarization Mismatch');

Затухание приближается к бесконечности при 90 градусном угле крена.

Коэффициент распространения РЛС и вертикальная схема покрытия

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

Вертикальная диаграмма покрытия (диаграмма Блейка) - это компактный способ отображения контуров фиксированной энергии сигнала (такой как минимальная мощность сигнала для обнаружения) как функции диапазона распространения и угла возвышения. Необходимо учитывать только вертикальную плоскость, в которой распространяются сигналы прямого и непрямого пути.

Функция radarvcd принимает опорный диапазон в качестве входного и возвращает диапазон, в котором принимаемая мощность в среде многолучевого распространения равна тому, что будет находиться в свободном пространстве. Этот «эффективный» диапазон отображается на диаграмме «диапазон-высота-угол». Это может быстро дать, например, фактическую дальность обнаружения, заданную дальностью обнаружения свободного пространства, как функцию дальности, высоты или угла возвышения.

Мы будем использовать дальность обнаружения свободного пространства 100 км, частоты передачи в L-диапазоне и C-диапазоне и высоту антенны 12 м. По умолчанию используется sinc-схема передачи.

freq = [1.06 5.7]*1e9; % L-Band and C-Band transmit frequencies (Hz)
antht = 12;            % height of antenna (m)
rngfs = 100;           % free-space detection range (km)
for m = 1:numel(freq)
    [vcp{m}, vcpang{m}] = radarvcd(freq(m),rngfs,antht);
end

blakechart берет эти диапазоны и углы обнаружения вместе с дополнительными атмосферными свойствами для создания диаграммы Блейка. Использовать refractiveidx и вычислить соответствующую степень преломления для ввода в blakechart.

[~,N] = refractiveidx(0); % atmospheric refractivity at the surface
helperPlotBlakeChart(vcp,vcpang,N)

Помехи с отскоком от земли доминируют в коэффициенте распространения для более коротких диапазонов, «области пересечения», но при более длинных диапазонах и низких углах возвышения в коэффициенте распространения преобладает дифракция над горизонтом, «область дифракции». Мы можем использовать radarpropfactor вычислить коэффициент распространения для интервала диапазонов и наблюдать разницу между этими двумя областями.

Вычислите коэффициент распространения для фиксированной высоты над поверхностью 1 км и распространения в диапазоне от 50 до 200 км. Для представления гладкой поверхности задайте значение уклона поверхности и среднеквадратического отклонения высоты равным 0. Выполните анализ для двух диапазонов частот.

tgtht = 1e3;           % target height (m)
R = (50:200)*1e3;      % propagation range (m)
Re = effearthradius;   % effective Earth radius (m)
Rd = sqrt(2*Re)*(sqrt(antht) + sqrt(tgtht)); % diffraction range
F = zeros(numel(freq),numel(R));
for m = 1:numel(freq)
    F(m,:) = radarpropfactor(R,freq(m),antht,tgtht,'SurfaceHeightStandardDeviation',0,'SurfaceSlope',0);
end
helperPlotPropagationFactor(R,F,Rd)

Коэффициент распространения колеблется в интерференционной области, затем быстро уменьшается в дифракционной области.

Объедините помехи отскока и потери поглощения атмосферы. Предположим в данном расчете, что надводная корабельная РЛС 3,3 ГГц S-диапазона находится на высоте 20 м над водой и имеет ширину луча возвышения 30 °.

freq = 3.3e9;                   % Frequency (Hz)
elbw = 30;                      % Elevation beamwidth (deg)
Rkm = 1:0.1:120;                % Range (km)
R = Rkm.*1e3;                   % Range (m)
[htsd,beta0] = searoughness(1); % Sea surface
anht = 20 + 2*htsd;             % Radar height (m)
tgtht = (anht+1):1:300;         % Target height (m)

% Calculate combined environment losses for different heights and ranges
[PLdB, PLdBNorm] = helperCombineEnvLosses(R,freq,anht,tgtht,htsd,beta0,elbw);

% Plot combined losses for different heights and ranges
helperPlotCombinedEnvLosses(Rkm,freq,anht,tgtht,PLdBNorm)

Многолучевое распространение, временные задержки и доплеровские сдвиги

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

Упомянутые выше функции для вычисления потерь распространения полезны для установления бюджетных связей, но для моделирования распространения произвольных сигналов также необходимо применять зависящие от диапазона временные задержки, коэффициенты усиления и фазовые сдвиги. Для моделирования многолучевого распространения доступны различные объекты канала. Для простой траектории линии визирования: phased.LOSChannel может использоваться для моделирования распространения с учетом любого из описанных выше типов потерь.

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

Временные задержки и доплеровские сдвиги

Сначала определите передаваемый сигнал. В этом случае будет использоваться прямоугольная форма сигнала.

waveform = phased.RectangularWaveform('PRF',250);
wav = waveform();

Предположим, что рабочая частота L-диапазона равна 1,9 ГГц. Моделирование канала с помощью

fc = 1.9e9;
channel = twoRayChannel('PropagationSpeed',c,'OperatingFrequency',fc);

Предположим, что целевой блок находится на высоте 1,65 км над землей, радиолокационная антенна находится на расстоянии 50 км над землей. Смоделировать сигнал, когда он достигнет цели.

pos_radar = [0;0;12];
pos_target = [50e3;0;1.65e3];
vel_radar = [0;0;0];
vel_target = [-200;0;0];
y2ray = channel(wav,pos_radar,pos_target,vel_radar,vel_target);

Визуализируют передаваемый и распространяемый импульс и их нормализованный спектр. Канал ввёл задержку 167$\mu s$, что соответствует 50-километровому диапазону цели, делённому на скорость света.

[delay, dop] = helperPlotDelayAndDopplerShift(wav,y2ray,waveform.SampleRate);

estRange = delay*c*1e-3 % km
estRange =

   49.9954

Канал также применил доплеровский сдвиг, соответствующий скорости дальности цели. Сравните расчетное значение с истинностью грунта -200 м/с с помощью dop2speed и freq2wavelen.

estRangeRate = -dop2speed(dop,freq2wavelen(fc)) % m/s
estRangeRate =

 -201.9038

Многолучевое замирание

Потеря сигнала в этом канале может быть вычислена как

L_2ray = pow2db(bandpower(wav))-pow2db(bandpower(y2ray))
L_2ray =

  151.5888

Потеря пути свободного пространства задается

L_ref = fspl(norm(pos_target-pos_radar),c/fc)
L_ref =

  132.0069

Результат предполагает, что в этой конфигурации канал вносит дополнительные потери 19,6 дБ в принятый сигнал по сравнению со случаем свободного пространства. Теперь предположим, что цель летит немного выше на высоте 1,8 км над землей. Повторение моделирования выше предполагает, что на этот раз отражение земли фактически обеспечивает усиление 6 дБ! Хотя потери в тракте свободного пространства по существу одинаковы в двух сценариях, перемещение на 150 м вызвало флуктуацию мощности сигнала на 25,6 дБ.

pos_target = [50e3;0;1.8e3];
y2ray  = channel(wav,pos_radar,pos_target,vel_radar,vel_target);
L_2ray = pow2db(bandpower(wav))-pow2db(bandpower(y2ray))
L_ref  = fspl(norm(pos_target-pos_radar),c/fc)
L_2ray =

  126.0374


L_ref =

  132.0078

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

Как правило, широкополосные системы работают с полосой пропускания более 5% их центральной частоты. В отличие от этого, узкополосные системы работают с полосой пропускания 1% или менее от центральной частоты системы.

Было показано, что узкополосный канал в предыдущем разделе очень чувствителен к многолучевому замиранию. Незначительные изменения высоты цели привели к значительным потерям сигнала. Характеристики замирания канала могут быть нанесены путем изменения высоты цели в диапазоне рабочих высот для этой радиолокационной системы. Выбран размах высот от 1 км до 3 км.

% Simulate the signal fading at the target for heights from 1 km to 3 km
hTarget = linspace(1e3,3e3);
pos_target = repmat([50e3;0;1.6e3],[1 numel(hTarget)]);
pos_target(3,:) = hTarget;
vel_target = repmat(vel_target,[1 numel(hTarget)]);

release(channel);
y2ray = channel(repmat(wav,[1 numel(hTarget)]),pos_radar,pos_target,vel_radar,vel_target);

Потери сигнала, наблюдаемые на цели для узкополосной системы, теперь могут быть нанесены на график.

L2ray = pow2db(bandpower(wav))-pow2db(bandpower(y2ray));

clf;
plot(hTarget,L2ray);
xlabel('Target Height (m)');
ylabel('One-Way Propagation Loss (dB)');
title('Multipath Fading Observed at the Target');
grid on;

Чувствительность потерь канала к высоте цели для этой узкополосной системы ясна. Глубокие затухания сигнала происходят на высотах, которые, вероятно, находятся в пределах зоны наблюдения радара.

Увеличение пропускной способности канала может повысить надежность этих многолучевых замираний. Для этого определяют широкополосную форму сигнала с шириной полосы 8% центральной частоты линии связи.

bw = 0.08*fc;
pulse_width = 1/bw;
fs = 2*bw;

waveform = phased.RectangularWaveform('SampleRate',fs,'PRF',2000,'PulseWidth',pulse_width);
wav = waveform();

Широкополосная версия этой модели канала, widebandTwoRayChannel, может использоваться для моделирования многолучевых отражений этого широкополосного сигнала от земли между РЛС и целью и для вычисления соответствующих потерь канала.

channel = widebandTwoRayChannel('PropagationSpeed',c,'OperatingFrequency',fc,'SampleRate',fs);

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

y2ray_wb = channel(repmat(wav,[1 numel(hTarget)]),pos_radar,pos_target,vel_radar,vel_target);
L2ray_wb = pow2db(bandpower(wav))-pow2db(bandpower(y2ray_wb));

hold on;
plot(hTarget,L2ray_wb);
hold off;
legend('Narrowband','Wideband');

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

Заключение

В этом примере представлен обзор потерь на распространение радиочастот из-за атмосферных и погодных воздействий. Он также вводит флуктуации многолучевого распространения сигнала из-за земных отскоков. Он выделял функции и объекты для моделирования потерь ослабления для узкополосных и широкополосных каналов с одним возвратом.

Ссылки

[1] John Seybold, Introduction to RF Propagation, Wiley, 2005
[2] Recommendation ITU-R P.838-3, 2005
[3] Recommendation ITU-R P.840-3, 2013
[4] Recommendation ITU-R P.676-10, 2013
[5] Recommendation ITU-R P.525-2, 1994
[6] Rain, A Water Resource (Pamphlet), U.S. Geological Survey, 1988

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

helperPlotPropagationFactor

function helperPlotPropagationFactor(R,F,Rd)

% Plot interference and diffraction region patches
[minF, maxF] = bounds(F(:));
maxF = ceil((maxF+10)/10)*10;
minF = floor((minF-10)/10)*10;
yPatch = [minF minF maxF maxF];
c1 = [0.3010 0.7450 0.9330];
c2 = [0 0.4470 0.7410];
clf % clear current figure
fill([R(1) Rd Rd R(1)]/1e3,yPatch,c1,'EdgeColor','none','FaceAlpha',0.25)
hold on
fill([Rd R(end) R(end) Rd]/1e3,yPatch,c2,'EdgeColor','none','FaceAlpha',0.25)

% Plot one-way propagation factor
set(gca,'ColorOrderIndex',1); % reset color index
plot(R/1e3,F);
ylim([minF maxF])
grid on;
xlabel('Range (km)');
ylabel('Propagation Factor (dB)');
title('One-Way Propagation Factor at 1 km above Surface');
legend('Interference Region', 'Diffraction Region',...
    'L-Band (1.06 GHz)', 'C-Band (5.7 GHZ)',...
    'Location','SouthWest')
hold off
end

helperPlotBlakeChart

function helperPlotBlakeChart(vcp,vcpang,N)
% Calculate refraction exponent
DelN = -7.32*exp(0.005577*N);
rexp = log(N./(N + DelN));

subplot(211)
blakechart(vcp{1},vcpang{1},'SurfaceRefractivity',N,'RefractionExponent',rexp);
legend('L-Band (1.06 GHz)')
xlabel('')
title ('Blake Chart - Antenna Height: 12 m')
subplot(212)
blakechart(vcp{2},vcpang{2},'SurfaceRefractivity',N,'RefractionExponent',rexp);
allc = get(gca,'Children');
set(allc(11),'Color',[0.8500 0.3250 0.0980]) % Change line color
title('')
legend('C-Band (5.7 GHz)')
end

helperPlotDelayAndDopplerShift

function [delay, dop] = helperPlotDelayAndDopplerShift(wav,y2ray,Fs)
% Plot transmitted and propagated pulse
t = 1e6*(0:numel(wav)-1)'/Fs;
subplot(211)
yyaxis left
plot(t,abs(wav))
ylabel('Magnitude')
yyaxis right
plot(t,abs(y2ray))
grid on
axis padded
xlim([0 300])
xlabel(['Time (' char(0x00B5) 's)'])
ylabel('Magnitude')
title('Transmitted and Propagated Pulse')

% Annotation
delay = midcross(abs(y2ray),t/1e6,'MidPercentReferenceLevel',80); % seconds
delay = delay(1);
xl = xline(1e6*delay,'-.',... % Annotation
    {[num2str(round(1e6*delay)),' ',char(0x00B5) 's delay']},'Color',[0.8500 0.3250 0.0980]);
xl.LabelVerticalAlignment = 'middle';
xl.LabelHorizontalAlignment = 'left';
xl.LineWidth = 2;

% Plot power spectrum
subplot(212)
[p,f] = pspectrum([wav y2ray],Fs,'FrequencyLimits',[-20e3 20e3]);
p = abs(p);
plot(1e-3*f,rescale(p,'InputMin',min(p),'InputMax',max(p)));
axis padded
grid on
[~,idx]=max(p);
dop = f(idx(2))-f(idx(1));   % Hz
xlabel('Frequency (kHz)')
ylabel('Magnitude')
title('Normalized Spectrum')

xl = xline(1e-3*dop,'-.',... % Annotation
    {'Doppler shift',[num2str(round(dop)*1e-3) ' kHz']},'Color',[0.8500 0.3250 0.0980]);
xl.LabelVerticalAlignment = 'bottom';
xl.LineWidth = 2;
legend('Transmitted','Propagated')
end

helperCombineEnvLosses

function [PLdB, PLdBNorm] = helperCombineEnvLosses(R,freq,anht,tgtht,htsd,beta0,elbw)
% Calculate the combined environment losses
numHt = numel(tgtht);
numR = numel(R);
F = zeros(numHt,numR);
for ih = 1:numHt
    F(ih,:) = radarpropfactor(R, freq, anht, tgtht(ih),...
    'SurfaceHeightStandardDeviation',htsd,'SurfaceSlope',beta0,...
    'ElevationBeamwidth', elbw);
end

% Free space spreading loss
Lspl_dB = 2*fspl(R,freq2wavelen(freq));  % Factor of 2 for two-way

% Perform tropospheric losses calculation for a subset of elevation angles,
% since the ray refracting can take a long time.
numEl = 10;
minEl = height2el(tgtht(1),anht,R(end)); % Min elevation angle (deg)
maxEl = height2el(tgtht(end),anht,R(1)); % Max elevation angle (deg)
elSubset = linspace(minEl,maxEl,numEl);
LtropoSubset = zeros(numEl,numR);
for ie = 1:numEl
    LtropoSubset(ie,:) = tropopl(R,freq,anht,elSubset(ie));
end
% Interpolate tropospheric losses for all elevation angles of interest
Ltropo = zeros(numHt,numR);
for ir = 1:numR
    el = height2el(tgtht,anht,R(ir));
    Ltropo(:,ir) = interp1(elSubset,LtropoSubset(:,ir),el);
end

PLdB = 2*F - Lspl_dB - Ltropo;           % Factor of 2 for two-way
PLdBNorm = PLdB - max(PLdB(:));
end

helperPlotCombinedEnvLosses

function helperPlotCombinedEnvLosses(Rkm,freq,anht,tgtht,PLdBNorm)
% Plot combined losses for different heights and ranges
hP = pcolor(Rkm,tgtht,PLdBNorm);
set(hP, 'EdgeColor', 'none');
title([num2str(freq/1e9) ' GHz S-Band Radar'])
subtitle([num2str(round(anht)) ' m above water'])
xlabel('Range (km)')
ylabel('Height (m)')
colormap('jet');
caxis([-150 0])
hC = colorbar;
hC.Label.String = 'Normalized Two-Way Propagation Loss (dB)';
end