Tracking Aircraft with an SDR

 Introduction

Given the recent US/China Balloon Incident it seems an opportune moment to discuss tracking aircraft with an SDR (Software Defined Radio) using the ADSB technology deployed in almost all commercial, private and military aircraft.

Last night the US shot down the balloon which had crossed the continental US - in reality, a bizarre event - I do not know of another occasion in living memory that the US has had to use missiles to shoot down an object over it's own territory. Even during WW2 when Japan launched balloons against the US mainland, these were never shot down.

Whatever the ramifications of this remain to be seen but it was interesting to note many media outlets making use of ADSB tracking data through the Flight Radar 24 website. What many people may not realise is that to track these aircraft with your own equipment is actually a trivial matter and takes no time at all to set-up.

This post covers the basic setup and configuration of an SDR receiver to acquire and present ADSB data on a map - allowing users to track aircraft in real-time.

It should be noted that there are a number of factors which may affect reception of data from some aircraft - for example, Military planes may not always transmit ADSB data - for obvious reasons. The ability to receive data is also impacted by objects between the receiver and transmitter - low flying aircraft are sometimes difficult to pick up depending on their location - especially around take-off and landing phases - unless you are in direct line of sight of the airport.


How does it work?

As is a common theme with using SDR (or indeed, any equipment capable of receiving radio communications), the process is always the same:

Note: It is possible to purchase pre-configured "kits" to receive ADSB but I prefer to discuss using a generic SDR/process as these are multifunctional and allow for more exploration of other parts of the RF spectrum.


Receive

  1. Plug in an SDR Dongle.
  2. Install the drivers.
  3. Connect the dongle to a suitable antenna (those which come with the dongle are perfectly adequate).

Unlike my recent post on FT8, that's it for the receive element. No further steps are required. 


Decode

Dump1090 handles tuning and decoding by default. You simply have to download the application, extract the files from the zip to a folder and execute (run) the file.

Providing everything is correctly installed and there are aircraft in range, you should see something similar to the image below. I will discuss each field below.



IACO: This is a unique designation allocated by IACO (the UN aviation organisation) identifying each aircraft irrespective of operator or callsign.

Callsign: The callsign for the specific flight. Typically comprising of a code relating to the operator, for instance "KLM" with the flight number appended. It is these codes you will hear on airband radio whilst the pilot communicates with the ground. It is quite simple to identify military aircraft as their callsign is usually a codeword.

Reg-num: Always blank, we can ignore this field.

Altitude: Height above sea-level in feet.

Speed: Airspeed in knots.

Lat/Long: Latitude and longitude of the aircraft (position) - this is used to plot the location of the aircraft at any given point in time.

Hdg: Direction the aircraft is pointing - for instance, "true north" would be 0 or 360 degrees, south, 180 degrees and so on.

Dist: Dump1090 will attempt to calculate distance from your receiver if you specify your own latitude and longitude. Sometimes it gets this wrong - I have no idea why, looks like a bug. Doesn't matter a great deal as we deal with this in the next stage - presentation.

RSSI: Relative signal strength indicator - essentially, how strong the signal is. The closer to zero, the better. As you observe this window you will be able to determine if an aircraft is approaching (number is closer to zero) or moving away - further away from zero. 

Msg: Count of the number of messages received from the aircraft since it was "spotted".

Seen: The ADSB protocol sends messages more or less continuously - location, bearing, speed and so on. Whilst receiving a strong signal from an aircraft, this will usually be zero or just a couple of seconds. When the signal starts to weaken due to distance or objects between the receiver and transmitter (you and the aircraft), this may increase or simply not receive any more messages. After 30 seconds with no messages, Dump1090 will stop showing data for the aircraft. 

Note: In cases where an object is blocking the signal and it is subsequently re-acquired, the aircraft will reappear in the list. 


Note 2: By default, Dump1090 is configured to show a different view to that in the above screenshot - In the example below, it is simply showing every received message - these are often meaningless to the recipient and need to be processed and displayed as above. 


This can be overcome very simply by creating your own batch-file to tell the programme how you want it to work.

This is a straightforward task and can be completed as follows:

1. Open Notepad.
2. Copy and paste the following text:

dump1090 --interactive --net 

3. Save the file with whatever name you want (in the example below dump1090 BATCH.bat) and as type "All Files". This should be saved in the folder you extracted Dump1090 to.



4. Double click the file you have created to load Dump1090.





Presentation

Not everyone (myself included) wants to track aircraft in a terminal window as above, most of us are happier seeing this information presented on a map. As the data flows in real-time from aircraft, it is interesting to see their movements, course corrections and so on.

I use Virtual Radar Server to do this. 

There are very few steps required to get this up and running.

1. Download and Install Virtual Radar Server.
2. Open the programme and go to the Tools - Options menu.
3. On the receivers tab, click Wizard


4.
Select the following as you complete the Wizard -

  • What kind of receiver do you want to connect to? - A Software Defined Radio.
  • Which decoder programme are you using with the SDR? - Dump1090.
  • Is the SDR running on this computer? - Ensure Dump1090 is running and receiving aircraft data then select "Yes" and hit next.


That's it. You should now exit the Options menu and will see a screen similar to this one.




There are two things to note here - 

1. The blue link in the middle of the screen, clicking this will open an internet browser window to display your tracked aircraft on a map.

2. Under Feed Status you should see Receiver and Connected - anything else suggests an error somewhere in following these instructions.


At this stage you should be able to see something similar to the image below. 






Finally

This post should help you get up and running with the basics of installing and configuring ADSB reception and display on a computer.

Dump1090 is available for Android and works incredibly well with the dongle plugged into a mobile phone.

Configuration options for the map can be found in the browser under Menu - Options. This allows you to, for instance, define your location meaning the distance in Dump1090 becomes irrelevant. 

I have used this to configure what info is displayed for each aircraft - for example, changing knots to MPH. There are many configuration options but these are all personal preferences so do experiment with what works for you.

Finally, if you want to share this data, Virtual Radar Server allows you to share it online "Put onto internet" or to share with ADSB exchange services. I haven't shared my data myself as I run flight-tracking infrequently but have tested it over the internet and found it works very well.


Comments

Popular posts from this blog

ADSB - Flight Tracking - Quick Links

OpenWebRX - SDR