Introduction

libasterix is a library for decoding and encoding data in Eurocontrol ASTERIX format.

libasterix support the following categories:

CAT001

CAT002

CAT008

CAT019

CAT020

CAT021

CAT023

CAT034

CAT048

CAT062

CAT240

libasterix is implemented by pure C99 code, and relies only on standard C library, which means it can be easily ported to almost any platform.

libasterix is tested with the following compiler and platform:

MSVC 2017 on Windows 10 on x86_64

MSVC 2015 on Windows 7/8.1/10 on x86/x86_64

CLANG 3.2 on Mac OS X 10.8 on x86_64

GCC 4.8.2 on CentOS 7.0 on x86_64

GCC 4.6.3 on Debian 7.0 on Raspberry Pi

Categories

The ASTERIX format defines different category for different type of surveillance.

libasterix supports all commonly used ASTERIX categories, and different versions of some category. It will continue expand its capability to support more categories in future.

The supported categories and versions are:

Category

Title

Version

Decoding

Encoding

CAT001

Monoradar Target Reports

1.0

YES

YES

CAT002

Monoradar Service Messages

1.0

YES

YES

CAT008

Transmission of Monoradar Derived Weather Information

1.0

YES

NO

CAT019

Multilateration System Status Messages

1.2

YES

NO

CAT020

MLT Messages

1.7, 1.8

YES

NO

CAT021

ADS-B Messages

0.23, 0.26, 2.1

YES

YES

CAT023

CNS/ATM Ground Station and Service Status Reports

1.2

YES

NO

CAT034

Transmission of Monoradar Service Messages

1.27

YES

YES

CAT048

Transmission of Monoradar Target Reports

1.15

YES

YES

CAT062

SDPS Track Messages

1.7

YES

NO

CAT240

Radar Video Transmission

1.3

YES

NO

Note 1: Most categories are backward compatible, which means if the version of your data is lower or equal to the version listed in the table above, it can be correctly decoded. CAT021 is one exception of this backward compatibility.

Note 2: Encoding support for other all categories is under active development.

User Application Profile

The ASTERIX standard defines all possible data items, but the existence and order of these data items are defined by User Application Profile (UAP).

libasterix supports all standard UAP, and some widely used property UAPs defined by major ATC vendors.

The supported UAPs are:

Standard UAP

Property UAP of Raytheon radar

Property UAP of Thales ADS-B

Further more, libasterix has a feature to automatically detect and select proper UAP.

Comm-B Data Selector

libasterix is capable to decode Comm-B Data Selector (BDS) data embeded in some data items. It is useful as some important data (e.g. FMS selected altitude) is not defined by ASTERIX and the only way to retrieve it is from BDS.