Today we are here to present to you a kind of tutorial that we expect that can be interesting for all the aeronautical fans.
We have worked for 2 months more or less with a new concept of ADS-B receivers. The concept is named SDR. But we will explain this afterwards.
With this new concept, we have been able to create an ADS-B receiver for such a reduced cost be that cannot be compared to any scenario that someone who knows all about ADS-B receivers could ever imagine few years ago.
In radar surveillance the position is obtained in the ground stations, with or without the collaboration of the aircraft. But with ADS-B the thing has changed and this is where we have the opportunity to receive the position information broadcasted by the aircrafts.
As we can see there are various ways of aeronautical surveillance but the ADS-B is the first which the position of the aircraft is computed inside it and then is broadcasted at every one of the surroundings.
Airplanes need to be prevented from crashing into each other and in the past various different technologies have been used to achieve this. This technology has typically been RADAR, but now there is a new technology called ADS-B that involves airplanes constantly sending, in real time, position and flight information.
The airplanes get their position information using GPS and they broadcast it around so anybody who is sufficiently close to the airplane can receive it.
The purpose of this information is for every relevant entity, such as other planes, to be aware of where the plane is so they can prevent themselves from crashing into each other.
The information sent via ADS-B is not encrypted and is available for anybody to receive. Our project is about intercepting this information, via a commercially available receiver, and visualizing the planes information on a map so that it becomes useful for the general public.
There are currently two prominent implementations of ADS that are inherently different. The first type is controlled by contracts established by the ground station. This system goes by the generic name of ADS‐C. The other form of automatic surveillance is known as ADS‐Broadcast or ADS‐B for short.
There are some major differences between the two systems. ADS‐C reporting is controlled by the ground station in all situations other than emergency contracts. If there are no current contracts with a ground station, the pilot can “arm” the mode and then the mode will affect any subsequent contracts.
ADS‐B as the name suggests operates in a broadcast mode ADS-B, suggests, where the aircraft broadcasts positional information on a regular basis. Any appropriately equipped station, including other aircraft, can intercept ADS‐B reports. The reporting rate for ADS‐B is significantly higher than ADS-C, which makes ADS‐B a good candidate as a pseudo radar replacement system in high‐density traffic situations.
This is where we appear with our cheap RTL-SDR dongle to intercept ADS-B reports and get the information of the aircrafts that overflies the area. Approximately an area of 60 to 80 km can be cover with a little Digital TV antenna.
There are 4 different frame formats of ADS-B codes:
- Airborne Position format: Contains the latitude, longitude and altitude.
- Surface Position format: Contains the latitude, longitude and altitude of grounded planes.
- Airborne Velocity format: Contains velocity and heading.
- Aircraft ID and Category format: Contains flight number and aircraft type.
Depending on the part of the frame denominated “type code” we can distinguish these 4 types of codes.
Some other surveillance messages are broadcasted or transmitted in the frequency of 1090 MHz for the downlink case and for this reason in the frame the first part shows what type of message we have.
To know if the message is of the ADS-B type, we can check the downlink format (DF) that must be equal to 17, for the ADS-B purpose transmissions.
There are some other purposes like SSR Radar Mode S messages, TIS-B messages, etc.
The codes are in hexadecimal format which means that they have to be decoded to get the information, but the only part of the code that have to be decoded with some formulas is the ADS-B data.
Like most of the broadcasted frames, a parity check is needed to correct the errors produced by the noise and some other interferences.
Downlink Format (DF) 17 = ADS-B message.
Receiver frequency = 1090 MHz.
We can see in the next figure an example of ADS-B airborne position message type; this means that it contains the latitude, the longitude and the altitude of the aircraft.
Decoded message of the type Airborne Position Format (dump1090):
CRC: 000000 (ok)
DF 17: ADS-B message.
Capability : 5 (Level 2+3+4 (DF0,4,5,11,20,21,24,code7 – is on airborne))
ICAO Address : 4ca700
Extended Squitter Type: 12
Extended Squitter Sub : 0
Extended Squitter Name: Airborne Position (Baro Altitude)
F flag : odd
T flag : non-UTC
Altitude : 22025 feet
Latitude : 88307 (not decoded)
Longitude: 17204 (not decoded)