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

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

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

Импортируйте OpenStreetMap (.osm) файл, соответствующий Гонконгу. Файл был загружен с https://www.openstreetmap.org, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Информация о созданиях, содержавшая в файле OpenStreetMap, импортируется и визуализируется в Средстве просмотра Сайта.

viewer = siteviewer("Buildings","hongkong.osm");

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

Задайте сайты передатчика и получателя

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

tx = txsite("Name","Small cell transmitter", ...
    "Latitude",22.2789, ...
    "Longitude",114.1625, ...
    "AntennaHeight",10, ...
    "TransmitterPower",5, ...
    "TransmitterFrequency",28e9);

rx = rxsite("Name","Small cell receiver", ...
    "Latitude",22.2799, ...
    "Longitude",114.1617, ...
    "AntennaHeight",1);

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

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

pm = propagationModel("raytracing-image-method", ...
    "MaxNumReflections", 2);
raytrace(tx,rx,pm);

Анализируйте эффект материалов

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

pmPerfect = propagationModel("raytracing-image-method", ...
    'MaxNumReflections', 2, ...
    "BuildingsMaterial","perfect-reflector", ...
    "TerrainMaterial","perfect-reflector");
raytrace(tx,rx,pmPerfect);

Вычислите общую мощность приемника с помощью обеих моделей распространения. Общая мощность приемника является суммой мощности приемника от всех путей к распространению.

ssPerfect = sigstrength(rx,tx,pmPerfect);
ssConcrete = sigstrength(rx,tx,pm);
disp("Received power using perfect reflection: " + ssPerfect + " dBm")
Received power using perfect reflection: -62.5545 dBm
disp("Received power using concrete materials: " + ssConcrete + " dBm")
Received power using concrete materials: -65.1106 dBm

Задайте Многопутевую Модель Канала, использующую Трассировку лучей

Результаты трассировки лучей могут быть сохранены, чтобы излучить объекты, которые содержат потерю пути и информацию о задержке для каждого луча. Существует семь лучей с передатчика на получатель, приводящий к многопутевому каналу. Создайте основанный на трассировке лучей объект модели канала с помощью лучей, ретранслятора и информации о сайте получателя. Чтобы смоделировать эффекты получателя в движении, задайте мгновенную скорость, которая приводит к Доплеровскому сдвигу частоты для каждого луча. График импульсной характеристики канала (CIR) от объекта модели канала показывает, что семь лучей прибывают в четыре кластера.

rays = raytrace(tx,rx,pm);
RTChan = RayTracingChannel(rays{1}, tx, rx);
RTChan.SampleRate = 122.88e6; 
RTChan.ReceiveArrayVelocity = [2; 2; 2];

% Plot CIR
RTChan.plotCIR;

Случайным образом сгенерируйте систему координат 64-QAM сигналов, передайте ее через канал и постройте выход в схеме созвездия. Полученный сигнал высоко искажен из-за значительной интерференции межсимвола (ISI), вызванный многопутевым каналом на широкополосном сигнале.

M = 64; 
frmLen = 30720;
constDiagram = comm.ConstellationDiagram( ...
    "XLimits", [-15 15], ...
    "YLimits", [-15 15], ...
    "ReferenceConstellation", qammod(0:M-1, M));

% Observe the channel-impaired signal in the constellation diagram
txSig = qammod(randi([0 M-1], frmLen, 1), M);
rxSig = RTChan(txSig);
constDiagram(rxSig);