los

Отобразите или вычислите состояние видимости угла обзора (LOS)

Описание

пример

los(site1,site2) отображает видимость угла обзора (LOS) от сайта 1, чтобы расположить 2 в текущем Средстве просмотра Сайта. График является цветом, закодированным, чтобы идентифицировать видимость точек вдоль линии.

пример

los(site1,site2,Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение". Например, los(site1,site2,'ObstructedColor','red') отображает LOS красного цвета, чтобы показать блокированную видимость.

vis = los(site1,site2,Name,Value) возвращает состояние видимости LOS.

Примеры

свернуть все

Постройте LOS от кампуса MathWorks Apple Hill до кампуса MathWorks Lakeside.

Создайте ретранслятор с антенной высоты 30 м.

tx = txsite('Name','MathWorks Apple Hill',...
      	'Latitude',42.3001,'Longitude',-71.3504,'AntennaHeight',30);

Создайте сайт приемника с антенной на уровне земли.

rx = rxsite('Name','MathWorks Lakeside', ...
   	    'Latitude',42.3021,'Longitude',-71.3764);

Постройте LOS между этими двумя сайтами.

los(tx,rx);

Создайте ретранслятор с антенной высоты 30 м.

tx = txsite('Name','MathWorks Apple Hill',...
      	'Latitude',42.3001,'Longitude',-71.3504,'AntennaHeight',30);

Создайте два сайта приемника с антеннами на уровне земли.

names = ["Fenway Park","Bunker Hill Monument"];
lats = [42.3467,42.3763];
lons = [-71.0972,-71.0611];

Создайте массив сайта приемника.

rxs = rxsite('Name', names,...
      'Latitude',lats,...
      'Longitude',lons);
  

Постройте углы обзора на сайты приемника. Красный фрагмент LOS представляет затрудненную видимость.

los(tx,rxs);

Импортируйте и просмотрите файл STL. Файл моделирует небольшой конференц-зал с одной таблицей и четырьмя стульями.

viewer = siteviewer("SceneModel","conferenceroom.stl");

Создайте ретранслятор около верхнего угла комнаты и сайта приемника выше таблицы. Задайте положение с помощью Декартовых координат в метрах.

tx = txsite("cartesian", ...
    "AntennaPosition",[-1.46; -1.42; 2.1]);
rx = rxsite("cartesian", ...
    "AntennaPosition",[0.3; 0.3; 0.85]);

Постройте LOS между передатчиком и приемником.

los(rx,tx)

Панорамирование путем щелчка левой кнопкой, масштабируйте путем щелчка правой кнопкой или при помощи колесика прокрутки и вращайте визуализацию путем нажатия средней кнопки и перетаскивания или путем нажатия Ctrl и щелчка левой кнопкой и перетаскивания.

Возвратите результаты трассировки лучей в comm.Ray объекты и график пути к распространению луча после перезапуска карты Средства просмотра Сайта.

Создайте карту Средства просмотра Сайта, загрузив создание данных для Чикаго. Для получения дополнительной информации о osm файле, см. [1].

viewer = siteviewer('Buildings','chicago.osm');

Создайте ретранслятор на одном создании и сайт приемника на другом создании. Используйте los функционируйте, чтобы показать путь к углу обзора между сайтами передатчика и приемника.

tx = txsite( ...
    'Latitude',41.8800, ...
    'Longitude',-87.6295, ...
    'TransmitterFrequency',2.5e9);
rx = rxsite( ...
    'Latitude',41.881352, ...
    'Longitude',-87.629771, ...
    'AntennaHeight',30);
los(tx,rx);

Выполните трассировку лучей максимум для двух отражений. Для заданной настройки трассировка лучей возвращает массив ячеек, содержащий объекты луча. Закройте карту Средства просмотра Сайта.

pm = propagationModel( ...
    'raytracing', ...
    'Method','sbr', ...
    'MaxNumReflections',2);
rays = raytrace(tx,rx,pm)
rays = 1×1 cell array
    {1×3 comm.Ray}

rays{1}(1,1)
ans = 
  Ray with properties:

      PathSpecification: 'Locations'
       CoordinateSystem: 'Geographic'
    TransmitterLocation: [3×1 double]
       ReceiverLocation: [3×1 double]
            LineOfSight: 0
           Interactions: [1×1 struct]
              Frequency: 2.5000e+09
         PathLossSource: 'Custom'
               PathLoss: 94.1067
             PhaseShift: 1.1472

   Read-only properties:
       PropagationDelay: 5.7089e-07
    PropagationDistance: 171.1479
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
        NumInteractions: 1

rays{1}(1,2)
ans = 
  Ray with properties:

      PathSpecification: 'Locations'
       CoordinateSystem: 'Geographic'
    TransmitterLocation: [3×1 double]
       ReceiverLocation: [3×1 double]
            LineOfSight: 0
           Interactions: [1×2 struct]
              Frequency: 2.5000e+09
         PathLossSource: 'Custom'
               PathLoss: 101.8769
             PhaseShift: 2.8594

   Read-only properties:
       PropagationDelay: 5.9279e-07
    PropagationDistance: 177.7143
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
        NumInteractions: 2

rays{1}(1,3)
ans = 
  Ray with properties:

      PathSpecification: 'Locations'
       CoordinateSystem: 'Geographic'
    TransmitterLocation: [3×1 double]
       ReceiverLocation: [3×1 double]
            LineOfSight: 0
           Interactions: [1×2 struct]
              Frequency: 2.5000e+09
         PathLossSource: 'Custom'
               PathLoss: 99.1597
             PhaseShift: 4.6635

   Read-only properties:
       PropagationDelay: 6.3790e-07
    PropagationDistance: 191.2388
       AngleOfDeparture: [2×1 double]
         AngleOfArrival: [2×1 double]
        NumInteractions: 2

close(viewer);

Можно построить лучи, не выполняя трассировку лучей снова. Создайте другую карту Средства просмотра Сайта с теми же созданиями. Покажите сайты передатчика и приемника. Используя ранее возвращенный массив ячеек объектов луча, постройте отраженные лучи между ретранслятором и сайтом приемника. Функция построения графика может построить путь для объектов луча коллективно или индивидуально. Например, чтобы построить лучи для единственного второго объекта луча, задайте rays{1}(1,2). График этого рисунка все пути для всех объектов луча.

siteviewer('Buildings','chicago.osm');
los(tx,rx);
plot(rays{:},'Type','power', ...
    'TransmitterSite',tx,'ReceiverSite',rx);

Приложение

[1] osm файл загружается с https://www.openstreetmap.org, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (ODbL), https://opendatacommons.org/licenses/odbl/.

Входные параметры

свернуть все

Исходный сайт антенны в виде txsite возразите или rxsite объект. Сайт 1 должен быть одним объектом сайта.

Целевой сайт антенны в виде txsite возразите или rxsite объект. Сайт 2 может быть одним объектом сайта или вектором из нескольких объектов сайта.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'ObstructedColor','blue'

Цвет графика для успешной видимости в виде одного из следующего:

  • Триплет RGB, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Вектор символов, такой как 'red' или 'r'.

  • Строковый скаляр, такой как "red" или "r".

Эта таблица содержит названия цвета и эквивалентные триплеты RGB для некоторых простых цветов.

Название цветаКраткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

Цвет графика для блокированной видимости в виде одного из следующего:

  • Триплет RGB, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Вектор символов, такой как 'red' или 'r'.

  • Строковый скаляр, такой как "red" или "r".

Эта таблица содержит названия цвета и эквивалентные триплеты RGB для некоторых простых цветов.

Название цветаКраткое названиеТриплет RGBВнешний вид
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

Разрешение демонстрационных местоположений использовалось для расчета видимости угла обзора в виде 'auto' или числовой скаляр описывается в метрах. Resolution задает расстояние между выборками на большом круговом пути с помощью сферической модели Earth. Если Resolution 'auto', функция вычисляет значение на основе расстояния между сайтами.

Сопоставьте для визуализации или поверхностных данных в виде siteviewer объект, triangulation объект, строковый скаляр или вектор символов. Допустимый и значения по умолчанию зависят от системы координат.

Система координатДопустимые значения картыЗначение карты по умолчанию
'geographic'
  • siteviewer объект[a].

  • Имя ландшафта, если функция вызвана с выходным аргументом. Допустимыми именами ландшафта является 'none', 'gmted2010', или имя пользовательских данных о ландшафте, добавленных с помощью addCustomTerrain.

  • Текущий siteviewer возразите или новый siteviewer возразите, не ли ни один открыт.

  • 'gmted2010', если функция вызвана с выходом.

'cartesian'
  • 'none'.

  • siteviewer объект.

  • Имя файла STL.

  • triangulation объект.

  • 'none'.

[a] Выравнивание контуров и меток области является представлением функции, обеспеченной по условию поставщики, и не подразумевает подтверждение MathWorks®.

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

Выходные аргументы

свернуть все

Состояние видимости LOS, возвращенной как логический 1 TRUE) или 0 ложь). Если существует несколько целевых сайтов, функция возвращает логический массив n-by-1.

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

| |

Введенный в R2019b