Over on YouTube icholakov has uploaded an informative video that gives an overview of the main communication modes that aircraft use from HF to UHF. In the video he also gives examples of those modes being received and decoded with an SDR.
The modes that he explains and demonstrates are VHF voice, VHF ATIS automated weather, ACARS short data messages, HF voice, HF automatic weather, HF data selective calling (SELCAL), HF data link (HFDL) and UHF ADS-B aircraft positioning.
JAERO is a program by Jonti that was released late last year which allows us to use a SDR such as an RTL-SDR to receive L-band and C-Band AERO messages. AERO is essentially the satellite based version of ACARS, and the L-band signals contains short ground to air messages with things like weather reports and flight plans intended to be transmitted to aircraft. The C-band signals are the air to ground portion of AERO and more difficult to receive as they require an LNB and large dish. However they are much more interesting as they contain flight position data, like ADS-B.
The JAERO decoder for AERO signals on Inmarsat satellites has recently been updated to version 1.03. This new version supports the decoding of 10.5k Aero-H and Aero-H+ signals. The author of JAERO Jonti writes that on these channels he’s seeing significantly more traffic than on the narrowband signals and that he was suprised to see that other non-aircraft messages such news was broadcast on this 10.5k signal. Jonti writes about his experience in developing the 10.5k decoder and his experience with receiving the messages in this post.
Back in August of this year we showed how it was possible to use an RTL-SDR dongle, satellite antenna, LNA and decoding software to receive and decode STD-C EGC signals from Inmarsat satellites. We also showed how it was possible to modify a low cost GPS antenna to use as a satellite antenna.
JAERO is a program that demodulates and decodes Classic Aero ACARS (Aircraft Communications Addressing and Reporting System) messages sent from satellites to Aeroplanes (SatCom ACARS) commonly used when Aeroplanes are beyond VHF range. Demodulation is performed using the soundcard. Such signals are typically around 1.5Ghz and can be received with a simple low gain antenna that can be home brewed in a few hours in conjunction with a cheap RTL-SDR dongle.
In the advent of MH370, Classic Aero has become a well-known name. A quick search on the net using “Classic Aero MH370” will produce thousands of results. The Classic Aero signals sent from satellites to the Aeroplanes are what JAERO demodulates and decodes.
Unlike the usual VHF ACARS, with SatCom ACARS you can not receive signals from the Aeroplane only the people on the ground talking to the people in the Aeroplane. This means you do not get the airplanes reporting their position. Instead you tend to get weather reports, flight plans, and that sort of stuff. Just like VHF ACARS they usually use cryptic shorthand notation. For example “METAR YSSY 040400Z 08012KT 9999 FEW040 SCT048 23/09 Q1024 FM0500 05012KT CAVOK=” is the weather report for Sydney Airport in Australia in a format called METAR. It tells you the time, when the report was issued, the wind direction and speed, visibility, clouds, temperature, due point and air pressure. Then it says from 5 AM UTC the wind direction and speed and that the weather will be nice. There are sites such as Flight Utilities that can decode such information and display it in a more understandable format.
In his post Jonti also shows how he uses a modified GPS antenna to receive the AERO signals.
We gave JAERO a test and found that it decoded AERO signals easily, even with low signal strength. To use JAERO tune to an Inmarsat AERO signal in SDR# or a similar program using USB mode. JAERO will listen to the audio from the sound card or from a virtual audio pipe. We recommend setting the AFC (Automatic Frequency Control) setting on on if you find that your RTL-SDR drifts too much.
AERO signals can be found at around 1545 MHz. They only use about 800 Hz in bandwidth. See UHF satcoms page for a list of AERO frequencies.
Remember that some R820T/2 RTL-SDR dongles can have problems when receiving this high, especially when they heat up. If you find that your dongle gets deaf at these L-band frequencies try cooling the R820T/2 chip with a heatsink or fan. The Airspy or SDRplay RSP software defined radios are better choices for decoding signals this high, but the RTL-SDR will work fine if your signal strength is decent and the R820T/2 chip is kept cool.
If you are interested in VHF ACARS as well, then we have a tutorial about decoding that here.
Over on YouTube user k2nccvids has posted two videos showing how he was able to decode High Frequency Data Link (HFDL) packets using the RTL-SDR, Ham-it-up upconverter, MultiPSK and HFDL Display. HFDL is a service similar to ACARS but sent over HF frequencies. It is used to sent short messages to and from aircraft and ground stations.
In the first video k2nccvids uses MultiPSK with the RTL-SDR directly and also uses the add on software HFDL Display to more clearly view received HFDL packets. In the second video he uses SDR-CONSOLEv2 to monitor three HFDL frequencies simultaneously, with MultiPSK and HFDL Display still being used for decoding and display.
Acarsdec is a recently released open source, multi-channel realtime ACARS decoder for Linux. It supports direct input from an RTL-SDR dongle, and with the RTL-SDR can listen to four ACARS channels simultaneously. It’s official feature list includes
– up to four channels decoded simultaneously
– error detection AND correction
– input from sound file , also sound card or software defined radio (SDR) via a rtl dongle
Multiple frequencies scanning is now supported (by providing multiple -f arguments at command line and -l ). Since there is no audio output and it’s hard to determine right squelch level, a squelch debug option (-r) is implemented. Use it to experiment with squelch value, it’s simple: good squelch values flood stdout with “hopping freq!” messages yet avoid too high squelch levels. In general, values between 20-30 work good with my setup (big city, lots of radio interference, NOAA turnstile which gives -3db due to rhcp polarization).
Aircraft and airline databases now supported (using the acarsdec builtin ones). DBs are text files using simple format, so you may easily update them. I would very much appreciate your help to keep that up-to-date.
Certain improvements in frequency hopping code as compared to rtl_fm, but don’t expect wonders, it takes time to retune so data loss is not avoidable especially if you provide lots of frequencies to scan or huge ranges.
A simple Makefile to make it simpler 🙂
In the future gat3way hopes to support the decoding of multiple ACARS channels as well. The updated rtl_acars software can be downloaded from github here.