WaveShark

1090 MHz

ADS-B and Mode S

Aircraft on a map with callsign, altitude, speed, track and position, read off the 1090 MHz downlink alongside everything else in the span.

Mode S is the transponder reply every airliner sends, and ADS-B is the part of it that carries a position the aircraft worked out for itself. WaveShark reads both span-wide rather than on a channel, because a Mode S frame is shorter than a detector frame, and puts each aircraft on the map with a track table beside it.

A single position frame from an aircraft you have no pair for still places it, as long as the receiver knows where it is: give it --location or set the station position and the surface position decoding has its reference. A mark drawn from one frame is hollow and never joins a trail, so a guess never becomes a track.

Checked against dump1090 on the same recordings, which is the only way to know a decoder is right rather than merely confident.

What comes out

  • ICAO address, and the callsign when the aircraft sends one
  • Altitude, ground speed, heading and vertical rate
  • Position, with the range ring drawn from your antenna
  • Squawk, and the emergency codes as they are set
$ waveshark --tune 1090 --location 53.34,-6.26 --flights

Read next

UAT at 978 MHzACARSVDL Mode 2Inmarsat Aero

Something did not decode?

Record the burst with --record and open an issue with the capture. A capture that decodes becomes a test fixture.

Open an issue