Печать или вычисление путей распространения между площадками
raytrace( строит графики путей распространения от узла передатчика (tx,rx)tx) на площадку получателя (rx). Пути распространения определяются с помощью трассировки лучей с геометрией поверхности, определенной Map собственность. Каждый путь распространения кодируется цветом в соответствии с принятой мощностью (дБм) или потерями пути (дБ) вдоль пути, предполагая неполяризованные лучи.
Примечание
Анализ отслеживания лучей включает поверхностные отражения, но не включает эффекты преломления, дифракции или рассеяния.
Рабочая частота для этой функции составляет от 100 МГц до 100 ГГц.
raytrace( строит графики путей распространения от узла передатчика (tx,rx,propmodel)tx) на площадку получателя (rx) на основе указанной модели распространения. Для ввода строительных материалов и материалов рельефа местности для расчета потерь на пути создайте 'raytracing' модель распространения с использованием propagationModel и задайте свойства для задания строительных материалов.
raytrace(___, строит графики путей распространения с дополнительными опциями, заданными одной или несколькими парами имя-значение.Name,Value)
возвращает пути распространения в rays = raytrace(___)rays.
Запустить Site Viewer со зданиями в Чикаго. Для получения дополнительной информации о файле osm см. [1].
viewer = siteviewer("Buildings","chicago.osm");

Создайте площадку датчика в здании.
tx = txsite('Latitude',41.8800, ... 'Longitude',-87.6295, ... 'TransmitterFrequency',2.5e9);
Создайте площадку приемника рядом с другим зданием.
rx = rxsite('Latitude',41.881352, ... 'Longitude',-87.629771, ... 'AntennaHeight',30);
Вычислите интенсивность сигнала с помощью модели распространения трассировки лучей. По умолчанию модель трассировки лучей использует метод изображения и выполняет анализ линии визирования и одиночного отражения.
pm = propagationModel("raytracing");
ssOneReflection = sigstrength(rx,tx,pm)ssOneReflection = -54.0915
Вычислить интенсивность сигнала с анализом до двух отражений, где общая принимаемая мощность - это совокупная мощность всех путей распространения
pm.MaxNumReflections = 2; ssTwoReflections = sigstrength(rx,tx,pm)
ssTwoReflections = -52.3890
Наблюдайте за эффектом материала, заменяя бетонный материал по умолчанию идеальным отражателем.
pm.BuildingsMaterial = 'perfect-reflector';
ssPerfect = sigstrength(rx,tx,pm)ssPerfect = -41.9927
Постройте график путей распространения.
raytrace(tx, rx, pm)

Приложение
[1] OSM-файл загружается из https://www.openstreetmap.org, что обеспечивает доступ к данным карты, полученным от толпы, по всему миру. Данные лицензированы по лицензии Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.
Launch Site Viewer со зданиями в Гонконге. Для получения дополнительной информации о файле osm см. [1].
viewer = siteviewer("Buildings","hongkong.osm");

Определение станций передатчика и приемника для моделирования сценария с небольшой ячейкой в густонаселенной городской среде.
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);
Создайте модель распространения трассировки лучей для идеального отражения. Укажите метод трассировки лучей как съемку и выброс лучей (SBR).
pm = propagationModel("raytracing", ... "Method","sbr", ... "BuildingsMaterial","perfect-reflector", ... "TerrainMaterial","perfect-reflector");
Визуализируйте пути распространения и вычислите соответствующие потери пути.
raytrace(tx,rx,pm,"Type","pathloss") raysPerfect = raytrace(tx,rx,pm,"Type","pathloss"); plPerfect = [raysPerfect{1}.PathLoss]
plPerfect = 1×3
104.2656 104.2744 112.0094

Повторный расчет с потерей отражения материала путем задания типа материала в модели распространения. Первое значение не изменяется, поскольку соответствует траектории распространения линии визирования.
pm.BuildingsMaterial = "glass"; pm.TerrainMaterial = "concrete"; raytrace(tx,rx,pm,"Type","pathloss") raysMtrls = raytrace(tx,rx,pm,"Type","pathloss"); plMtrls = [raysMtrls{1}.PathLoss]
plMtrls = 1×3
104.2656 106.2236 119.3577

Приложение
[1] OSM-файл загружается из https://www.openstreetmap.org, что обеспечивает доступ к данным карты, полученным от толпы, по всему миру. Данные лицензированы по лицензии Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.
В этом примере используются:
Определите карту 3-D для конференц-зала с одним столом и четырьмя стульями.
mapFileName = "conferenceroom.stl";Визуализируйте карту 3-D.
figure; view(3); trisurf(stlread(mapFileName), 'FaceAlpha', 0.3, 'EdgeColor', 'none'); hold on; axis equal; grid off; xlabel('x'); ylabel('y'); zlabel('z');
Определите площадку передатчика рядом со стеной и площадку приемника под таблицей.
tx = txsite("cartesian", "AntennaPosition", [-1.45; -1.45; 1.5],"TransmitterFrequency", 2.8e9); rx = rxsite("cartesian","AntennaPosition", [.3; .2; .5]);
Постройте график участка передатчика красным цветом и участка приемника синим.
scatter3(tx.AntennaPosition(1,:), tx.AntennaPosition(2,:), tx.AntennaPosition(3,:), 'sr', 'filled'); scatter3(rx.AntennaPosition(1,:), rx.AntennaPosition(2,:),rx.AntennaPosition(3,:), 'sb', 'filled');
Создайте модель распространения трассировки лучей для декартовых координат. Укажите метод трассировки лучей как съемку и выброс лучей (SBR). Задайте для материала поверхности дерево.
pm = propagationModel("raytracing","CoordinateSystem","cartesian", ... "Method","sbr","MaxNumReflections",2,"SurfaceMaterial","wood");
Выполните трассировку лучей и сохраните вычисленные лучи с помощью объекта comm.Ray
rays = raytrace(tx, rx, pm, 'Map', mapFileName);
rays = rays{1};Визуализация лучей на карте 3D.
for i = 1:length(rays) if rays(i).LineOfSight propPath = [rays(i).TransmitterLocation, ... rays(i).ReceiverLocation]; else propPath = [rays(i).TransmitterLocation, ... rays(i).ReflectionLocations, ... rays(i).ReceiverLocation]; end line(propPath(1,:), propPath(2,:), propPath(3,:), 'Color', 'cyan'); end

rx - Принимающая площадкаrxsite объект | массив rxsite объектыУзел получателя, указанный как rxsite объект или массив rxsite объекты. Если сайты передатчика указаны как массивы, то маршруты распространения строятся от каждого передатчика к каждому сайту приемника.
tx - Площадка передатчикаtxsite объект | массив txsite объектыПлощадка передатчика, указанная как txsite объект или массив txsite объекты. Если сайты приемника указаны как массивы, то маршруты распространения строятся от каждого передатчика к каждому сайту приемника.
propmodel - Модель распространенияpropagationModelМодель распространения, заданная как вектор символов, строка или модель распространения трассировки лучей, созданная с помощью propagationModel функция. Модель распространения по умолчанию: 'raytracing', модель распространения трассировки лучей, которая использует метод изображения.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'Type','power''Type' - Тип количества для печати'power' (по умолчанию) | 'pathloss'Тип количества для печати, указанный как разделенная запятыми пара, состоящая из 'Type' и 'power' в дБм или 'pathloss' в дБ.
При указании 'power'каждый тракт кодируется цветом в соответствии с принятой мощностью вдоль тракта. При указании 'pathloss'каждый тракт кодируется цветом в соответствии с потерей тракта вдоль тракта.
Уравнение Фрииса используется для вычисления полученной мощности:
− Ltx − Lrx
где:
Prx - принимаемая мощность по пути.
Ptx - мощность передачи, определенная в tx. TransmitterPower.
Gtx - коэффициент усиления антенны tx в направлении угла отправления (AoD).
Grx - коэффициент усиления антенны rx в направлении угла прихода (AoA).
L - потеря траектории, вычисленная вдоль траектории.
Ltx - системная потеря датчика, определенная в tx. SystemLoss.
Lrx - системная потеря приемника, определенная в rx. SystemLoss.
Типы данных: char
'PropagationModel' - Тип модели распространения для анализа трассировки лучей'raytracing' (по умолчанию) | модель распространения трассировки лучей, созданная с помощью propagationModelТип модели распространения для анализа трассировки лучей, указанный как разделенная запятыми пара, состоящая из 'PropagationModel' и 'raytracing' или модель распространения трассировки лучей, созданную с помощью propagationModel функция. При указании 'raytracing', то raytrace функция вычисляет пути распространения с помощью метода изображения.
Чтобы выполнить анализ трассировки лучей с использованием метода съемки и отскока (SBR), укажите модель распространения, созданную с помощью propagationModel функция. В этом коде показано, как создать модель распространения, использующую метод SBR.
pm = propagationModel('raytracing','Method','sbr');
Сведения о различиях между методами изображения и SBR см. в разделе Выбор модели распространения.
Типы данных: char
'NumReflections' - Количество отражений для поиска в путях распространения[0 1] (по умолчанию) | числовой вектор строкиКоличество отражений для поиска в путях распространения с помощью трассировки лучей, указанное как пара, разделенная запятыми, состоящая из 'NumReflections' и числовой вектор строки, элементами которого являются 0, 1, или 2.
Значение по умолчанию приводит к поиску путей распространения линии визирования и путей распространения с одним отражением.
Этот аргумент поддерживается только для моделей распространения трассировки лучей, использующих метод изображения. Для моделей распространения трассировки лучей, использующих метод SBR, укажите MaxNumReflections вместо этого свойство модели распространения. Дополнительные сведения см. в разделе propagationModel функция.
Типы данных: double
'Colormap' - Цветовая карта для раскраски путей распространения'jet' (по умолчанию) | предопределенное имя карты цветов | массив M-by-3 RGBЦветовая карта для раскраски путей распространения, заданная как разделенная запятыми пара, состоящая из 'Colormap' и предварительно определенное имя карты цветов или M-by-3 массив триплетов RGB (красный, синий, зеленый), которые определяют M отдельных цветов.
Типы данных: char | double
'ColorLimits' - Пределы цвета для карты цветовПределы цвета для карты цветов, указанной как пара, разделенная запятыми, состоящая из 'ColorLimits' и двухэлементный числовой вектор строки вида [min max]. Единицы измерения и значения по умолчанию для пределов цвета зависят от значения 'Type' параметр:
'power'- Единицы измерения находятся в дБм, а значением по умолчанию является [-120 -5].
'pathloss'- Единицы измерения в дБ, значение по умолчанию: [45 160].
Пределы цвета указывают значения, которые соответствуют первому и последнему цветам в карте цветов. Пути распространения со значениями ниже минимального предела цвета не печатаются.
Типы данных: double
'ShowLegend' - Показать легенду цвета на картеtrue (по умолчанию) | falseОтображение легенды цвета на карте, указанной как разделенная запятыми пара, состоящая из 'ShowLegend' и true или false.
Типы данных: logical
'Map' - Карта для визуализации или данных поверхностиsiteviewer объект | название местностиКарта для визуализации или данных поверхности, указанная как разделенная запятыми пара, состоящая из 'Map и одно из следующих в зависимости от системы координат:
| Система координат | Допустимые значения карты | Значение карты по умолчанию |
|---|---|---|
'geographic' |
|
|
'cartesian' | 'none', объект триангуляции или имя STL-файла. | 'none' |
[a] Выравнивание границ и меток областей представляет собой представление функции, предоставляемой поставщиками данных, и не подразумевает одобрения MathWorks ®. | ||
Типы данных: char | string
rays - Объект конфигурации лучаКонфигурация луча, возвращаемая в виде матрицы ячеек M-на-N, где M - количество узлов передатчика, а N - количество узлов приемника. Каждый элемент ячейки является вектором строки comm.Ray объекты, представляющие все лучи, обнаруженные между соответствующим узлом передатчика и узлом приемника. массив. В пределах каждого вектора строки, comm.Ray объекты упорядочиваются по возрастанию числа отражений, а там, где число отражений равно, упорядочиваются по увеличению расстояния распространения.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.