What the aircraft actually sends
An ADS-B message is small and rigidly defined. Everything a tracker shows is either one of those transmitted values, something computed from them, or something looked up in a database afterwards. Knowing which category a field falls into tells you exactly how far to trust it.
Broadcast — sent by the aircraft. Reliable, subject to reception. Derived — calculated by the decoder from broadcast values. Reliable but smoothed. Looked up — added from a database using the hex or callsign. As good as the database, which is to say sometimes wrong.
Identity
| Field | Source | What it is |
|---|---|---|
hex | Broadcast | The 24-bit ICAO address, six hex digits. Belongs to the airframe and is the only truly dependable identifier. |
flight | Broadcast | The callsign the crew entered. Up to eight characters. Often not the ticketed flight number. |
r | Looked up | Registration. Derived from the hex against a database. |
t | Looked up | ICAO type code, such as A20N or B738. |
squawk | Broadcast | The four-digit transponder code. |
category | Broadcast | Emitter category — a broad size class the aircraft declares about itself. |
The emitter category is more useful than it looks. A1 is light, A2 small,
A3 large, A5 heavy, and A7 rotorcraft. It is how a tracker can
show a helicopter differently from an airliner without knowing the type.
Position and movement
| Field | Source | What it is |
|---|---|---|
lat / lon | Broadcast | Position from the aircraft's own satellite navigation. |
alt_baro | Broadcast | Pressure altitude. Reads ground when the aircraft reports itself on the surface. |
alt_geom | Broadcast | Satellite-derived altitude, referenced to the WGS84 ellipsoid. |
gs | Broadcast | Ground speed in knots — speed across the ground, not through the air. |
track | Broadcast | Direction of travel over the ground. |
true_heading | Broadcast | Where the nose points. Sent mainly on the ground. |
baro_rate | Broadcast | Vertical rate in feet per minute. |
In a strong crosswind an aircraft points measurably away from where it is going. Track is the path over the ground; heading is where the nose is. Airborne messages usually carry track, which is why the symbols on a map follow the route. On the ground the reverse is true, and an aircraft on a taxiway sends heading — which is why ground movements need different handling to look right.
Speed, of which there are several
Aircraft may report ground speed, indicated airspeed and true airspeed, and they mean genuinely different things. Ground speed is what a tracker normally displays because it is what matches movement on a map. True airspeed is speed through the air, which differs from ground speed by the wind — a difference of well over a hundred knots in a strong jet stream. Indicated airspeed is what the instruments show, and falls away with altitude as the air thins.
A transatlantic flight showing 560 knots eastbound and 430 knots westbound is not flying differently. It is the same aeroplane with the jet stream behind it and then in front of it.
Quality indicators, and why they exist
ADS-B carries fields describing how much the aircraft trusts its own position. They rarely appear in consumer displays but they matter to anyone using the data seriously.
| Field | Meaning |
|---|---|
nic | Navigation Integrity Category — a bound on how far the position could be wrong. |
nac_p | Navigation Accuracy Category — how accurate the position is believed to be. |
sil | Source Integrity Level — how likely the position is to exceed the stated bound without warning. |
An aircraft whose satellite reception has degraded will lower these values, which is a far better signal of a suspect position than the position simply looking odd.
Fields your receiver adds
| Field | What it tells you |
|---|---|
seen | Seconds since any message from this aircraft. Rising values mean you are losing it. |
seen_pos | Seconds since the last position. Can lag well behind seen. |
rssi | Signal strength in dBFS. Always negative; closer to zero is stronger. |
messages | Total messages received from this aircraft. |
The gap between seen and seen_pos is diagnostic. If seen is
small but seen_pos is large, you are still hearing the aircraft perfectly and it is no
longer sending usable positions — typically a Mode S-only aircraft, or one at the edge of
reception where only the shorter messages survive.
Origin, destination, airline, aircraft type and passenger count are not in any ADS-B message. Every one of those is added by looking up the hex or callsign in a separate database. When a tracker shows a blank route or the wrong type, that is a database gap — not a fault in the radio signal, and not something a better antenna will fix.