В этом примере показано, как планировать канал фиксированного беспроводного доступа (FWA) по местности с использованием 5G технологий. FWA является примером использования 5G для предоставления широкополосных услуг домам или предприятиям, где услуги проводной связи либо недоступны, либо недоработаны. FWA соединяет базовую станцию с фиксированным беспроводным терминалом пользователя (FWT) [1]. На высоких частотах, необходимых для 5G, нарушения рельефа местности и потерь пути, такие как листва и погода, играют важную роль в определении успеха звена.
Пример создает базовую станцию и множество приемных станций в пригородной среде, размещая антенны для достижения видимости по линии визирования на промежуточной местности. Многопользовательская система с множеством входов и множеством выходов (MU-MIMO) с антеннами с высоким коэффициентом усиления разработана с использованием Antenna Toolbox™ и Phased Array System Toolbox™. Уровень сигнала в приемных узлах оценивается для двух частот при наличии нарушений потерь в тракте.
Создайте сайт передатчика на горе Саут-Унканоонук в Гоффстауне, штат Нью-Гэмпшир, США. Гора является домом для нескольких передающих устройств, которые обслуживают этот район. Определите узел передатчика для представления базовой станции, передающей на частоте 28 ГГц с мощностью 1 Вт. Показать площадку в Site Viewer и повернуть вид для визуализации площадки с окружающей местностью.
fq = 28e9; % 28 GHz tx = txsite("Name","South Uncanoonuc (BS)", ... "Latitude",42.983723, ... "Longitude",-71.587173, ... "TransmitterPower",1, ... "TransmitterFrequency",fq); show(tx)

Создайте три узла-получателя в области и отобразите узлы на карте. Каждый узел приемника представляет узел, на котором размещен стационарный беспроводной терминал пользователя.
rxBedford = rxsite("Name","Bedford Town Center", ... "Latitude",42.946193, ... "Longitude",-71.516234); rxStA = rxsite("Name","St. Anselm College", ... "Latitude",42.987386, ... "Longitude",-71.507475); rxGPD = rxsite("Name","Goffstown Police Dept", ... "Latitude",43.009335, ... "Longitude",-71.539083); rxs = [rxBedford, rxStA, rxGPD]; show(rxs)
Одной из проблем для 5G связи является обеспечение успешной связи при наличии рельефа местности и других препятствий, поскольку потери распространения возрастают с высокой частотой. Для оптимальных условий распространения требуется видимая линия визирования. В рассматриваемой здесь пригородной среде рельеф местности является доминирующим препятствием для достижения видимости линии видимости. Постройте график путей распространения по линии визирования между базовой станцией и приемными станциями. Расчет линии визирования включает в себя рельеф местности, но не другие препятствия и выявляет затрудненную линию визирования с двумя из трех приемных площадок.
los(tx,rxs)

Отрегулируйте высоту антенны для обеспечения видимости по линии визирования.
% Place antennas on structures at receiver sites. Assume 6 m utility poles for Bedford % and St. Anselm sites, and 15 m antenna pole at Goffstown Police Department. rxBedford.AntennaHeight = 6; rxStA.AntennaHeight = 6; rxGPD.AntennaHeight = 15; % Increase height of antenna at base station until line-of-sight is achieved with all receiver sites tx.AntennaHeight = 10; while ~all(los(tx,rxs)) tx.AntennaHeight = tx.AntennaHeight + 5; end % Display line-of-sight los(tx,rxs) disp("Antenna height required for line-of-sight: " + tx.AntennaHeight + " m")
Antenna height required for line-of-sight: 70 m

Создание антенной решетки 8 на 12 из пересекающихся дипольных антенных элементов для формирования высоконаправленного луча. Эта система реализует концепцию 5G с использованием MU-MIMO [1]. Постройте график диаграммы направленности на карте, используя ориентацию антенны по умолчанию, чтобы антенная решетка была физически ориентирована в восточном направлении.
% Design reflector-backed crossed dipole antenna txElement = reflectorCrossedDipoleElement(fq); % Define array size ntxrow = 8; ntxcol = 12; % Define element spacing lambda = physconst("lightspeed")/fq; drow = lambda/2; dcol = lambda/2; % Create 8-by-12 antenna array tx.Antenna = phased.URA("Size",[ntxrow ntxcol], ... "Element",txElement, ... "ElementSpacing",[drow dcol]); % Plot pattern on the map pattern(tx)

Создайте прямоугольную решетку 3 на 3 из элемента вертикальной дипольной антенны с отражателем. В каждой приемной станции направьте матрицу к базовой станции и постройте диаграмму направленности на карте.
rxElement = reflectorDipoleElement(fq); % Define array size nrxrow = 3; nrxcol = 3; % Define element spacing lambda = physconst("lightspeed")/fq; drow = lambda/2; dcol = lambda/2; % Create antenna array rxarray = phased.URA("Size",[nrxrow nrxcol], ... "Element",rxElement, ... "ElementSpacing",[drow dcol]); % Assign array to each receiver site and point toward base station for rx = rxs rx.Antenna = rxarray; rx.AntennaAngle = angle(rx, tx); pattern(rx,fq) end

Используйте модель распространения свободного пространства для вычисления уровня принимаемого сигнала для каждого узла приемника. Для каждой площадки управляйте лучом базовой станции для оптимизации направленности линии связи. Благоприятные условия, предполагаемые свободным пространством, создают сильные сигналы на приемных площадках, предполагая чувствительность приемника -84 дБм [2].
steeringVector = phased.SteeringVector("SensorArray",tx.Antenna); for rx = rxs % Compute steering vector for receiver site [az,el] = angle(tx,rx); sv = steeringVector(fq,[az;el]); % Update base station radiation pattern tx.Antenna.Taper = conj(sv); pattern(tx) % Compute signal strength (dBm) ss = sigstrength(rx,tx,"freespace"); disp("Signal strength at " + rx.Name + ":") disp(ss + " dBm") end
Signal strength at Bedford Town Center:
-69.6736 dBm
Signal strength at St. Anselm College:
-68.0434 dBm
Signal strength at Goffstown Police Dept:
-66.3294 dBm

Вместо управления лучом антенны базовой станции к каждому участку приемника, в свою очередь, генерируют один луч, который может передавать ко всем участкам приемника одновременно. Одиночный луч генерирует лепестки излучения к трем участкам приемника. Уровень сигнала падает на каждом приемном участке с одновременной передачей, но все еще соответствует чувствительности приемника.
steeringVector = phased.SteeringVector("SensorArray",tx.Antenna); % Compute steering vector for receiver site [az,el] = angle(tx,rxs); sv = steeringVector(fq,[az el]'); % Update base station radiation pattern tx.Antenna.Taper = conj(sum(sv,2)); pattern(tx) % Compute signal strength (dBm) for rx = rxs ss = sigstrength(rx,tx,"freespace"); disp("Signal strength at " + rx.Name + ":") disp(ss + " dBm") end
Signal strength at Bedford Town Center:
-75.2902 dBm
Signal strength at St. Anselm College:
-72.2959 dBm
Signal strength at Goffstown Police Dept:
-72.0308 dBm

Дополнительное ослабление сигнала происходит из-за листвы и погоды. Используйте модель Вайсбергера [3] для оценки потерь пути из-за листвы, а модели распространения газа и дождя - для оценки интенсивности сигнала из-за погоды. При наличии нарушений потерь в тракте предполагаемая сила сигнала становится слабой и падает ниже чувствительности приемника -84 дБм.
% Assume that propagation path travels through 25 m of foliage foliageDepth = 25; L = 1.33*((fq/1e9)^0.284)*foliageDepth^0.588; % Weissberger model for d > 14 disp("Path loss due to foliage: " + L + " dB")
Path loss due to foliage: 22.7422 dB
% Assign foliage loss as static SystemLoss on each receiver site for rx = rxs rx.SystemLoss = L; end % Compute signal strength with foliage loss for rx = rxs rx.SystemLoss = L; ss = sigstrength(rx,tx,"freespace"); disp("Signal strength at " + rx.Name + ":") disp(ss + " dBm") end
Signal strength at Bedford Town Center:
-98.0325 dBm
Signal strength at St. Anselm College:
-95.0381 dBm
Signal strength at Goffstown Police Dept:
-94.7731 dBm
% Compute signal strength including propagation through gas and rain. Use % the "+" operator to add the propagation models to create a composite % model including both atmospheric effects. weatherpm = propagationModel("gas") + propagationModel("rain"); for rx = rxs ss = sigstrength(rx,tx,weatherpm); disp("Signal strength at " + rx.Name + ":") disp(ss + " dBm") end
Signal strength at Bedford Town Center:
-114.4904 dBm
Signal strength at St. Anselm College:
-110.4517 dBm
Signal strength at Goffstown Police Dept:
-107.3223 dBm
Полоса 3,5 ГГц является известной полосой, рассматриваемой для 5G радио [1]. Переработка системы MU-MIMO для этой более низкой частоты для достижения более благоприятных потерь на тракте и достижения требуемой интенсивности сигнала.
fq = 3.5e9; % 3.5 GHz % Create antenna array for base station lambda = physconst("lightspeed")/fq; drow = lambda/2; dcol = lambda/2; tx.TransmitterFrequency = fq; tx.Antenna = phased.URA("Size",[ntxrow ntxcol], ... "Element",reflectorCrossedDipoleElement(fq), ... "ElementSpacing",[drow dcol]); % Create antenna array for receiver sites lambda = physconst("lightspeed")/fq; drow = lambda/2; dcol = lambda/2; rxarray = phased.URA("Size",[nrxrow nrxcol], ... "Element",reflectorDipoleElement(fq), ... "ElementSpacing",[drow dcol], ... "ArrayNormal","x"); for rx = rxs rx.Antenna = rxarray; end
В дополнение к вычислению уровня сигнала на каждом участке приемника, генерируйте карту покрытия, используя модель распространения Лонгли-Райса с погодными нарушениями. Модель Лонгли-Райса, которая также известна как модель нерегулярной местности (ITM), оценивает потери на пути на основе дифракции и других потерь, полученных из местности. Модель Longley-Rice действительна от 20 МГц до 20 ГГц и поэтому доступна для 3,5 ГГц, но не для 28 ГГц.
% Compute steering vector for receiver site steeringVector = phased.SteeringVector("SensorArray",tx.Antenna); [az,el] = angle(tx,rxs); sv = steeringVector(fq,[az el]'); % Update base station radiation pattern tx.Antenna.Taper = conj(sum(sv,2)); pattern(tx,'Size',4000) % Recompute loss due to foliage L = 1.33*((fq/1e9)^0.284)*foliageDepth^0.588; % Weissberger model for d > 14 % Assign foliage loss as static SystemLoss on each receiver site for rx = rxs rx.SystemLoss = L; end disp("Path loss due to foliage: " + L + " dB")
Path loss due to foliage: 12.5996 dB
% Add weather-based path loss to the Longley-Rice propagation model pm = propagationModel('longley-rice') + weatherpm; % Compute receiver gain from peak antenna gain and system loss G = pattern(rxarray, fq); rxGain = max(G(:)) - L; coverage(tx, ... 'PropagationModel',pm, ... 'ReceiverGain',rxGain, ... 'ReceiverAntennaHeight',6, ... 'SignalStrengths',-84:-50) % Compute signal strength with foliage loss and weather for rx = rxs ss = sigstrength(rx,tx,pm); disp("Signal strength at " + rx.Name + ":") disp(ss + " dBm") end
Signal strength at Bedford Town Center:
-69.9055 dBm
Signal strength at St. Anselm College:
-66.8931 dBm
Signal strength at Goffstown Police Dept:
-66.6076 dBm

В этом примере показано, как планировать фиксированную линию беспроводного доступа по местности с использованием 5G технологий в многопользовательском пригородном сценарии. В то время как распространение по линии визирования достигается по местности, ухудшение потерь в тракте делает несущую частоту 28 ГГц непригодной для линий связи, несмотря на использование антенн с высоким коэффициентом усиления и формирование луча. Добавление только потери листвы опускает уровень сигнала ниже чувствительности приемника -84 дБм, а добавление потери погоды значительно понижает его дальше. Более низкая частота 3,5 ГГц необходима для достижения успешных связей на рассматриваемых здесь многокилометровых диапазонах. В результате этот пример иллюстрирует чувствительность несущих частот высокого 5G к ухудшению потерь в общем тракте.
[1] Ericsson Technology Review, Фиксированный беспроводной доступ в массовом масштабе с 5G, Андерсом Фурускяром, Ким Лараки, Сибел Томбаз, Ала Назари, Бьёрн Скубич, Эльмар Троер, декабрь 2016 г.
[2] Микроволновый журнал, Pre-5G и 5G: Будет ли работать звено mmWave?, Андреас Роесслер, декабрь 2017 г.
[3] Джон Сейболд, Введение в распространение РФ, Уайли, 2005
function element = reflectorCrossedDipoleElement(fq, showAntenna) %reflectorCrossedDipoleElement Design reflector-backed crossed dipole antenna element if nargin < 2 showAntenna = false; end lambda = physconst("lightspeed")/fq; offset = lambda/50; gndspacing = lambda/4; gndLength = lambda; gndWidth = lambda; % Design crossed dipole elements d1 = design(dipole,fq); d1.Tilt = [90,-45]; d1.TiltAxis = ["y","z"]; d2 = copy(d1); d2.Tilt = 45; d2.TiltAxis = "x"; % Design reflector r = design(reflector,fq); r.Exciter = d1; r.GroundPlaneLength = gndLength; r.GroundPlaneWidth = gndWidth; r.Spacing = gndspacing; r.Tilt = 90; r.TiltAxis = "y"; if showAntenna show(r) end % Form the crossed dipole backed by reflector refarray = conformalArray; refarray.ElementPosition(1,:) = [gndspacing 0 0]; refarray.ElementPosition(2,:) = [gndspacing+offset 0 0]; refarray.Element = {r, d2}; refarray.Reference = "feed"; refarray.PhaseShift = [0 90]; if showAntenna show(refarray); view(65,20) end % Create custom antenna element from pattern [g,az,el] = pattern(refarray,fq); element = phased.CustomAntennaElement; element.AzimuthAngles = az; element.ElevationAngles = el; element.MagnitudePattern = g; element.PhasePattern = zeros(size(g)); end function element = reflectorDipoleElement(fq) %reflectorDipoleElement Design reflector-backed dipole antenna element % Design reflector and exciter, which is vertical dipole by default element = design(reflector,fq); element.Exciter = design(element.Exciter,fq); % Tilt antenna element to radiate in xy-plane, with boresight along x-axis element.Tilt = 90; element.TiltAxis = "y"; element.Exciter.Tilt = 90; element.Exciter.TiltAxis = "y"; end