exponenta event banner

коммуникация. Луч

Объект-контейнер луча распространения

Описание

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

Создание

Как правило, создается comm.Ray с помощью raytrace функция.

Описание

пример

ray = comm.Ray создает объект-контейнер, инициализирующий свойства луча распространения.

ray = comm.Ray(Name,Value) задает свойства, используя один или несколько аргументов пары имя-значение. Заключите каждое имя свойства в кавычки. Например, comm.Ray('CoordinateSystem','Geographic','TransmitterLocation',[40.730610,-73.935242,0]) определяет географическую систему координат и передатчик, расположенный в Нью-Йорке.

Свойства

развернуть все

Метод спецификации пути распространения, указанный как одно из этих значений.

  • 'Locations' - Траектория луча между ППМ передается как (x, y, z) координатные точки с помощью TransmitterLocation, ReceiverLocation, и, если применимо, ReflectorLocations свойства.

  • 'Delay and angles' - Траектория луча между ППМ передается PropagationDelay, AngleOfDeparture, и AngleOfArrival свойства.

Типы данных: char | string

Система координат, указанная как 'Cartesian' или 'Geographic'. При установке CoordinateSystem свойство для 'Geographic', система координат определена относительно Земной эллиптической модели WGS-84, и объект определяет углы относительно местной системы координат East-North-Up (ENU) в передатчике и приемнике.

Зависимости

Чтобы включить это свойство, установите значение PathSpecification свойство для 'Locations'.

Типы данных: char | string

Декартова шкала системы координат в метрах, заданная как положительный скаляр.

Зависимости

Чтобы включить это свойство, установите значение PathSpecification свойство для 'Locations' и CoordinateSystem свойство для 'Cartesian'.

Типы данных: double

Местоположение передатчика, определяемое как трехэлементный числовой вектор-столбец координат в одной из этих форм.

  • [x; y; z] - Эта форма применяется при установке CoordinateSystem свойство для 'Cartesian'. Объект не выполняет проверку диапазона для x, y и z.

  • [широта; долгота; height] - эта форма применяется при установке CoordinateSystem свойство для 'Geographic'. широта должна находиться в диапазоне [-90, 90]. Объект не выполняет проверку диапазона для долготы.

Зависимости

Чтобы включить это свойство, установите значение PathSpecification свойство для 'Locations'.

Типы данных: double

Местоположение приемника, определяемое как трехэлементный числовой вектор-столбец координат в одной из этих форм.

  • [x; y; z] - Эта форма применяется при установке CoordinateSystem свойство для 'Cartesian'. Объект не выполняет проверку диапазона для x, y и z.

  • [широта; долгота; height] - эта форма применяется при установке CoordinateSystem свойство для 'Geographic'. широта должна находиться в диапазоне [-90, 90]. Объект не выполняет проверку диапазона для долготы.

Зависимости

Чтобы включить это свойство, установите значение PathSpecification свойство для 'Locations'.

Типы данных: double

Линия визирования, заданная как логическое значение 1 (true) или 0 (false), чтобы указать, является ли луч лучом прямой видимости.

Зависимости

Чтобы включить это свойство, установите значение PathSpecification свойство для 'Locations'.

Типы данных: logical

Местоположения отражателей, заданные как 3-by-N числовая матрица, содержащая координаты точек отражения для луча. N - количество точек отражения для луча и устанавливается NumReflections собственность. Каждый столбец представляет координатное положение одной точки отражения вдоль пути распространения от передатчика к приемнику. Порядок столбцов совпадает с порядком точек вдоль траектории. Столбцы (координаты точек отражения) имеют одну из этих форм.

  • [x; y; z] - когда CoordinateSystem свойство имеет значение 'Cartesian'. Объект не выполняет проверку диапазона для x, y и z.

  • [широта; долгота; высота] - когда CoordinateSystem свойство имеет значение 'Geographic'. широта должна находиться в диапазоне [-90, 90]. Объект не выполняет проверку диапазона для долготы.

Зависимости

Чтобы включить это свойство, установите значение PathSpecification свойство для 'Locations' и LineOfSight свойство для 0 (false).

.

Типы данных: double

Задержка распространения в секундах, заданная как неотрицательный скаляр. Значение по умолчанию вычисляется с использованием значений по умолчанию TransmitterLocation и ReceiverLocation свойства луча линии визирования.

  • При установке PathSpecification свойство для 'Locations', это свойство доступно только для чтения, а значение получено из TransmitterLocation, ReceiverLocation и, если применимо, ReflectionLocations.

  • При установке PathSpecification свойство для 'Delay and angles', это свойство конфигурируется.

Типы данных: double

Это свойство доступно только для чтения.

Расстояние распространения в метрах, указанное как неотрицательный скаляр. Значение по умолчанию вычисляется с использованием значений по умолчанию TransmitterLocation и ReceiverLocation свойства луча линии визирования.

  • При установке PathSpecification свойство для 'Locations', значение получено из TransmitterLocation, ReceiverLocation и, если применимо, ReflectionLocations.

  • При установке PathSpecification свойство для 'Delay and angles', значение получено из PropagationDelay.

Типы данных: double

Угол отправления в градусах луча на передатчике, определяемый как числовой вектор вида [az; el]. Азимутальный угол az измеряется от положительной оси x против часовой стрелки и должен находиться в диапазоне (-180, 180]. Угол возвышения, el, измеряется от плоскости x-y и должен находиться в диапазоне [-90, 90]. Значение по умолчанию вычисляется с использованием значений по умолчанию TransmitterLocation и ReceiverLocation свойства луча линии визирования.

  • При установке PathSpecification свойство для 'Delay and angles', это свойство конфигурируется.

  • При установке PathSpecification свойство для 'Locations', это свойство доступно только для чтения, а значение получено из TransmitterLocation, ReceiverLocation и, если применимо, ReflectionLocations.

  • Когда CoordinateSystem имеет значение 'Geographic'углы определяются относительно локальной системы координат Восток-Север-Вверх (RUS) на передатчике.

Типы данных: double

Угол прихода луча в градусах приемника, определяемый как числовой вектор вида [az; el]. Азимутальный угол az измеряется от положительной оси x против часовой стрелки и должен находиться в диапазоне (-180, 180]. Угол возвышения, el, измеряется от плоскости x-y и должен находиться в диапазоне [-90, 90]. Значение по умолчанию вычисляется с использованием значений по умолчанию TransmitterLocation и ReceiverLocation свойства луча линии визирования.

  • При установке PathSpecification свойство для 'Delay and angles', это свойство конфигурируется.

  • При установке PathSpecification свойство для 'Locations', это свойство доступно только для чтения, а значение получено из TransmitterLocation, ReceiverLocation и, если применимо, ReflectionLocations.

  • Когда CoordinateSystem имеет значение 'Geographic'углы определяются относительно локальной системы координат Восток-Север-Вверх (RUS) в приемнике.

Типы данных: double

Это свойство доступно только для чтения.

Количество точек отражения для объекта-луча от передатчика к приемнику, указанное как неотрицательное целое число. Значение является производным от LineOfSight и, если применимо, ReflectionLocations.

Зависимости

Чтобы включить это свойство, установите значение PathSpecification свойство для 'Locations'.

Типы данных: double

Частота сигнала в Гц, заданная как положительный скаляр.

Типы данных: double

Источник потерь тракта, указанный как 'Free space model' или 'Custom'.

Типы данных: char | string

Потеря пути в дБ, заданная как неотрицательный скаляр. Значение по умолчанию вычисляется с использованием значений по умолчанию TransmitterLocation и ReceiverLocation свойства луча линии визирования.

  • При установке PathLossSource свойство для 'Free space model', PathLoss свойство доступно только для чтения и является производным от PropagationDistance и Frequency с помощью модели распространения свободного пространства.

  • При установке PathLossSource свойство для 'Custom', вы можете установить PathLoss , независимо от геометрических свойств.

Типы данных: double

Фазовый сдвиг в радианах, заданный как числовой скаляр. Значение по умолчанию вычисляется с использованием значений по умолчанию TransmitterLocation и ReceiverLocation свойства луча линии визирования.

  • При установке PathLossSource свойство для 'Free space model', PhaseShift свойство доступно только для чтения и является производным от PropagationDistance и Frequency с помощью модели распространения свободного пространства.

  • При установке PathLossSource свойство для 'Custom', вы можете установить PhaseShift , независимо от геометрических свойств.

Типы данных: double

Функции объекта

plot (rays)Печать лучей на карте Site Viewer

Примеры

свернуть все

Выполните трассировку лучей между двумя участками в Гонконге, создав массив ячеек, содержащий comm.Ray объекты. comm.Ray объекты содержат геометрическую и электромагнитную информацию для путей распространения радиоволн от узла передатчика к узлу приемника.

Создайте карту Site Viewer, загружая данные здания для Гонконга. Для получения дополнительной информации о файле 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 объект. 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 объекты. 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 и постройте график пути распространения луча после повторного запуска карты Site Viewer.

Создайте карту Site Viewer, загружая данные здания для Чикаго. Для получения дополнительной информации о файле 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);

Выполните трассировку лучей, возвращая результаты для объектов лучей. Для определенной конфигурации трассировка лучей возвращает массив ячеек, содержащий один объект луча. Отображение свойств объекта луча. Затем закройте карту Site Viewer.

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);

Можно распечатать лучи без повторного выполнения трассировки лучей. Создайте другую карту Site 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/.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2020a