exponenta event banner

Анализ городских связей и покрытия с использованием трассировки лучей

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

  • Импорт и визуализация данных 3-D зданий в Site Viewer

  • Определение участка передатчика и модели распространения трассировки лучей в соответствии с 5G городским сценарием

  • Анализ связи в условиях отсутствия прямой видимости

  • Визуализация покрытия с использованием метода отслеживания лучей съемки и отскока (SBR) с различным количеством отражений и запущенных лучей

  • Оптимизация связи без линии визирования с помощью управления лучом и системы фазированной решетки Toolbox™

Импорт и визуализация данных зданий

Импортируйте файл OpenStreetMap (.osm), соответствующий Canary Wharf в Лондоне, Великобритания. Файл был загружен из https://www.openstreetmap.org, который обеспечивает доступ к данным карты, полученным из толпы по всему миру. Данные лицензированы по лицензии Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/. Информация о зданиях, содержащаяся в файле OpenStreetMap, импортируется и визуализируется в Site Viewer.

viewer = siteviewer("Buildings","canarywharf.osm","Basemap","topographic");

Определение площадки датчика

Определите узел передатчика для моделирования сценария с небольшой ячейкой в густонаселенной городской среде. Передающая станция представляет собой базовую станцию, которая размещена на полюсе, обслуживающем окружающую область, которая включает в себя соседний парк. Передатчик использует изотропную антенну по умолчанию и работает на несущей частоте 28 ГГц с уровнем мощности 5 Вт.

tx = txsite("Name","Small cell transmitter", ...
    "Latitude",51.50375, ...
    "Longitude",-0.01843, ...
    "AntennaHeight",10, ...
    "TransmitterPower",5, ...
    "TransmitterFrequency",28e9);
show(tx)

Просмотр карты покрытия для распространения по прямой видимости

Создайте модель распространения трассировки лучей с использованием метода съемки и отскока (SBR). Модель распространения SBR использует анализ трассировки лучей для вычисления путей распространения и их соответствующих потерь. Потери на траектории вычисляются из потерь свободного пространства, потерь на отражение из-за материала и потерь на поляризацию антенны.

Установите максимальное количество отражений равным 0, чтобы ограничить начальный анализ только путями распространения линии визирования. Задайте типы материалов здания и местности для моделирования идеального отражения.

rtpm = propagationModel("raytracing", ...
    "Method","sbr", ...
    "MaxNumReflections",0, ...
    "BuildingsMaterial","perfect-reflector", ...
    "TerrainMaterial","perfect-reflector");

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

coverage(tx,rtpm, ...
    "SignalStrengths",-120:-5, ...
    "MaxRange",250, ...
    "Resolution",3, ...
    "Transparency",0.6)

Определение месторасположения получателя в месте, не являющемся объектом видимости

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

rx = rxsite("Name","Small cell receiver", ...
    "Latitude",51.50216, ...
    "Longitude",-0.01769, ...
    "AntennaHeight",1);

los(tx,rx)

Печать траектории распространения с использованием трассировки лучей

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

rtpm.MaxNumReflections = 1;
clearMap(viewer)
raytrace(tx,rx,rtpm)

Анализ силы сигнала и влияния материалов

Вычислите полученную мощность, используя модель распространения, которая была предварительно сконфигурирована для моделирования идеального отражения. Затем назначьте более реалистичный тип материала и повторно вычислите полученную мощность. Обновите лучи, показанные в средстве просмотра сайтов. Использование реалистичного отражения материала приводит к потере мощности около 8 дБ по сравнению с идеальным отражением.

ss = sigstrength(rx,tx,rtpm);
disp("Received power using perfect reflection: " + ss + " dBm")
Received power using perfect reflection: -70.3924 dBm
rtpm.BuildingsMaterial = "concrete";
rtpm.TerrainMaterial = "concrete";

raytrace(tx,rx,rtpm)
ss = sigstrength(rx,tx,rtpm);
disp("Received power using concrete materials: " + ss + " dBm")
Received power using concrete materials: -78.9591 dBm

Включить погодные потери

Добавление погодных нарушений в модель распространения и повторное вычисление полученной мощности приводит к еще 1,5 дБ потерь.

rtPlusWeather = rtpm + propagationModel("gas") + propagationModel("rain");
raytrace(tx,rx,rtPlusWeather)

ss = sigstrength(rx,tx,rtPlusWeather);
disp("Received power including weather loss: " + ss + " dBm")
Received power including weather loss: -80.4766 dBm

Просмотр карты покрытия с путями с одним отражением

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

clearMap(viewer)

% Load coverage results and plot. Coverage results were generated using
% commented coverage call below, which takes a couple of minutes to complete.
show(tx)

coverageResults = load("coverageResults.mat");
contour(coverageResults.propDataSingleRef, ...
    "Type","power", ...
    "Transparency",0.6)

% coverage(tx,rtPlusWeather, ...
%     "SignalStrengths",-120:-5, ...
%     "MaxRange", 250, ...
%     "Resolution",2, ...
%     "Transparency",0.6);

Траектории распространения графика, включая два отражения

Разверните анализ «точка-точка», чтобы включить два пути отражения и выбрать меньшее угловое разделение между запущенными лучами для метода SBR. Визуализация показывает два кластера путей распространения, и общая принимаемая мощность увеличивается приблизительно на 3 дБ по сравнению с путями с одним отражением.

rtPlusWeather.PropagationModels(1).MaxNumReflections = 2;
rtPlusWeather.PropagationModels(1).AngularSeparation = "low";

ss = sigstrength(rx, tx, rtPlusWeather);
disp("Received power with two-reflection paths: " + ss + " dBm")
Received power with two-reflection paths: -77.1445 dBm
clearMap(viewer)
raytrace(tx,rx,rtPlusWeather)

Просмотр карты покрытия с двумя траекториями отражения

Визуализируйте предварительно вычисленную карту покрытия, которая включает в себя пути с двумя отражениями и погодные нарушения, как определено комбинированной моделью распространения выше. Результирующая карта покрытия показывает принимаемую мощность в большей области, чем карта покрытия с путями с одним отражением выше. Обратите внимание, что некоторые регионы остаются там, где нет сигнала.

clearMap(viewer)

% Use pre-loaded coverage results to plot. Coverage results were generated 
% using commented coverage call below,  which may take half hour or so to
% complete depending on the computer hardware. 
show(tx)

contour(coverageResults.propDataDoubleRef, ...
    "Type","power", ...
    "Transparency",0.6)

% coverage(tx,rtPlusWeather, ...
%     "SignalStrengths",-120:-5, ...
%     "MaxRange", 250, ...
%     "Resolution",2, ...
%     "Transparency",0.6);

Просмотр карты покрытия с четырьмя траекториями отражения

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

rtPlusWeather.PropagationModels(1).MaxNumReflections = 4;

clearMap(viewer)

% Use pre-loaded coverage results to plot. Coverage results were generated using
% commented coverage call below, which may take one hour or so to
% complete depending on the computer hardware. 
show(tx)

contour(coverageResults.propDataFourRef, ...
    "Type","power", ...
    "Transparency",0.6)

% coverage(tx,rtPlusWeather, ...
%     "SignalStrengths",-120:-5, ...
%     "MaxRange", 250, ...
%     "Resolution",2, ...
%     "Transparency",0.6);

Используйте управление лучом для увеличения получаемой мощности

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

Определите пользовательскую антенну из отчета ITU-R M.2412 [1] для оценки 5G радиотехнологий. Создайте однородный прямоугольный массив 8 на 8 из массива элементов, определенного в разделе 8.5 отчета, укажите его на юг и просмотрите массив излучения.

tx.Antenna = helperM2412PhasedArray(tx.TransmitterFrequency);
tx.AntennaAngle = -90;

clearMap(viewer)
show(rx)
pattern(tx,"Transparency",0.6)
hide(tx)

Звонить raytrace с выходом для доступа к вычисленным лучам. Возвращенный comm.Ray объекты включают как геометрические, так и связанные с распространением характеристики каждого луча.

rtPlusWeather.PropagationModels(1).MaxNumReflections = 1;
ray = raytrace(tx,rx,rtPlusWeather);
disp(ray{1})
  Ray with properties:

      PathSpecification: 'Locations'
       CoordinateSystem: 'Geographic'
    TransmitterLocation: [3×1 double]
       ReceiverLocation: [3×1 double]
            LineOfSight: 0
    ReflectionLocations: [3×1 double]
              Frequency: 2.8000e+10
         PathLossSource: 'Custom'
               PathLoss: 117.4546
             PhaseShift: 3.8184

   Read-only properties:
       PropagationDelay: 6.6489e-07
    PropagationDistance: 199.3293
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
         NumReflections: 1

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

aod = ray{1}.AngleOfDeparture;
steeringaz = wrapTo180(aod(1)-tx.AntennaAngle(1));
steeringVector = phased.SteeringVector("SensorArray",tx.Antenna);
sv = steeringVector(tx.TransmitterFrequency,[steeringaz;aod(2)]);
tx.Antenna.Taper = conj(sv);

Постройте график излучения, чтобы показать энергию антенны, направленную вдоль траектории распространения. Новая принимаемая мощность увеличивается примерно на 20 дБ. Увеличенная принимаемая мощность соответствует пиковому коэффициенту усиления антенны.

pattern(tx,"Transparency",0.6)
raytrace(tx,rx,rtPlusWeather);
hide(tx)
    
ss = sigstrength(rx, tx, rtPlusWeather);
disp("Received power with beam steering: " + ss + " dBm")
Received power with beam steering: -57.5126 dBm

Заключение

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

  • Использование анализа трассировки лучей для прогнозирования интенсивности сигнала для линий, не относящихся к линии визирования, где существуют пути отраженного распространения

  • Анализ с реалистичными материалами оказывает значительное влияние на расчетные потери в тракте и получаемую мощность

  • Анализ с большим количеством отражений приводит к увеличению времени вычислений, но выявляет дополнительные области распространения сигнала

  • Использование направленной антенны с лучевым рулевым управлением значительно увеличивает принимаемую мощность для приемников, даже если они находятся в местах без прямой видимости

В этом примере анализируются потери мощности и трактов для линий связи и покрытия. Для получения информации об использовании трассировки лучей для конфигурирования модели канала для моделирования на уровне канала см. пример канала связи MIMO-OFDM в помещении с использованием трассировки лучей (Communications Toolbox).

Ссылки

[1] Доклад ITU-R M.2412, «Руководство по оценке технологий радиоинтерфейса для IMT-2020,» 2017. https://www.itu.int/pub/R-REP-M.2412

См. также