Отобразите или вычислите лучи распространения RF
raytrace
графики функций или вычисляют пути к распространению при помощи трассировки лучей с поверхностной геометрией, заданной 'Map'
свойство. На каждый нанесенный на график путь к распространению наносят цветную маркировку согласно мощности приемника (dBm) или потере на пути (дБ) вдоль пути. Анализ трассировки лучей включает поверхностные отражения, но не включает эффекты от дифракции, преломления или рассеивания. Операционная частота для этой функции от 100 МГц до 100 ГГц. Для получения дополнительной информации смотрите, Выбирают Propagation Model.
raytrace(
отображает пути к распространению от ретранслятора (tx
,rx
,propmodel
)tx
) на сайт приемника (rx
) на основе заданной модели распространения. Чтобы ввести создание и материалы ландшафта, чтобы вычислить потерю на пути, создайте 'raytracing'
модель распространения использование propagationModel
функция и набор свойства задать строительные материалы.
raytrace(___,
пути к распространению отображений с дополнительными опциями, заданными одной или несколькими парами "имя-значение".Name,Value
)
возвращает пути к распространению в rays
= raytrace(___)rays
.
Покажите отраженные пути к распространению в Чикаго с помощью анализа трассировки лучей с методом SBR
Средство просмотра Стартовой площадки с созданиями в Чикаго. Для получения дополнительной информации о osm файле, см. [1].
viewer = siteviewer("Buildings","chicago.osm");
Создайте ретранслятор на создании и сайте приемника около другого создания.
tx = txsite("Latitude",41.8800, ... "Longitude",-87.6295, ... "TransmitterFrequency",2.5e9); show(tx) rx = rxsite("Latitude",41.8813452, ... "Longitude",-87.629771, ... "AntennaHeight",30); show(rx)
Покажите преграду для угла обзора.
los(tx,rx)
Покажите отраженный путь к распространению с помощью трассировки лучей максимум с двумя отражениями.
raytrace(tx,rx)
Приложение
[1] osm файл загружается с https://www.openstreetmap.org, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (ODbL), https://opendatacommons.org/licenses/odbl/.
Средство просмотра Стартовой площадки с созданиями в Чикаго. Для получения дополнительной информации о 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);
Вычислите силу сигнала при помощи модели распространения трассировки лучей. По умолчанию модель трассировки лучей использует метод SBR и выполняет угол обзора и 2D отражательный анализ.
pm = propagationModel("raytracing");
ssTwoReflections = sigstrength(rx,tx,pm)
ssTwoReflections = -52.4056
Постройте пути к распространению для SBR максимум с двумя отражениями.
raytrace(tx,rx,pm)
Вычислите силу сигнала с анализом до двух отражений, где общая мощность приемника является совокупной степенью всех путей к распространению
pm.MaxNumReflections = 5; ssFiveReflections = sigstrength(rx,tx,pm)
ssFiveReflections = -51.8927
Наблюдайте эффект материала, заменяя конкретный материал по умолчанию на совершенный отражатель.
pm.BuildingsMaterial = 'perfect-reflector';
ssPerfect = sigstrength(rx,tx,pm)
ssPerfect = -38.8614
Постройте пути к распространению для SBR максимум с пятью отражениями.
raytrace(tx,rx,pm)
Приложение
[1] osm файл загружается с https://www.openstreetmap.org, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (ODbL), https://opendatacommons.org/licenses/odbl/.
Потеря на пути из-за существенного отражения и атмосферы в Гонконге. Сконфигурируйте трассировку лучей, чтобы использовать метод возвращаемых лучей стрельбы (SBR) максимум с 5 отражениями.
Средство просмотра Стартовой площадки с созданиями в Гонконге. Для получения дополнительной информации о 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);
Создайте модель распространения трассировки лучей для совершенного отражения максимум с 5 отражениями. Задайте метод трассировки лучей как стрельбу и возврат лучей (SBR).
pm = propagationModel("raytracing", ... "Method","sbr", ... "AngularSeparation","low", ... "MaxNumReflections",5, ... "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×15
104.2656 104.2744 112.0095 109.3152 112.0156 112.0375 112.4436 109.3198 112.0406 112.0406 112.4444 112.4444 117.7513 117.7524 117.7638
Повторно вычислите и визуализируйте пути к распространению после конфигурирования материальной отражательной потери путем установки создания и типов материала ландшафта в модели распространения. Первое значение неизменно, потому что оно соответствует пути к распространению угла обзора.
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×15
104.2656 106.2892 119.3577 121.5813 122.2841 121.4389 127.0060 122.4593 122.7023 122.6987 127.3370 127.4155 139.1007 139.6483 153.4364
Повторно вычислите и визуализируйте пути к распространению с атмосферной потерей путем добавления атмосферных моделей распространения.
pm = pm + propagationModel("rain") + propagationModel("gas"); raytrace(tx,rx,pm,"Type","pathloss") raysAtmospheric = raytrace(tx,rx,pm,"Type","pathloss"); plAtmospheric = [raysAtmospheric{1}.PathLoss]
plAtmospheric = 1×15
105.3245 107.3489 121.9430 123.4767 124.8711 124.0280 129.7238 124.3558 125.2929 125.2895 130.0563 130.1335 143.0839 143.6316 157.4224
Приложение
[1] osm файл загружается с https://www.openstreetmap.org, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (ODbL), https://opendatacommons.org/licenses/odbl/.
В этом примере показано, как к:
Масштабируйте файл STL так, чтобы модель использовала модули метров.
Просмотрите масштабированную модель в Средстве просмотра Сайта.
Используйте трассировку лучей, чтобы вычислить и отобразить пути к распространению с передатчика на приемник.
В то время как декартов txsite
и rxsite
объекты требуют координат положения в метрах, файлы STL могут использовать другие модули. Если ваш файл STL не использует метры, необходимо масштабировать модель прежде, чем импортировать его в Средство просмотра Сайта.
Считайте файл STL как triangulation
объект. Файл моделирует небольшой конференц-зал с одной таблицей и четырьмя стульями.
TR = stlread("conferenceroom.stl");
Масштабируйте координаты и создайте новый triangulation
объект. В данном примере примите, что коэффициентом преобразования от модулей STL до метров является 0.9
.
scale = 0.9; scaledPts = TR.Points * scale; TR_scaled = triangulation(TR.ConnectivityList,scaledPts);
Просмотрите новый triangulation
объект с помощью Средства просмотра Сайта. В качестве альтернативы можно сохранить новый triangulation
возразите как файл STL при помощи stlwrite
функция.
viewer = siteviewer('SceneModel',TR_scaled);
Создайте и отобразите ретранслятор близко к стене и сайту приемника в соответствии с таблицей. Задайте положение с помощью Декартовых координат в метрах.
tx = txsite("cartesian", ... "AntennaPosition",[-1.25; -1.25; 1.9], ... "TransmitterFrequency",2.8e9); show(tx,"ShowAntennaHeight",false) rx = rxsite("cartesian", ... "AntennaPosition",[0.3; 0.2; 0.5]); show(rx,"ShowAntennaHeight",false)
Панорамирование путем щелчка левой кнопкой, масштабируйте путем щелчка правой кнопкой или при помощи колесика прокрутки и вращайте визуализацию путем нажатия средней кнопки и перетаскивания или путем нажатия Ctrl и щелчка левой кнопкой и перетаскивания.
Создайте модель распространения трассировки лучей для Декартовых координат. Задайте метод трассировки лучей как стрельбу и возврат лучей (SBR). Вычислите лучи, которые имеют до 2
отражения. Установите поверхностный материал на древесину.
pm = propagationModel("raytracing", ... "CoordinateSystem","cartesian", ... "Method","sbr", ... "MaxNumReflections",2, ... "SurfaceMaterial","wood");
Вычислите пути к распространению и возвратите результат как comm.Ray
объект. Извлеките и постройте лучи.
r = raytrace(tx,rx,pm); r = r{1}; plot(r)
Просмотрите информацию о луче путем нажатия на него.
tx
— Ретрансляторtxsite
возразите | массив txsite
объектыРетранслятор в виде txsite
возразите или массив txsite
объекты. Если сайты приемника заданы как массивы, то пути к распространению построены от каждого передатчика до каждого сайта приемника.
rx
— Сайт приемникаrxsite
возразите | массив rxsite
объектыСайт приемника в виде rxsite
возразите или массив rxsite
объекты. Если ретрансляторы заданы как массивы, то пути к распространению построены от каждого передатчика до каждого сайта приемника.
propmodel
— Модель PropagationpropagationModel
Модель Propagation в виде вектора символов, строки или модели распространения трассировки лучей, созданной с propagationModel
функция. Значением по умолчанию является 'raytracing'
, модель распространения трассировки лучей, которая использует метод SBR с максимальным количеством набора отражений к 2
.
Чтобы задать модель распространения трассировки лучей, которая вычисляет различные количества отражений, создайте RayTracing
объект при помощи propagationModel
функция и набор MaxNumReflections
свойство.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Type','power'
Type
— Тип количества, чтобы построить'power'
(значение по умолчанию) | 'pathloss'
Тип количества, чтобы построить в виде разделенной запятой пары, состоящей из 'Type'
и 'power'
в dBm или 'pathloss'
в дБ.
Когда вы задаете 'power'
, на каждый путь наносят цветную маркировку согласно мощности приемника вдоль пути. Когда вы задаете 'pathloss'
, на каждый путь наносят цветную маркировку согласно потере на пути вдоль пути.
Уравнение Friis используется, чтобы вычислить мощность приемника:
где:
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 максимум с 2 отражениями для настройки объекта модели распространения трассировки лучей
Чтобы выполнить анализ трассировки лучей с помощью метода изображений вместо этого, укажите, что модель распространения создала использование propagationModel
функция. Этот код показывает, как создать модель распространения, которая использует метод изображений.
pm = propagationModel('raytracing','Method','image');
Для получения информации о различиях между изображением и методами SBR, смотрите, Выбирают Propagation Model.
Типы данных: char
ColorLimits
— Цветные пределы для палитрыЦветные пределы для палитры в виде разделенной запятой пары, состоящей из 'ColorLimits'
и двухэлементный числовой вектор-строка из формы [min макс.]. Модули и значения по умолчанию цветных пределов зависят от значения 'Type'
параметр:
'power'
– Модули находятся в dBm, и значением по умолчанию является [-120 -5]
.
'pathloss'
– Модули находятся в дБ, и значением по умолчанию является [45 160]
.
Цветные пределы указывают на значения, которые сопоставляют с первым и последним, раскрашивает палитру. Пути к распространению со значениями ниже минимального цветного предела не построены.
Типы данных: double
Colormap
— Палитра для окраски путей к распространению'jet'
(значение по умолчанию) | предопределенное имя карты цветов | M-by-3 массив RGBПалитра для окраски путей к распространению в виде разделенной запятой пары, состоящей из 'Colormap'
и предопределенное имя карты цветов или M-by-3 массив RGB (красный, синий, зеленый) триплеты, которые задают отдельные цвета M.
Типы данных: char |
double
ShowLegend
— Покажите цветную легенду на картеtrue
(значение по умолчанию) | false
Покажите цветную легенду на карте в виде разделенной запятой пары, состоящей из 'ShowLegend'
и true
или false
.
Типы данных: логический
Map
— Сопоставьте для визуализации или поверхностных данныхsiteviewer
возразите | triangulation
возразите | строковый скаляр | вектор символовСопоставьте для визуализации или поверхностных данных в виде siteviewer
объект, triangulation
объект, строковый скаляр или вектор символов. Допустимый и значения по умолчанию зависят от системы координат.
Система координат | Допустимые значения карты | Значение карты по умолчанию |
---|---|---|
'geographic' |
|
|
'cartesian' |
|
|
[a] Выравнивание контуров и меток области является представлением функции, обеспеченной по условию поставщики, и не подразумевает подтверждение MathWorks®. |
Типы данных: char |
string
rays
— Излучите объект настройкиИзлучите настройку, возвращенную как M-by-N массив ячеек, где M является количеством ретрансляторов, и N является количеством сайтов приемника. Каждый элемент ячеек является вектором-строкой из comm.Ray
объекты, представляющие все лучи, найденные между соответствующим сайтом ретранслятора и приемника. В каждом векторе-строке, comm.Ray
объекты с тем же передатчиком к типам взаимодействий приемника группируются, группы сортируются в алфавитном порядке и затем возрастающим количеством отражений. В каждой группе лучи упорядочены путем увеличения расстояния распространения.
NumReflections
свойство будет удаленоНе рекомендуемый запуск в R2021b
NumReflections
аргумент пары "имя-значение" будет удален в будущем релизе. NumReflections
аргумент пары "имя-значение" теперь только запрашивает метод трассировки лучей изображений. Вместо этого создайте модель распространения при помощи propagationModel
функция с ее MaxNumReflections
аргумент значения имени. Затем используйте raytrace
функция с моделью распространения как вход. Этот пример показывает рекомендуемый рабочий процесс.
pm = propagationModel('raytracing', ... 'Method','image','MaxNumReflections',2); rays = raytrace(tx,rx,pm);
raytrace
функционируйте использует метод SBRПоведение изменяется в R2021b
Начиная в R2021b, raytrace
функционируйте использует стрельбу и возврат лучей (SBR) метод и вычисляет до двух отражений по умолчанию. В предыдущих релизах, raytrace
функционируйте использует метод изображений и вычисляет до одного отражения.
Чтобы отобразить или вычислить лучи распространения RF с помощью метода изображений вместо этого, создайте модель распространения при помощи propagationModel
функция. Затем используйте raytrace
функция с моделью распространения, как введено. В этом примере показано, как обновить ваш код.
pm = propagationModel('raytracing','Method','image'); raytrace(tx,rx,pm)
Для получения информации о SBR и методах изображений, смотрите, Выбирают Propagation Model.
Начиная в R2021b, все функции Распространения RF используют метод SBR по умолчанию и вычисляют до двух отражений. Для получения дополнительной информации смотрите, что Значение по умолчанию моделировать метод стреляет и возвращаемый метод.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.