comm.Ray

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

Описание

The 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 модели эллипсоида Земли, и объект определяет углы относительно локальной системы координат Восток-Север-Ап (ENU) в передатчике и приемнике.

Зависимости

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

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

Зависимости

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

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

Местоположения отражателя, заданные как 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

Задержка распространения в секундах, заданная как неотрицательный скаляр. Значение по умолчанию вычисляется с помощью значений по умолчанию 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'углы заданы со ссылкой на локальную систему координат East-North-Up (ENU) в передатчике.

Типы данных: 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', углы заданы со ссылкой на локальную систему координат East-North-Up (ENU) в приемнике.

Типы данных: 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)Постройте графики на карте Средство Просмотра

Примеры

свернуть все

Выполните трассировку лучей между двумя сайтами в Гонконге, сгенерировав массив ячеек, содержащий 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/.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2020a