What is modelled. The traffic is synthetic: departures, arrivals and overflights around three made-up airports, with random callsigns and addresses. Message formats, timing and encodings follow the ICAO Mode S and DO-260B standards. Transmit power (125 to 500 W), transponder frequency error and message rates are typical values. The receiver works on complex baseband samples with thermal noise; its decoder follows the open-source dump1090.
Airspace
The receiver sits at the centre. Triangles are where the aircraft really are; circles are where the receiver has decoded them from their own broadcasts. Aircraft beyond the radio horizon, which is lower for aircraft closer to the ground, can't be heard at all.
Map
Zoom with the buttons, ⌘/Ctrl-scroll or a pinch; drag to pan once zoomed; double-click to reset. Click an aircraft to select it.
| ICAO | Callsign | Altitude (ft) | Speed (kt) | Track | Climb (ft/min) | Range (km) | Messages | Level (dB) | Position | Seen |
|---|
The signal at 1090 MHz
What the receiver samples: the magnitude of the complex baseband signal. Each message is a burst of 0.5 µs pulses: an 8 µs preamble, then one bit per microsecond, sent by pulse position (a pulse in the first half of the microsecond is a 1, in the second half a 0). A 112-bit message lasts 120 µs.
Magnitude, 1 ms
Preamble detection
Every sample is a possible message start. The detector checks for four pulses at 0, 1, 3.5 and 4.5 µs, with quiet between them, then tries each alignment within half a bit and keeps the best. Lower thresholds catch weaker aircraft but pass more noise, which the CRC then has to reject.
Selected message: preamble
Bit slicing
For each bit, the receiver compares the energy in the first and second half of its microsecond. The bigger half wins. When the two are close, noise can flip the decision; those weak bits are outlined. Click any bit to flip it and see what the CRC does.
Data bits
CRC-24 parity check
The last 24 bits are parity: the remainder of dividing the rest of the message by a fixed polynomial. The receiver recomputes it. For extended squitters (DF17) and acquisition squitters (DF11) the two must match. Replies to radar (DF4) carry parity overlaid with the aircraft's address, so the result must equal an address already heard. A one-bit error leaves a unique remainder, so it can be corrected.
Selected message
Last 10 seconds
Generator polynomial 0x1FFF409 (x²⁴ + x²³ + … + x¹⁰ + x³ + 1).
Message fields
A message that passes the CRC is split into its fields. DF17 extended squitters carry a 56-bit ME field whose type code (TC) says what's inside: identification and callsign (TC 1-4), airborne position (TC 9-18) or velocity (TC 19).
| Field | Bits | Raw | Meaning |
|---|
CPR position decoding
To fit latitude and longitude into 17 bits each, position messages give only the position within a zone, not which zone. Even messages use 60 latitude zones of 6°, odd messages 59 zones of 6.1°. One message alone fits a position in every zone. An even and an odd message together agree in only one place, because the two zone sizes differ. A decoder can also pick the zone closest to a known reference, such as its own location, if the aircraft is within about 300 km.
Latitude: where each frame could be
Longitude at that latitude
Garble: overlapping messages
Every aircraft transmits about six messages a second, at random times, on the same frequency. As traffic grows, messages overlap. Sometimes the stronger one still decodes; often both are lost. This is why busy airspace needs more receivers.
Messages arriving, last 20 ms
Decoded against signal level recent messages
Decoded against traffic run a sweep
Message log
Every decoded message, newest first. Click one to show it in stages 3 to 6.
| Time (s) | ICAO | DF | Content | Level (dB) | CRC | Truth |
|---|