Skip to content

Downlink Format 17 Messages

amhirsch edited this page Sep 11, 2019 · 1 revision

DF-17 messages transmit ADS-B Out information. This includes the aircraft's location, altitude, velocity, heading, and callsign.

Type Code

The 1090MHz Riddle ADS-B message types
pyModeS pyModeS.typecode(msg)

The DF-17 message type code (TC) indicates the format of the message data. The message type code must be known before decoding the DF-17 message further.

Identification and Category (TC 1-4)

The 1090MHz Riddle Aircraft Identification

Callsign

pyModeS pyModeS.adsb.callsign(msg)

The aircraft callsign is used by air traffic control to address a specific aircraft. For commercial traffic, the callsign is typically a three letter airline code followed by the flight number. Private aircraft usually set the ADS-B callsign as the aircraft tail number.

The identification message format uses for seven characters for callsigns. Any unused characters are set to "_". Those placeholders can be discarded by calling pyModeS.adsb.callsign(msg).rstrip('_').

Category

pyModeS pyModeS.adsb.category(msg)

The aircraft category associates the broadcasting aircraft to a classification. The classification is dependent on the message type code and category number.

Category Set A (TC 4)

Category Description
0 No aircraft category information
1 Light ( < 15,500 lbs )
2 Medium 1 ( 15,500 lbs to 75,000 lbs )
3 Medium 2 (75,000 lbs to 300,000 lbs )
4 High vortex aircraft
5 Heavey ( > 300,000 lbs )
6 High Performance ( > 5g acceleration) and high speed ( > 400 kt)
7 Rotorcraft

Category Set B (TC 3)

Category Description
0 No aircraft category information
1 Glider / sailplane
2 Lighter-than-air
3 Parachutist / skydiver
4 Ultralight / hang-glider / paraglider
5 Reserved
6 Unmanned aerial vehicle
7 Space / transatmospheric vehicle

Category Set C (TC 2)

Category Description
0 No aircraft category information
1 Surface vehicle - emergency vehicle
2 Surface vehicle - service vehicle
3 Fixed ground or tethered obstruction
4-7 Reserved

Category Set D (TC 1)

Reserved

Position (TC 5-8, 9-18, 20-22)

Position messages include the aircraft lattitude and longitude coordinates and altitude.

Compact Position Reporting

The 1090MHz Riddle Compact Position Reporting , Globally unambiguous position and Locally unambiguous position
pyModeS pyModeS.adsb.oe_flag(msg)

Mode-S position messages use compact position reporting (CPR) to express the aircraft's coordinates using as few bits as posible. As a result, position messages are assigned an even or odd flag.

  • An odd message and an even message are needed to decode an aircraft location without any prior knowledge of its location.
  • Only one message is neded to decode an aircraft location if a previous position is known

In the following method signatures, msg0 refers to the even message and msg1 the odd. Likewise t0 is an integer representing the time the even message was recived and t1 the time of the odd message. The absolute value of t0 and t1is irrelevant to decoding the mssage. Howver, the most recent message must have the greater timestamp. One recomendation is to use seconds since the UNIX epoch.

Surface Position (TC 5-8)

pyModeS

Surface position messages transmit the aircraft coordinates while on the ground. This is accurate to 1.25m. When using even/odd messages, if no previous aircraft location is known, use the reciver antenna location.

The velocity aspect provides the ground speed (knots) and heading (relative to true north)

Airborne Positon (TC 9-18, 20-22)

pyModeS

Airborne position messages transmit the aircraft coordinates while airborne. This is accurate to 5m.

The altitude comes from diffrent sources depending on the type code.

TC Source
9-18 Barometer
20-22 GNSS (GPS, GLONASS, etc)

Airborne Velocity (TC 19)

The 1090MHz Riddle Airborne Velocity
pyModeS pyModeS.adsb.velocity(msg, rtn_sources=False)

Airborne velocity messages contain the aircraft velocity, heading, and vertical speed.

Uncertainity

Message data pretaining to aircraft position and velocity contains some inaccuracy. Here is the vocabulary used to define uncertainty.

  • Horizontal protection limit (HPL), Horizontal integrity limit (HIL) - A circle in a plane tangent to the Earth's surface (defined as the WGS-84 ellipsoid) centered at the reported coordinates where the true aircraft coordinates are effectivly garunteed to be contained.

  • 95% Containment radius - A circle concentric with the HPL circle with a smaller radius where the true position is expected to fall outside with a probability lower than 1*10^-5.