adsbTransponder

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

Описание

The 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 объект. The gpsSensor объект должен задать свои PositionInputFormat свойство как 'Geodetic'. The 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

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

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

  • 1: EPU < 18.52 км (10 NM)

  • 2: ЭПУ < 7.408 (4 НМ)

  • 3: EPU < 3.704 (2 NM)

  • 4: EPU < 1852 м (1 NM)

  • 5: ЭПУ < 926 м (0,5 НМ)

  • 6: ЭПУ < 555,6 м (0,3 НМ)

  • 7: ЭПУ < 185,2 м (0,1 НМ)

  • 8: ЭПУ < 92,6 м (0,05 НМ)

  • 9: ЭПУ < 30 м

  • 10: ЭПУ < 10 м

  • 11: ЭПУ < 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

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

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

release(obj)

расширить все

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

Примеры

свернуть все

Создайте 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