adsbReceiver

Автоматический Зависимый Широковещательно передается наблюдением (ADS-B) приемник

Описание

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

Сгенерировать дорожки ADS-B:

  1. Создайте adsbReceiver объект и набор его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

receiver = adsbReceiver создает Системный объект приемника ADS-B, receiver, со значениями свойств по умолчанию.

пример

receiver = adsbReceiver(Name,Value) Свойства наборов для транспондера с помощью одной или нескольких пар "имя-значение". Например, adsbReceiver('ReceiverIndex',1) создает приемник ADS-B, который имеет уникальный идентификатор 1.

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.

Уникальный идентификатор приемника в виде неотрицательного целого числа.

Максимальное количество дорожек, которые приемник ADS-B может обеспечить в виде положительного целого числа.

Это свойство доступно только для чтения.

Количество дорожек обеспечено в приемнике ADS-B в виде неотрицательного целого числа.

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

Описание

tracks = receiver(messages,time) обновляет receiver со списком ADS-B messages к time из приема. Каждое сообщение может сгенерировать самое большее одну дорожку. Если информация, содержавшаяся в сообщении, не составляет полное состояние дорожки, приемник не выводит дорожки на основе этого сообщения.

[tracks,incomplete] = receiver(messages,time) дополнительно возвращает список сообщений, из которых приемник не может вывести полное состояние дорожки.

пример

[tracks,incomplete,info] = receiver(messages,time) дополнительно возвращает информацию об анализе для входа messages.

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

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

ADS-B обменивается сообщениями в виде массива структур сообщения 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 морских миль) или неизвестный

  • 1: EPU <18,52 км (10 морских миль)

  • 2: EPU <7.408 (4 МОРСКИХ МИЛИ)

  • 3: EPU <3.704 (2 МОРСКИХ МИЛИ)

  • 4: EPU <1 852 м (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

Время приема сообщения в виде неотрицательного скаляра в секундах.

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

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

Дорожки сгенерированы из сообщений, возвращенных как массив objectTrack объекты.

Неполные сообщения, возвращенные как массив ADS-B, передают структуры. Неполные сообщения являются сообщениями, что средство отслеживания успешно не использовало, чтобы сгенерировать дорожки.

Информация об анализе, возвращенная как структура. Структура содержит эти поля:

Имя поляОписание
DiscardedОтброшенные индексы ICAO сообщения, возвращенные как массив положительных целых чисел. Каждое целое число представляет соответствующий индекс массива отброшенной структуры сообщения в messages входной параметр.
IcaoToTrackID

Отображение адресов ICAO, чтобы отследить идентификаторы, возвращенные как K - массив элемента структур. Каждая структура содержит два поля:

  • ICAO — Адрес ICAO сообщения, возвращенного как вектор символов с шестью элементами.

  • TrackID — Отследите ID, возвращенный как положительное целое число.

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

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

release(obj)

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

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

Примеры

свернуть все

Создайте приемник ADS-B.

receiver = adsbReceiver;

Задайте сообщение ADS-B, сгенерированное от AAF123 транспондер. Примите, что транспондер не синхронизируется от UTC установкой Time к NaN.

airbornePositionMessage = struct('ICAO','AAF123','Time', NaN,...
    'Latitude',70, 'Longitude',30,'Altitude',2000);

Задайте время получения сообщения.

t0 = 0;

Вызовите приемник, чтобы сгенерировать дорожки. Поскольку информация о скорости не доступна в сообщении, приемник не может вывести допустимую дорожку.

[tracks,incomplete,info] = receiver(airbornePositionMessage,t0)
tracks = 

  1x0 objectTrack array with properties:

    TrackID
    BranchID
    SourceIndex
    UpdateTime
    Age
    State
    StateCovariance
    StateParameters
    ObjectClassID
    TrackLogic
    TrackLogicState
    IsConfirmed
    IsCoasted
    IsSelfReported
    ObjectAttributes
incomplete = struct with fields:
                         ICAO: 'AAF123'
                         Time: 0
                     Category: No_Category_Information
                     Callsign: '        '
                     Latitude: 70
                    Longitude: 30
                     Altitude: 2000
                        Veast: NaN
                       Vnorth: NaN
                    ClimbRate: NaN
                      Heading: NaN
                  NACPosition: 0
    GeometricVerticalAccuracy: 0
                  NACVelocity: 0
                          Age: 1

info = struct with fields:
        Discarded: [1x0 uint32]
    IcaoToTrackID: [1x1 struct]

Создайте новое сообщение ADS-B из того же транспондера, который содержит информацию о скорости. Время получения в 1 секунду.

airborneVelocityMessage = struct('ICAO','AAF123','Time',NaN, ...
    'Vnorth',250,'Veast',0,'ClimbRate',-1);
t1 = 1;

Добавьте новое сообщение в приемник. Приемник может теперь отформатировать комбинацию двух сообщений в дорожку.

[tracks,incomplete,info] = receiver(airborneVelocityMessage,t1)
tracks = 
  objectTrack with properties:

             TrackID: 1
            BranchID: 0
         SourceIndex: 0
          UpdateTime: 1
                 Age: 2
               State: [6x1 double]
     StateCovariance: [6x6 double]
     StateParameters: [1x1 struct]
       ObjectClassID: 0
          TrackLogic: 'History'
     TrackLogicState: 1
         IsConfirmed: 1
           IsCoasted: 0
      IsSelfReported: 1
    ObjectAttributes: [1x1 struct]

incomplete = 

  1x0 empty struct array with fields:

    ICAO
    Time
    Category
    Callsign
    Latitude
    Longitude
    Altitude
    Veast
    Vnorth
    ClimbRate
    Heading
    NACPosition
    GeometricVerticalAccuracy
    NACVelocity
    Age
info = struct with fields:
        Discarded: [1x0 uint32]
    IcaoToTrackID: [1x1 struct]

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

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

|

Введенный в R2021a
Для просмотра документации необходимо авторизоваться на сайте