A simple colinear coaxial 1090 MHz antenna for ADS-B

15 Aug 2015 - tsp
Last update 20 Dec 2020
Reading time 7 mins

This has been an older mini-project of mine but I since i decided to merge some of my old project wiki and reports into my main webpage / blog this short summary emerged.

What is ADS-B?

The automatic dependent surveillance system is a secondary radar system used by air traffic control to monitor controlled airspaces. The whole ADS system is built on top of already existing secondary radar technology - specifically the ICAO standard Mark XII, also called Mode-S. The main idea behind secondary radar is that airplanes are on the one hand capable of identifying themselves which originated from world war 2’s friend or foo identification systems used to distinguish between friendly and enemy planes as well as on the idea that planes themselves are capable in a better way to determine their location, speed and operating conditions - primary radar systems do work for airspace surveilance but are not able to deliver the resolution required to control modern crowded airspace. Additionaly there are many areas worldwide that are not covered with primary radar systems anyways so secondary radar fills a second gap - without ADS-B it would not be possible to monitor planes crossing the seas in most cases; for ADS-B there are satellites in earth orbit that receive information by planes and allow seamless tracking. Secondary radar is also used in civilian air traffic control to supress invalid radar echos which makes the system way more relieable.

Why is secondary radar called secondary? Usually these transmitters only transmit in case they’re illuminated by a primary radar beam. That way the radio system does collision avoidance for radio messages somewhat in the same way as a token ring network system. Broadcasts are of course also sent periodically if no radar beam is seen for a longer duration - in this case collision avoidance of messages is only based on statistics.

Mode-S is designed in a way to allow - besides broadcasting of an unique identifier, the transponder code also called squawk - carrying arbitrary data. This data can either be transmitted without being requested or as a targeted request and response sequence

There are basically three different main modes of operation:

The broadcast mode (ADS-B) is what’s commonly used and monitored by secondary radar stations, hobbyists and also by the traffic aleart and collision avoidance system (TCAS) that helps to prevent collisions between planes. ADS-B is also used together with the traffic information service (TIS-B) to supply information about planes without active Mode-S transponders which allows airtraffic control to fill the gap about planes present in an airspace to enhance situational awareness of pilots.

ADS-A and ADS-C are basically the same mode. They allow to transmit arbitrary data which is used for example by enhanced navigation systems as FANS. They’re usually not of interest for hobbyist receivers.

How to receive ADS-B messages

Since ADS-B messages are sent over standard Mode-S downlink frequencies they’re usually seen at 1090 MHz. This is a frequency range well covered by DVB-T sticks sold at cheap prices that can be used as software defined radio receivers and that are also covered by tools like the HackRF.

The cheapest method is to use an DVB-T stick equipped with an RTL2832U radio as well as one of the supported frontends. There is an exstensive software package called rtl-sdr that can be used to receive IQ samples directly from the DVB-T stick.

The simplest method to receive short and long squitter is to use the dump1090 tool designed for rtl-sdr hardware. This tool simply received messages and dumps them on standard output for further processing. The sourcecode can also be used for further processing and experimenting. Basically this is all that’s required to receive short squitter (mainly used for collision avoidance, only containing the identity of the plane) and long squitter (used to provide location and direction information about planes).

Receiving short squitter is usually not interesting to hobbyist secondary radar applications as well as for airtraffic control since it really only contains the identity of the plane itself. This is mainly used by TCAS since planes are capable of determining if they’re at an high risk of colliding with other planes and offering a simple but effective solution to prevent the collision. TCAS usually only suggest a fast roll and climb operation - a recommendation that’s followed by pilots immediately without much further investigation since it’s given only in the last moments before a collision. Any collision avoidance by TCAS is usually followed by a accident investigation at airtraffic control.


The main obstacle when receiving ADS-B messages is the antenna. There is a load of different antenna topologies that one can built - but one of the most simple and easiest antennas is the colinear coaxial antenna. Why is this antenna that simple? Because it’s consisting of an arbitrary number of coax cable stubs at which one exchanges shield (outside conductor) and the main conductor in a specific way as well as a single conductor at the top end of the antenna. And since coax cable is usually found at home if one does experimenting with SDRs and is also readily available this is really one of the most simple antenna designs.

Since the DVB-T stick had $75 \Omega$ impedance I also used coax cable with $75 \Omega$ impedance - specifically HQ-135 cable that’s usually found for satellite TV cabling. This cable has a velocity correction factor of $0.82$ - i.e. the speed of a signal inside the cable is about $82%$ of the speed of light in vacuum. The target frequency is of course $1090 MHz$.

This data allows one to calculate the wavelength in vacuum:

[ \lambda = \frac{c}{f} \\\\ \lambda = \frac{3 * 10^8}{1090 * 10^6} = \frac{3 * 10^8}{1.090 * 10^9} \\\\ \lambda = 0,275 m \approx 27.5 cm \\\\ \frac{\lambda}{2} \approx 13.76 cm \\\\ \frac{\lambda}{4} \approx 6.88 cm ]

Applying the velocity correction factor reduces the required lengths in coax cable:

[ \lambda_1 \approx 22.55 cm \\\\ \frac{\lambda_1}{2} \approx 11.28 cm \\\\ \frac{\lambda_1}{4} \approx 5.64 cm ]

Since the topmost stub is built without the shiedling and dielectric layer the velocity correction factor is different, in this case it’s $0.95$:

[ \lambda_2 \approx 26.125 cm \\\\ \frac{\lambda_2}{2} \approx 13.072 cm \\\\ \frac{\lambda_2}{4} \approx 6.536 cm ]

Now one has everything that’s required to build such an antenna. It basically consists of $\frac{\lambda}{2}$ segments with alternating wiring of the shield and the inner conductor - this the term colinear. One can attach an arbitrary number of segments - for this application usually between 8 and 12, more do not lead to any more measureable antenna gain due to cable losses. The topmost end of the antenna is terminated with a $\frac{\lambda}{4}$ dipole element. The antenna I built consisted of 8 $\frac{\lambda}{2}$ elements with a length of $11.28 cm$ for each segment as well as an $\frac{\lambda}{4}$ dipole with a length of $6.536 cm$ at the upper end. It was basically sufficient to mechanically splice the segments together without soldering - but soldering of course leads to a more relieable setup. This setup had an diameter of $12mm$ with a total height of about $1m$

ADS-B antenna without housing

If one does require a lightning protection stub at the lower end one can use an $\frac{\lambda}{4}$ element tied to ground at the lower end. This also provides anti statics protection which is usually a good thing to do. Its also a good idea to add protective casing to the antenna - I used standard electrical installation pipe and glued to F connector at the base of the antenna into the pipe using epoxy glue. The top end was sealed the same way. That way the antenna could be used outside easily.

Being used from within flat inside a large city this antenna received ADS-B messages from more than $150 km$ away during first crude tests and more than $500 km$ away with better antenna positioning - just by using an old DVB-T stick.

Received messages during a first test

This article is tagged: DIY, Electronics, Electrodynamics

Data protection policy

Dipl.-Ing. Thomas Spielauer, Wien (webcomplains389t48957@tspi.at)

This webpage is also available via TOR at http://rh6v563nt2dnxd5h2vhhqkudmyvjaevgiv77c62xflas52d5omtkxuid.onion/

Valid HTML 4.01 Strict Powered by FreeBSD IPv6 support