exponenta event banner

adsbTransponder

Автоматический зависимый транспондер слежения-вещания (ADS-B)

Описание

adsbTransponder Система object™ моделирует автоматический зависимый ретранслятор слежения (ADS-B). Объект можно использовать для создания сообщений ADS-B и получения сообщений с помощью adsbReceiver Системный объект.

Для генерации сообщений ADS-B:

  1. Создать adsbTransponder и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

transponder = adsbTransponder(ICAO) создает транспондер ADS-B с уникальным адресом Международной организации гражданской авиации (ИКАО), который генерирует сообщения ADS-B. Необходимо указать ICAO как шестиэлементный символьный вектор или строковый скаляр.

пример

transponder = adsbTransponder(ICAO,Name,Value) устанавливает свойства транспондера, используя одну или несколько пар имя-значение. Например, adsbTransponder('ABC123','UpdateRate',10) создает ответчик ADS-B, который имеет адрес ICAO ABC123 и частота обновления 10 Гц.

Свойства

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

Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Уникальный адрес Международной организации гражданской авиации, определяемый как шестиэлементный символьный вектор или шестизначный строковый скаляр.

Пример: 'abc123', "abc123"

Категория платформы ответчика, указанная как adsbCategory объект перечисления. Значение по умолчанию adsbCategory(0) не представляет информацию о категории.

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

Пример: "abddekcf", 'abddekcf'

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

Датчик GPS, предоставляющий информацию о местоположении ответчика, указанный как gpsSensor объект. gpsSensor объект должен указывать его PositionInputFormat свойство как 'Geodetic'. SampleRate из gpsSensor объект автоматически синхронизируется с UpdateRate имущества adsbTransponder. Если установить SampleRate из gpsSensor объект к определенному значению, затем UpdateRate имущества adsbTransponder объект имеет то же значение, и наоборот.

Использование

Описание

пример

message = transponder(position,velocity) генерирует сообщения ADS-B на основе position и velocity входные аргументы с использованием созданного объекта-ответчика ADS-B.

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

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

Положение платформы, указанное как трехэлементный вектор [latitude longitude altitude]. Определить latitude и longitude в градусах. altitude - высота над WGS84 эллипсоидом в метрах.

Пример: [10,10,2000]

Скорость платформы, заданная как трехэлементный вектор скаляров в метрах в секунду. Скорость по отношению к локальной раме «север-восток-вниз» (NED) соответствует положению платформы.

Пример: [10,-10,20]

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

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

Сообщение ADS-B, возвращенное как структура. Структура содержит следующие поля:

Структура сообщений ADS-B

Имя поляОписаниеЗначение по умолчанию
ICAOАдрес Международной организации гражданской авиации, определяемый как шестиэлементный символьный вектор или шестизначный строковый скаляр. шестиэлементный пустой символьный вектор
TimeВремя вещания ретранслятора ADS-B, указанное как скаляр. Если ответчик не синхронизирован с надежным источником времени, используйте NaN как значение Time чтобы время приема использовалось в приемнике для сообщения.NaN
CategoryКатегория платформы ответчика, указанная как adsbCategory объект перечисления. adsbCategory(0)
CallsignПозывной платформы ответчика, определяемый как восьмиэлементный символьный вектор или восьмисимвольная строка.восьмиэлементный пустой символьный вектор
LatitudeСообщенная широта ретранслятора вещания, заданная как скаляр между -90 и 90 градусами. Использовать NaN если информация отсутствует.NaN
LongitudeДолгота широковещательного транспондера, заданная как скаляр от -180 до 180 в градусах. Использовать NaN если информация отсутствует.NaN
AltitudeСообщаемая высота ретранслятора вещания, заданная как скаляр в метрах. Представляет высоту над WG84 эллипсоидом. Использовать NaN если информация отсутствует.NaN
VeastКомпонент скорости в восточном направлении, указанный как скаляр в метрах в секунду. Положительным направлением для этого компонента является восточное направление. Использовать NaN если информация отсутствует.NaN
VnorthКомпонент скорости в северном направлении, указанный как скаляр в метрах в секунду. Положительным направлением для этого компонента является направление на север. Использовать NaN если информация отсутствует.NaN
ClimbRateСообщенная скорость набора высоты, заданная как скаляр в метрах в секунду. Положительным направлением для этого компонента является направление вверх. Использовать NaN если информация отсутствует. NaN
HeadingНаправление курса, указанное как скаляр от 0 до 360 в градусах. Угол направления курса на север равен 0 и является положительным по часовой стрелке. Использовать NaN если информация отсутствует.NaN
NACPosition

Категория точности навигации (Navigation Accuracy Category of position), заданная как целое число от 0 до 11. Каждое целое значение определяет границу расчетной неопределенности положения (EPU). Граница EPU является 95% точностью, связанной с горизонтальным положением. Граница определяет окружность, центрированную по указанному положению, так что вероятность фактического положения, лежащего внутри окружности, равна 0,95. Список показывает отношение между целым числом и привязкой:

  • 0: EPU ≥ 18,52 км (10 НМ) или неизвестно

  • 1: EPU < 18,52 км (10 НМ)

  • 2: EPU < 7,408 (4 НМ)

  • 3: EPU < 3,704 (2 НМ)

  • 4: EPU < 1852 м (1 НМ)

  • 5: EPU < 926 м (0,5 НМ)

  • 6: EPU < 555,6 м (0,3 НМ)

  • 7: EPU < 185,2 м (0,1 НМ)

  • 8: EPU < 92,6 м (0,05 НМ)

  • 9: EPU < 30 м

  • 10: EPU < 10 м

  • 11: EPU < 3 м

где NM представляет собой морские мили.

0
GeometricVerticalAccuracy

Геометрическая вертикальная точность (GVA) высоты, заданная как целое число от 0 до 2. Каждое целое значение представляет 95% точность, привязанную к сообщаемой высоте. Список показывает отношение между целым числом и привязкой:

  • 0: GVA > 150 м или неизвестно

  • 1: GVA ≤ 150 м

  • 2: GVA < 45 м

0
NACVelocity

Категория скорости точности навигации, заданная как целое число от 0 до 4. Каждое целое число представляет 95% точность, привязанную к сообщенной ошибке горизонтальной скорости (HVE). Список показывает отношение между целым числом и привязкой:

  • 0: HVE ≥ 10 м/с или неизвестно

  • 1: HVE < 10 м/с

  • 2: HVE < 3 м/с

  • 3: HVE < 1 м/с

  • 4: HVE < 0,3 м/с

0

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

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

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

stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
isLockedОпределить, используется ли объект System
cloneСоздать повторяющийся объект System
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Создать gpsSensor объект.

gps = gpsSensor('PositionInputFormat','Geodetic','HorizontalPositionAccuracy',100);

Создание adsbTransponder на основе gpsSensor объект.

transponder = adsbTransponder('ABC123', ...
    'Category',adsbCategory(12), ...
    'Callsign','X2347568', ...
    'GPS',gps);

Определите положение и скорость платформы.

truePos = [42.753 31.896 10000]; % deg deg m
trueVel = [250 0 0]; % m/s

Создайте сообщение ADS-B.

adsbMessage = transponder(truePos,trueVel)
adsbMessage = struct with fields:
                         ICAO: 'ABC123'
                         Time: 0
                     Category: Unmanned_Aerial_Vehicle
                     Callsign: 'X2347568'
                     Latitude: 42.7530
                    Longitude: 31.8961
                     Altitude: 1.0000e+04
                        Veast: -7.5704e-04
                       Vnorth: 250.0919
                    ClimbRate: -0.1308
                      Heading: 359.9998
                  NACPosition: 6
    GeometricVerticalAccuracy: 2
                  NACVelocity: 4

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

.

См. также

|

Представлен в R2021a