comm.Ray

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

Описание

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

Создание

Обычно вы создаете comm.Ray объекты при помощи raytrace функция.

Описание

пример

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

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

Свойства

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

Метод спецификации пути к распространению в виде одного из этих значений.

  • 'Locations' — Контур объектов луча между waypoints передается как (x, y, z) координатные точки TransmitterLocation, ReceiverLocation, и, если применимо, ReflectorLocations свойства.

  • 'Delay and angles' — Контур объектов луча между waypoints передается 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], и height должен быть неотрицательным. Объект не выполняет валидацию области значений для longitude.

Зависимости

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

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

Местоположение приемника в виде трехэлементного числового вектор-столбца координат в одной из следующих форм.

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

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

Зависимости

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

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

Угол обзора в виде логического значения 1 TRUE) или 0 ложь) указать, является ли луч лучом угла обзора.

Зависимости

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

Типы данных: логический

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

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

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

Зависимости

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

.

Типы данных: 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', углы заданы со ссылкой на локальную систему координат "восточного севера" (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', углы заданы со ссылкой на локальную систему координат "восточного севера" (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 объекты. 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 объект. 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, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (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, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (ODbL), https://opendatacommons.org/licenses/odbl/.

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

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

Смотрите также

Функции

Объекты

Введенный в R2020a