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

В этом примере показано, как использовать трассировку лучей, чтобы анализировать линию связи в городской среде. Данные о созданиях импортированы в Средство просмотра Сайта из файла 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);

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

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

raytrace(tx,rx,"NumReflections",[0 1 2], ...
    "Type","pathloss", ...
    "ColorLimits",[80 130])

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

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

% Record ray tracing results, which must be obtained by selecting each path
% in Site Viewer and reading the values from the infobox. Below, the values
% are sorted according to corresponding path distance.
pathDists  = [139.24 139.38 249.01 339.57 339.81 340.68 356.98]; % Unit: meter
pathLosses = [104.3 104.3 109.3 112 112 112 112.4];              % Unit: dB
pathPhases = [3.93 5.95 1.46 2.73 5.67 3.27 5.83];               % Unit: radians

% Derive the complex gain and time of arrival for each path
pathGains = 10.^((-1*pathLosses)/20) .* exp(1i*pathPhases);
pathToA = pathDists/physconst("lightspeed"); % Unit: second

% Plot channel impulse response
stem(pathToA-min(pathToA), abs(pathGains), 'filled');
grid on;
title('Channel Impulse Response');
xlabel('Delay (s)'); ylabel('Magnitude'); 

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

% Define instantaneous receiver speed and derive Doppler shift
rxSpeed = 2; % Unit: m/s
fd = rxSpeed * tx.TransmitterFrequency / physconst("lightspeed");

% Set the sampling rate, frame length and constellation size
Rs = 122.88e6; % Corresponds to 5G signal rate
frmLen = 30720;
M = 64;
constDiagram = comm.ConstellationDiagram( ...
    "XLimits",[-15 15], ...
    "YLimits",[-15 15], ...
    "ReferenceConstellation",qammod(0:M-1, M));

% Randomly generate 64-QAM signals to be passed through the channel. 
% Perform channel filtering and observe the channel-impaired signal in
% the constellation diagram. The path gains are normalized in order to
% preserve the average input signal power. 
data  = randi([0 M-1], frmLen, 1);
txSig = qammod(data, M);
rxSig = helperRayTracingChannelModel(Rs, pathToA, txSig, pathGains/norm(pathGains), fd);
constDiagram(rxSig);

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

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

rx2 = rxsite("Latitude",22.279755,"Longitude",114.161308);
rx3 = rxsite("Latitude",22.280087,"Longitude",114.160709);
rxs = [rx rx2 rx3];
los(tx,rxs)

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

Анализ трассировки лучей показывает, что отраженный путь к распространению достигает одного из новых сайтов получателя, но не другого. Полученная степень вдоль отраженного пути является-76.6 dBm.

% Show isotropic radiation pattern. Other antenna patterns can be used
% in conjunction with Antenna Toolbox or Phased Array System Toolbox.
pattern(tx,"Size",25)

% Plot propagation paths
raytrace(tx,rxs,"ColorLimits",[-100 -40])