SDR flight tracking with ADS-B

Watching ADS-B “flight radar” has been cheap entertainment and a window into the larger world.

ADS-B, in case you didn’t know, is an alternative means for tracking aircraft. (“ADS-B” stands for “Automatic Dependent Surveillance-Broadcast”. Who came up with that acronym?) Aircraft carry an ADS-B transmitter which broadcasts identification and positional information. Aircraft are identified by a 24-bit ICAO address and (optional) call sign. In the case of commercial aircraft, the call sign is typically the airline and flight number. Position is determined by on-board GPS and altimeter data. So, the aircraft is telling ADS-B receivers where it is.

ADS-B is bi-directional, too. In some regions, aircraft may receive temporary flight restrictions (TFRs) and notices to airmen (NOTAMs), for example.

ADS-B data links operate at 1090MHz or 978MHz. 978MHz frequency reduces message congestion on 1090MHz. ADS-B on 1090 is essentially a modified Mode S transponder.

Since ADS-B operates on such high (UHF) frequencies, it is a line-of-sight system. If you have an ADS-B receiver, it will receive only aircraft in sight of the antenna (assuming sufficient signal strength). Because all ADS-B reception is local, web sites like Flight Radar 24 and ADS-B Exchange aggregate ADS-B data from receivers around the world and display current data on a map. That’s how they create the illusion of being global.

The airspace in eastern Europe has been especially interesting. The Ukraine war zone is dark as one might expect for contested — and dangerous — airspace. Occasionally you will see an aircraft fly into Ukraine and immediately kill it’s ADS-B transmission. Conversely, a pilot forgets to turn off ADS-B and you might spot a fighter near the border! Other popular aircraft for trackers include NATO AWACS, drones, tankers and cargo planes.

Let’s say you want to track aircraft in your own nearby airspace. If you have a software-defined radio (SDR) receiver, you’re most of the way there. I have successfully tracked flights in the northern Seattle area using both an RTL SDR Blog V3 radio and a nooelec Nano 2+ SDR. Comparing the two, the RTL SDR blog radio seems to have a wider range and is more responsive than the nooelec Nano 2+.

ADS-B at-home antennas

In addition to a receiver, you need an antenna. I used the bundled antennas which came with the receivers. The nooelec is a vertical whip antenna set to a 1090MHz full wave, 27.5cm. The RTL SDR antenna is a vertical dipole where each element is set to a half-wave. The difference in range may be due to the different antennas. Unfortunately, I don’t have the right coax adapters to mix and match. (Maybe after the next Amazon order.)

ADS-B radio signals are vertically polarized so get those antennas straight up and down!

Finally, the keyword in software-defined radio is “software.” You’ll need a program to tune the receiver, demodulate the ADS-B signal and display the ADS-B data (in either a table or on a map).

After seeing a positive review on the RTL SDR blog, I decided to try SDRangel on Windows 10. SDRangel has come a long way since I first took a look. SDRangel is set up differently than programs like AirSpy SDR# (SDR-sharp). To my point of view, SDR# and other programs like it are intended mainly for voice (audio) signal modes. They make great receivers for wide band FM, narrow band FM and AM. You’re on your own when it comes to digital modes like ADS-B. The SDR# signal processing chain is already set up like a radio and is pretty much ready to go after installation and launch.

ADS-B via SDRangel (north Puget Sound/Seattle area)

SDRangel, on the other hand, requires a little bit of knowledge about the processing signal chain. First you create a workspace to hold the signal chain. Then you create a receiver to tune in a signal. Finally, you create one or more “channels” where each channel is a demodulator. SDRangel provides a wide range of demodulators (plug-ins), one of which is ADS-B.

I recommend trying an audio mode first, just to learn your way around SDRangel. I tuned in a local National Weather Service (NWS) station on 162.55MHz narrow band FM (NBFM) using the NBFM demodulator (plug-in). The NWS station is 24/7 and is fairly strong. None the less, I needed to raise the RF gain and turn off the squelch in order to hear anything. Not the same “out of the box” experience as SDR#.

Once set up, though, turning to ADS-B was a snap. I created a new workspace and put a receiver (tuned to 1090MHz) and ADS-B demodulator into it. I needed to increase the SDR sampling rate to 2,000,000 (hint: set the decimation factor to 1). If you don’t up the sampling rate, you’ll get a red warning message and no ADS-B data.

With this set-up, I can track flights in the north Puget Sound area. The antenna is indoors (house rules), but it will still see quite a few flights between the Sound to the west and the Cascade mountains to the east. I compared the SDRangel output with Flight Radar 24 and was satisfied. Because I was receiving on 1090MHz only, I am missing flights on 978MHz. More experiments to do one day. 🙂

Copyright © 2022 Paul J. Drongowski N2OQT