Объект контейнера лучей распространения
The comm.Ray
объект является объектом-контейнером для свойств луча распространения. Объект содержит геометрическую и электромагнитную информацию радиоволны, распространяющейся из одной точки в другую точку пространства.
Обычно вы создаете comm.Ray
объекты при помощи raytrace
функция.
создает объект контейнера, который инициализирует свойства луча распространения.ray
= comm.Ray
устанавливает свойства с помощью одного или нескольких аргументов пары "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, ray
= comm.Ray(Name,Value
)comm.Ray('CoordinateSystem','Geographic','TransmitterLocation',[40.730610,-73.935242,0])
задает географическую систему координат и датчик, расположенный в Нью-Йорке.
PathSpecification
- Метод спецификации пути распространения'Locations'
(по умолчанию) | 'Delay and angles'
Метод спецификации пути распространения, заданный как одно из следующих значений.
'Locations'
- Путь объекта луча между путевыми точками передается как (x, y, z) координатные точки TransmitterLocation
, ReceiverLocation
, и, если применимо, ReflectorLocations
свойства.
'Delay and angles'
- Путь объекта луча между путевыми точками передается PropagationDelay
, AngleOfDeparture
, и AngleOfArrival
свойства.
Типы данных: char
| string
CoordinateSystem
- Система координат'Cartesian'
(по умолчанию) | 'Geographic'
Система координат, заданная как 'Cartesian'
или 'Geographic'
. Когда вы устанавливаете CoordinateSystem
свойство к 'Geographic'
система координат определяется относительно WGS-84 модели эллипсоида Земли, и объект определяет углы относительно локальной системы координат Восток-Север-Ап (ENU) в передатчике и приемнике.
Чтобы включить это свойство, установите PathSpecification
свойство к 'Locations'
.
Типы данных: char
| string
SystemScale
- Декартовая шкала системы координат1
(по умолчанию) | положительная скалярная величинаДекартовая система координат шкалы в метрах, заданная как положительная скалярная величина.
Чтобы включить это свойство, установите PathSpecification
свойство к 'Locations'
и CoordinateSystem
свойство к 'Cartesian'
.
Типы данных: double
TransmitterLocation
- Расположение передатчика[0;0;0]
(по умолчанию) | трехэлементный числовой вектор-столбецРасположение передатчика, заданное как трехэлементный числовой вектор-столбец координат в одной из этих форм.
[x; y; z] - Эта форма применяется при установке CoordinateSystem
свойство к 'Cartesian'
. Объект не выполняет валидацию области значений для x, y и z.
[latitude; longitude; height] - Эта форма применяется при установке CoordinateSystem
свойство к 'Geographic'
. latitude должны находиться в области значений [-90, 90]. Объект не выполняет валидацию области значений для longitude.
Чтобы включить это свойство, установите PathSpecification
свойство к 'Locations'
.
Типы данных: double
ReceiverLocation
- Расположение приемника[10;10;10]
(по умолчанию) | трехэлементный числовой вектор-столбецПриемник местоположение, заданное как трехэлементный числовой вектор-столбец координат в одной из этих форм.
[x; y; z] - Эта форма применяется при установке CoordinateSystem
свойство к 'Cartesian'
. Объект не выполняет валидацию области значений для x, y и z.
[latitude; longitude; height] - Эта форма применяется при установке CoordinateSystem
свойство к 'Geographic'
. latitude должны находиться в области значений [-90, 90]. Объект не выполняет валидацию области значений для longitude.
Чтобы включить это свойство, установите PathSpecification
свойство к 'Locations'
.
Типы данных: double
LineOfSight
- Линия визированияtrue
или 1
(по умолчанию) | false
или 0
Линия визирования, заданная как логическое значение 1
(true
) или 0
(false
), чтобы указать, является ли луч лучом линии видимости.
Чтобы включить это свойство, установите PathSpecification
свойство к 'Locations'
.
Типы данных: logical
ReflectorLocations
- Расположение отражателей[10;10;0]
(по умолчанию) | 3-байт- N числовую матрицуМестоположения отражателя, заданные как 3-байтовая N числовая матрица, содержащая координаты точек отражения для луча. N - количество точек отражения для луча и задается NumReflections
свойство. Каждый столбец представляет координатное положение одной точки отражения вдоль пути распространения от передатчика к приемнику. Порядок столбцов совпадает с порядком точек вдоль пути. Столбцы (координаты точки отражения) имеют одну из этих форм.
[x; y; z] - когда CoordinateSystem
для свойства задано значение 'Cartesian'
. Объект не выполняет валидацию области значений для x, y и z.
[latitude; longitude; height] - когда CoordinateSystem
для свойства задано значение 'Geographic'
. latitude должны находиться в области значений [-90, 90]. Объект не выполняет валидацию области значений для longitude.
Чтобы включить это свойство, установите PathSpecification
свойство к 'Locations'
и LineOfSight
свойство к 0
(false
).
.
Типы данных: double
PropagationDelay
- Задержка распространения5.7775e-08
| неотрицательный скалярЗадержка распространения в секундах, заданная как неотрицательный скаляр. Значение по умолчанию вычисляется с помощью значений по умолчанию TransmitterLocation
и ReceiverLocation
свойства для луча линии видимости.
Когда вы устанавливаете PathSpecification
свойство к 'Locations'
, это свойство доступно только для чтения, и значение определяется из TransmitterLocation
, ReceiverLocation
и, если применимо, ReflectionLocations
.
Когда вы устанавливаете PathSpecification
свойство к 'Delay and angles'
, это свойство настраивается.
Типы данных: double
PropagationDistance
- Расстояние распространения17.3205
| неотрицательный скалярЭто свойство доступно только для чтения.
Расстояние распространения в метрах, заданное как неотрицательный скаляр. Значение по умолчанию вычисляется с помощью значений по умолчанию TransmitterLocation
и ReceiverLocation
свойства для луча линии видимости.
Когда вы устанавливаете PathSpecification
свойство к 'Locations'
, значение определяется из TransmitterLocation
, ReceiverLocation
и, если применимо, ReflectionLocations
.
Когда вы устанавливаете PathSpecification
свойство к 'Delay and angles'
, значение определяется из PropagationDelay
.
Типы данных: double
AngleOfDeparture
- Угол отправления[45; 35.2644]
| числовой вектор вида [az; el]Угол отправления в степенях луча на передатчике, заданный в виде числового вектора вида [az; el]. Угол азимута, az, измеряется от положительной оси X против часовой стрелки и должен находиться в области значений (-180, 180]. Угол возвышения, el, измеряется из плоскости x-y и должен находиться в области значений [-90, 90]. Значение по умолчанию вычисляется с помощью значений по умолчанию TransmitterLocation
и ReceiverLocation
свойства для луча линии видимости.
Когда вы устанавливаете PathSpecification
свойство к 'Delay and angles'
, это свойство настраивается.
Когда вы устанавливаете PathSpecification
свойство к 'Locations'
, это свойство доступно только для чтения, и значение определяется из TransmitterLocation
, ReceiverLocation
и, если применимо, ReflectionLocations
.
Когда CoordinateSystem
установлено в 'Geographic'
углы заданы со ссылкой на локальную систему координат East-North-Up (ENU) в передатчике.
Типы данных: double
AngleOfArrival
- Угол прибытия[-135; -35.2644]
| числовой вектор вида [az; el]Угол прихода в степенях луча в приемнике, заданный в виде числового вектора вида [az; el]. Угол азимута, az, измеряется от положительной оси X против часовой стрелки и должен находиться в области значений (-180, 180]. Угол возвышения, el, измеряется из плоскости x-y и должен находиться в области значений [-90, 90]. Значение по умолчанию вычисляется с помощью значений по умолчанию TransmitterLocation
и ReceiverLocation
свойства для луча линии видимости.
Когда вы устанавливаете PathSpecification
свойство к 'Delay and angles'
, это свойство настраивается.
Когда вы устанавливаете PathSpecification
свойство к 'Locations'
, это свойство доступно только для чтения, и значение определяется из TransmitterLocation
, ReceiverLocation
и, если применимо, ReflectionLocations
.
Когда CoordinateSystem
установлено в 'Geographic'
, углы заданы со ссылкой на локальную систему координат East-North-Up (ENU) в приемнике.
Типы данных: double
NumReflections
- Количество точек отражения0
(по умолчанию) | неотрицательное целое числоЭто свойство доступно только для чтения.
Количество точек отражения для объекта луча от передатчика к приемнику, заданное в виде неотрицательного целого числа. Значение определяется из LineOfSight
и, если применимо, ReflectionLocations
.
Чтобы включить это свойство, установите PathSpecification
свойство к 'Locations'
.
Типы данных: double
Frequency
- Частота сигнала1.9e+09
(по умолчанию) | положительная скалярная величинаЧастота сигнала в Гц, заданная как положительная скалярная величина.
Типы данных: double
PathLossSource
- Источник потерь пути'Free space model'
(по умолчанию) | 'Custom'
Источник потерь пути, заданный как 'Free space model'
или 'Custom'
.
Типы данных: char
| string
PathLoss
- Потеря пути62.7941
| неотрицательный скалярПотери пути в дБ, заданные как неотрицательный скаляр. Значение по умолчанию вычисляется с помощью значений по умолчанию TransmitterLocation
и ReceiverLocation
свойства для луча линии видимости.
Когда вы устанавливаете PathLossSource
свойство к 'Free space model'
, а PathLoss
свойство доступно только для чтения и определяется из PropagationDistance
и Frequency
свойства при помощи модели распространения свободного пространства.
Когда вы устанавливаете PathLossSource
свойство к 'Custom'
, можно задать PathLoss
свойство, независимо от геометрических свойств.
Типы данных: double
PhaseShift
- Сдвиг фазы4.8537
| числовой скалярСдвиг фазы в радианах, заданный как числовой скаляр. Значение по умолчанию вычисляется с помощью значений по умолчанию TransmitterLocation
и ReceiverLocation
свойства для луча линии видимости.
Когда вы устанавливаете PathLossSource
свойство к 'Free space model'
, а PhaseShift
свойство доступно только для чтения и определяется из PropagationDistance
и Frequency
свойства при помощи модели распространения свободного пространства.
Когда вы устанавливаете PathLossSource
свойство к 'Custom'
, можно задать PhaseShift
свойство, независимо от геометрических свойств.
Типы данных: double
plot (rays) | Постройте графики на карте Средство Просмотра |
Выполните трассировку лучей между двумя сайтами в Гонконге, сгенерировав массив ячеек, содержащий comm.Ray
объекты. The comm.Ray
объекты содержат геометрическую и электромагнитную информацию для путей распространения радиоволн от сайта передатчика до сайта приемника.
Создайте карту Средства просмотра сайта, загрузку создания данных для Гонконг. Для получения дополнительной информации о файле osm см. [1].
viewer = siteviewer('Buildings','hongkong.osm');
Укажите сайты передатчика и приемника.
tx = txsite('Latitude',22.2789,'Longitude',114.1625, ... 'AntennaHeight',10,'TransmitterPower',5, ... 'TransmitterFrequency',28e9); rx = rxsite('Latitude',22.2799,'Longitude',114.1617, ... 'AntennaHeight',1);
Выполните трассировку лучей между участками, генерируя comm.Ray
объекты в массиве ячеек. Для заданных сайтов передатчика и приемника выполните результаты трассировки лучей в массиве ячеек 1 на 1, содержащем три объекта луча в векторе-строке.
rays = raytrace(tx,rx,'Type','pathloss','ColorLimits',[100 250])
rays = 1×1 cell array
{1×3 comm.Ray}
Отображение свойств первого comm.Ray
объект. The LineOfSight
значение свойства 1
, и NumReflections
значение свойства 0
. Эта комбинация указывает, что луч задает путь видимости.
rays{1}(1)
ans = Ray with properties: PathSpecification: 'Locations' CoordinateSystem: 'Geographic' TransmitterLocation: [3×1 double] ReceiverLocation: [3×1 double] LineOfSight: 1 Frequency: 2.8000e+10 PathLossSource: 'Custom' PathLoss: 104.2656 PhaseShift: 4.6390 Read-only properties: PropagationDelay: 4.6442e-07 PropagationDistance: 139.2294 AngleOfDeparture: [2×1 double] AngleOfArrival: [2×1 double] NumReflections: 0
Отображение свойств второго и третьего comm.Ray
объекты. The LineOfSight
значения свойств 0
, и NumReflections
значения свойств больше 0
. Эта комбинация указывает, что лучи задают отраженные пути.
rays{1}(2)
ans = 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: 106.2545 PhaseShift: 0.3951 Read-only properties: PropagationDelay: 4.6490e-07 PropagationDistance: 139.3720 AngleOfDeparture: [2×1 double] AngleOfArrival: [2×1 double] NumReflections: 1
rays{1}(3)
ans = 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: 120.0733 PhaseShift: 0.3965 Read-only properties: PropagationDelay: 1.1327e-06 PropagationDistance: 339.5692 AngleOfDeparture: [2×1 double] AngleOfArrival: [2×1 double] NumReflections: 1
Визуализируйте результаты трассировки лучей.
plot(rays{1});
Приложение
[1] Файл osm загружается из https://www.openstreetmap.org, что обеспечивает доступ к данным карты, полученной из толпы, по всему миру. Данные лицензированы под лицензией Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.
Обратная трассировка лучей приводит к comm.Ray
объекты и постройте график пути распространения луча после перезапуска карты Средство Просмотра.
Создайте карту Средство Просмотра, загрузив данные создания для Чикаго. Для получения дополнительной информации о файле osm см. [1].
viewer = siteviewer('Buildings','chicago.osm');
Создать и показать площадку передатчика на одном создании и площадку приемника на другом создании.
tx = txsite('Latitude',41.8800,'Longitude',-87.6295, ... 'TransmitterFrequency',2.5e9); show(tx); rx = rxsite('Latitude',41.881352,'Longitude',-87.629771, ... 'AntennaHeight',30); show(rx);
Выполните трассировку луча, возвращая результаты объекта луча. Для заданного строения трассировка лучей возвращает массив ячеек, содержащий один объект луча. Отображение свойств объекта луча. Затем закройте карту Средство Просмотра.
rays = raytrace(tx,rx)
rays = 1×1 cell array
{1×1 comm.Ray}
rays{1}
ans = Ray with properties: PathSpecification: 'Locations' CoordinateSystem: 'Geographic' TransmitterLocation: [3×1 double] ReceiverLocation: [3×1 double] LineOfSight: 0 ReflectionLocations: [3×1 double] Frequency: 2.5000e+09 PathLossSource: 'Custom' PathLoss: 94.0915 PhaseShift: 1.2939 Read-only properties: PropagationDelay: 5.7088e-07 PropagationDistance: 171.1462 AngleOfDeparture: [2×1 double] AngleOfArrival: [2×1 double] NumReflections: 1
close(viewer);
Можно построить график лучей, не выполняя трассировку лучей снова. Создайте другую карту Средство Просмотра с теми же созданиями. Показать сайты передатчика и приемника. Используя ранее возвращенную массив ячеек лучевых объектов, постройте график отраженных лучей между сайтом передатчика и сайтом приемника. Функция построения графика может построить путь для одного объекта луча за раз.
siteviewer('Buildings','chicago.osm'); show(tx); show(rx); plot(rays{1},'Type','power', ... 'TransmitterSite',tx,'ReceiverSite',rx);
Приложение
[1] Файл osm загружается из https://www.openstreetmap.org, что обеспечивает доступ к данным карты, полученной из толпы, по всему миру. Данные лицензированы под лицензией Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.