Decoding ACARS: Shortwave
listening (SWL-ing) is not what it used to be.
satellites and the Internet, the high frequency broadcast bands 49
meters, 31 meters, 25 meters, and beyond were alive with news and
commentary from every conceivable point of view, as well as music,
drama and other forms of entertainment. At the time of this writing (2017), the most recent major
broadcaster to abandon shortwave is Radio Australia. The majority of the world is unaware of this event,
but to dedicated shortwave listeners the demise of Radio Australia was
a cruel blow.
While shortwave broadcasting has
steadily declined, the challenge of shortwave listening remains strong.
The number and variety of listening targets continues to fill
books such as the World Radio TV Handbook. Furthermore,
many services and modalities exist today that were not imagined during
the heyday of shortwave broadcasting. Instead of voice and music one
can receive weather satellite images, as I described here,
or images from the International Space Station, or position reports
from ships at sea, or countless other services. Ham radio has also
changed. In addition to Morse code and voice, multiple digital signal
modes can be found across the amateur radio bands.
I described receiving data from aircraft on 1.090 GHz (ADS-B). The
FAA has mandated that all US aircraft be equipped with ADS-B by the
year 2020 (AOPA). However, aircraft also
transmit data via a long-established system called the Aircraft Communications Addressing and
Reporting System (ACARS). This system operates on various
frequencies in the aircraft
mode is AM. ACARS frequencies range from a few
megahertz below the marine VHF band, so a marine band
antenna should work well enough to explore the modality. As a first
step I connected a small masthead-type marine VHF antenna to the
NooElec dongle, and tuned SDR# to the primary worldwide ACARS frequency
131.550 MHz. Right away I heard intermittent beeps or buzzing sounds.
The next problem was to locate and install ACARS decoding software.
Previously for ADS-B decoding
I had installed ModeSDeco2.
Turns out there is a companion piece called ACARSDeco2.
The ACARS decoder works similarly to the ADS-B decoder, in that the
software does not rely on an external receiver or SDR, and like
ModeSDeco2 it formats decoded data for display in a browser. ACARSDeco2
is able to decode signals from up to three nearby frequencies
concurrently. At first I was surprised to see only textual data in the
program’s output. I had imagined there might be graphs or a map in the
browser view. This misconception led to an abortive attempt to
integrate the decoder with a virtual radar application, a sidetrack
that was not particularly instructive.
A subsequent Internet search revealed another decoding application
that seemed to be more widely used than ACARSDeco2. I was curious as to
differences might exist between the programs. The acarsd decoder does
not have a built in SDR, rather uses a sound channel for input.
Therefore I configured SDR# as its signal source (same antenna and
as before). However, nothing decoded. Various discussion threads
suggested that if there are no decodes, it is likely that the wrong
sound source has been selected. But this could not have been so, as I
was able to change the indicated
(on the acarsd status bar), by increasing or decreasing the volume in
SDR#. Sources also gave different recommendations for the
level; some said that background static should be less than 10 while
others said more than 20 (as indicated in acarsd). I tried very soft to
very loud and everything in between.
Over the course of two half days I varied every conceivable setting,
although I had read that the program should simply work without
changing anything, unless necessary to specify a non-default
sound source. There was not a single decode! All I ever saw was the
pretty startup screen, unless of course I cleared it or selected a
different screen. Tables of messages received and processed, etc. were
filled with zeros.
My wife N4EFS
who is good
with coercing recalcitrant software to do what it is supposed to do
offered to have a go at acarsd. However, I
did not want to be embarrassed by her solving the problem in a matter
of minutes after I had spent hours on it, so I
explained that the configuration utility was a separate executable, not
an option within the acarsd program. Back and forth configuration and
testing would be a time consuming effort. Then, somehow the threat of
having help triggered a thought. With a different signal source, acarsd
testing could be freed from dependence on the
SDR. Another obvious advantage would be that the two
programs could be run at the same time on the same computer, one with
the dongle and the
other with a separate receiver.
To test this idea I connected a 2-meter
JPole antenna to our Icom
and ran a patch cable from the radio’s external speaker jack to the
computer’s primary sound card line-in jack. Success! On tuning the R100
to an active ACARS frequency, the program immediately began decoding
signals. Its volume indicator was in a range previously tried. In fact,
volume doesn’t seem to matter much. In the illustration above, the
volume indicator reports 15 (card 1, left channel). To the ear, signals
from the R100 sound about the same as those from the RTL-dongle with
SDR#, maybe a little more bass. —I
have not tried a different SDR.
As previously mentioned ACARSDeco2 can monitor up to 3 frequencies.
However, it decodes more messages than acarsd does at
the same frequency.
The comparison is not fair, of course, different antennas, likely
different receiver sensitivities, different sound bandwidth and level,
etc. On the other hand the acarsd program retrieves supplementary
information from the
Internet to produce an enhanced display, such as for example, to
include origin and destination airports for a flight. This results in a
more satisfying user experience.
- In the part of the demo where both applications are shown
side-by-side, sound is from the external receiver (131.725 MHz).
Project descriptions on this page are intended for entertainment only.
The author makes no claim as to the accuracy or completeness of the
information presented. In no event will the author be liable for any
damages, lost effort, inability to carry out a similar project, or to
reproduce a claimed result, or anything else relating to a decision to
use the information on this page.