In this tutorial, we will demonstrate the use of a Crimson TNG for receiving and decoding aircraft transponder messages, known as ADS-B signals, with a program called dump1090. Messages are able to be intercepted using a 1.09 GHz receiver.

In order to demodulate and decode the ADS-B signal collected by your SDR, you will need to download and install the following dump1090 program. See the README file on how to build/install this program for your specific distribution.

We used Arch Linux to install this program using the following commands:

$git clone https://github.com/flightaware/dump1090.git Then, within the dump1090 directory, run make: $ make
For help on using the program or learning what the different parameters do, you can run the following within dump1090:

$chmod a+rw sc16-to-adsb.fifo ## 4. GNU Radio Flow Graph We also needed to create a flow graph in GNU Radio to capture and stream the data to our FIFO device. The GNU Radio program resamples the data to the sample rate required and streams it to the FIFO device which acts as our file sink before being passed to the dump1090 program. This GRC script provides data at 2.4MSPS as complex shorts and appends it to the FIFO file; the script captured at 3.25MSPS, and used a polyphase resampler with an appropriate resampling factor (==2.4/3.25) to resample the data before it streams to the FIFO pipe. The GNU Radio script is found here. It should look like Figure 2 below: ##### Figure 2: GNU Radio Resampler ## 5. Testing dump1090 in Interactive Mode Note In order to use this program with the FIFO device, you’ll need to follow the below steps in order. You need to open the listener (dump1090) before running data to it through the FIFO. 1. Run the dump1090 program using the following command within the dump1090 directory: $ ./dump1090 --ifile ../sc16-to-adsb.fifo --iformat SC16 --modeac --interactive

2. Run the GNU Radio script discussed in section 4 of this tutorial.

3. This will open up a blank window in GNU Radio (do not close this), and also the terminal where the dump1090 program is running will now display ADS-B flight data, similar to what is shown in Figure 3 below:

## 6. Run dump1090 in Production Mode

Note

You will need to input your specific longitude and latitude in the commands below in order to track flights accurately.

Note

In order to use this program with the FIFO device, you’ll need to follow the below steps in order. You need to open the listener (dump1090) before running data to it through the FIFO.

1. For production purposes, we disable interactive mode and use - -net instead. To do this, run the following code with your specific longitude and latitude:

$./dump1090 --ifile ../sc16-to-adsb.fifo --iformat SC16 --lat 43.6589 --lon -79.4529 --modeac --net 2. Run the GNU Radio script discussed in section 4 of this tutorial. You will now have a terminal displaying a continuous stream of all ADS-B signals in your range, similar to the Figure 4 below: ##### Figure 4: ADS-B Production Mode 3. While running dump1090 in production mode and the GNU Radio script, you can also open a separate terminal window and run the following: $ ./view1090 --lat 43.6589 --lon -79.4529 --modeac

This will provide more flight tracking data in a table.