Городская Ссылка и Анализ покрытия с помощью Трассировки лучей

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

  • Импортируйте и визуализируйте 3-D данные о созданиях в Средство просмотра Сайта

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

  • Визуализируйте покрытие для городской среды

  • Анализируйте ссылку в не условия угла обзора

  • Постройте мощность приемника для точек вдоль маршрута

  • Оптимизируйте не ссылку угла обзора с помощью регулирования луча и Phased Array System Toolbox™

Этот пример дополнительно исследует удар параметров трассировки лучей, таких как количество отражений и материальных типов.

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

Импортируйте OpenStreetMap (.osm) файл, соответствующий Кенери Уорф в Лондоне, Великобритания. Файл был загружен с https://www.openstreetmap.org, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (ODbL), https://opendatacommons.org/licenses/odbl/. Информация о созданиях, содержавшая в файле OpenStreetMap, импортируется и визуализируется в Средстве просмотра Сайта.

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)

Просмотрите карту покрытия для распространения угла обзора

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

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

rtpm = propagationModel("raytracing-image-method", ...
    "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)

Постройте Путь к Распространению с помощью Трассировки лучей

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

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.3925 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.9451 dBm

Включайте погодную потерю

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

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

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

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

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

clearMap(viewer)

% Load coverage results and plot. Coverage results were generated using
% commented coverage call below, which takes several minutes to complete.
show(tx)
coverageResults = load("coverageSingleReflection.mat");
contour(coverageResults.pd, ...
    "Type","power", ...
    "Transparency",0.6)

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

Постройте Пути к Распространению включая Два Отражения

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

rtTwoReflections = propagationModel("raytracing-image-method", ...
    "MaxNumReflections",2, ...
    "BuildingsMaterial","concrete", ...
    "TerrainMaterial","concrete");
rtTwoRefPlusWeather = rtTwoReflections + propagationModel("gas") + propagationModel("rain");

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

Постройте мощность приемника вдоль маршрута с 2D отражательным анализом

Предыдущая карта покрытия, которая включала одно-отражательные пути, показала некоторые остающиеся отверстия в покрытии сигнала. Задайте несколько местоположений вдоль маршрута, который перемещается через два из отверстий в карте покрытия. Координаты для каждого местоположения были получены путем щелчка правой кнопкой по карте и выбора "Show location". Вычислите мощность приемника для каждого местоположения с помощью модели распространения трассировки лучей включая 2D отражательные пути. Этот анализ "точка-точка" показывает некоторую степень сигнала, достигающую тех местоположений.

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

latlons = [51.502366 -0.017633; ...
    51.502571 -0.017575; ...
    51.502647 -0.017659; ...
    51.502674 -0.017905; ...
    51.502717 -0.018229; ...
    51.502753 -0.018561; ...
    51.502793 -0.018935; ...
    51.502825 -0.019198; ...
    51.502846 -0.019464; ...
    51.502865 -0.019703;  ...
    51.502884 -0.019902; ...
    51.502953 -0.020048; ...
    51.503124 -0.019983; ...
    51.503288 -0.019917; ...
    51.503363 -0.020103; ...
    51.503570 -0.020013; ...
    51.503771 -0.019941; ...
    51.504001 -0.019864; ...
    51.504254 -0.019769; ...
    51.504535 -0.019681];
lats = latlons(:,1);
lons = latlons(:,2);

rxs = rxsite("Name","Small cell receiver", ...
    "Latitude",lats, ...
    "Longitude",lons, ...
    "AntennaHeight",1);

ss = sigstrength(rxs,tx,rtTwoRefPlusWeather);

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

clearMap(viewer)
show(tx)
viewer.Basemap = "streets-dark";

pd = propagationData(lats,lons,"ReceivedPower",ss);
plot(pd,"Type","power")

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

Много современных систем связи используют методы, чтобы регулировать антенну передатчика, чтобы достигнуть оптимального качества ссылки. Этот раздел использует Phased Array System 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 объекты включают и геометрические и связанные с распространением характеристики каждого луча.

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.4522
             PhaseShift: 4.0952

   Read-only properties:
       PropagationDelay: 6.6488e-07
    PropagationDistance: 199.3261
       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.5028 dBm

Заключение

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

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

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

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

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

Этот пример анализировал мощность приемника и потерю пути для ссылок и покрытия. Чтобы видеть, как использовать трассировку лучей, чтобы сконфигурировать модель канала для симуляции уровня ссылки, смотрите, что Внутренняя Линия связи MIMO-OFDM использует пример Трассировки лучей, доступный в Communications Toolbox™.

Ссылки

[1] Сообщите о ITU-R M.2412, "Инструкции для оценки радио-интерфейсных технологий для IMT-2020", 2017. https://www.itu.int/pub/R-REP-M.2412