Using my ADS-B receiver, In the past few months I've seen a lot of what I think are TIS-B contacts. They seem to cycle through a few different ICAO ID prefixes, but I see a lot that are of the form (in hex) 29xxxx and 31xxxx. E.g. 298c12 and 318512. I'm looking for a specification of exactly which ranges of ICAO codes can be used for TIS-B.


1 Answer 1


In this answer I'll assume you are analysing ADS-B data on 1090 MHz, which is the defacto global standard. I am less familiar with the ADS-B on UAT (987 MHz) which is used in addition to 1090MHz in the USA, but I assume the same logic applies.

There are no ICAO addresses assigned to TIS-B targets.

If an aircraft has an ICAO-address which is detected by the surveillance sensors (e.g. Mode S radar, multilateration system) and the aircraft is not transmitting ADS-B, then a TIS-B target will be created with the ICAO 24 bit address.

If an aircraft has no ICAO-address, (i.e. it has a Mode A/C transponder / ATCRBS) and is not transmitting ADS-B, then a TIS-B target will be created with a 24 bit address that consists of the Mode A code (first 12 bits) and a unique surveillance system track number (last 12 bits). Primary radar targets are allocated a "Mode A code" of all zeros.

To determine whether you receive an ADS-B message or a TIS-B message you should start looking at the Downlink Format (DF, first 5 bits of the message) if the DF = 17, then it is an ADS-B message. If the DF = 18 then you look at the control field (CF, bits 6-8). CF = 0 and CF = 1 are ADS-B messages. CF = 2,3 & 5 are TIS-B messages. CF = 6 are ADS-R messages. CF = 4 are TIS-B / ADS-R system status messages.

The TIS-B messages contain an ICAO/Mode A Flag (IMF) bit which indicates how to interpret the 24 bit address. The location of this bits varies by message type (e.g. position, velocity) and replaces a bit in the ADS-B format that has no meaning in TIS-B.

  • $\begingroup$ Thanks, @DeltaLima. I'd seen your other ADS-B related answers and was hoping you might be able to help with this question :) $\endgroup$ Aug 6, 2015 at 17:21
  • $\begingroup$ @JohnWiseman I am professionally involved in standardising and implementing the whole thing. Anything tagged ads-b draws my attention :-) $\endgroup$
    – DeltaLima
    Aug 6, 2015 at 17:25
  • $\begingroup$ @JohnWiseman btw, what kind of receiver are you using? $\endgroup$
    – DeltaLima
    Aug 6, 2015 at 20:58
  • $\begingroup$ I'm using an RTL-SDR with dump1090 as a decoder. When I started in 2013 I never saw TIS-B reports, but these days I see a lot: Ground vehicles at LAX, mode A/C-only aircraft in the air, and sometimes TIS-B contacts that seem to mirror aircraft that are broadcasting their own ADS-B position. $\endgroup$ Aug 7, 2015 at 5:07
  • 1
    $\begingroup$ @JohnWiseman the ground vehicles at LAX probably have ADS-B transmitters. Some aircraft broadcast ADS-B positions with low quality (no integrity) and indicate this in the message (FTC = 9). In such case a TIS-B target will still be generated as the ADS-B data is not really usable. Aircraft installed ASD-B receivers (and ATC ADS-B receivers as well) will filter out these low integrity messages. $\endgroup$
    – DeltaLima
    Aug 8, 2015 at 8:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .