AcarsDeco2 - up to 3-channels ACARS SDR receiver for RTL2832 dongle

sergsero

New Member
AcarsDeco2 v.20150718

+ used new versions of the boost 1.58 libraries
+ used Microsoft Visual Studio 2013
+ fixed some bugs

When you try to launch acarsdeco2 you can get an error that msvcp120.dll or/and msvcr120.dll is missing in your OS.
Please, download the Visual C++ Redistributable Package for Visual Studio 2013 from the Microsoft site: https://www.microsoft.com/en-US/download/details.aspx?id=40784.
You will need to install file of 32 bit version vcredist_x86.exe regardless of what bitness have your operating system!
The Visual C++ Redistributable Packages install run-time components that are required to run applications that are developed by using Visual Studio 2013, on computers that don't have Visual Studio 2013 installed. These packages install run-time components of libraries.

In the archive acarsdeco2_xp.exe is the same program, but was compiled with Platform Toolset property to Visual Studio 2013 – Windows XP (v110_xp) for compatibility with windows XP.


+ added display of supplemental information and live data, extracted from ADS-B messages the same aircraft. If simultaneously with the ACARS this aircraft transmits ADS-B messages and they are received and processed by VRS, then specifying its URL, you can see some of this information in acarsdeco2 WEB server.

+ added by default the ability to take images of the aircrafts from the fixed local directory static/photos. To do this, put your collection of images of aircrafts in the static/photos directory. The image files must have the .jpg extension. If used the option --vrs-url <arg> in command line, then the ability to taking the images from local directory will disabled and they will be taken from the specified VRS.
+ added option --pictures-url <arg> for the ability to take images of the aircrafts from site, which can issue their by http requests
+ added option --no-empty for filtering messages without data Mode: 2 (50), Label: Q0 (ACARS link test)
+ added picture-plug for aircraft for which there is no image in the collection
+ changed filtering uplink messages from ground stations

This is console (command line) up to 3-channels ACARS software defined radio (SDR) via a RTL2832 dongle receiver and decoder program that can do, for example:
C:\>acarsdeco2.exe --gain 38.0 --freq-correction 65 --freq 131550000 --freq 131725000 --http-port 8090 --vrs-url http://192.168.1.10:8080 --udp 127.0.0.1:9742 --net 30008

--gain 38.0 - setting gain for receiver R820T. Determine the optimal value for your receiving conditions once, for example, in SDRSharp,
--freq-correction 65 - correction of dongle internal oscillator. This is absolutely critical accurate adjustment for multi-channel receiver,
--freq 131550000 --freq 131725000 - frequency of ACARS channel (up to 3),
--http-port 8090 - set the port number for HTTP server. Default 8080,
--vrs-url http://192.168.1.10:8080 - network address of VirtualRadarServer for getting aircraft pictures in the WEB window,
--udp 127.0.0.1:9742 - set UDP client for transmitting ACARS data to PlanePlotter,
--net 30008 - set TCP server for transmit data in Kinetic SBS-3 ACARS format on port 30008.

microsoft_64_new.jpg

arm.jpg

linux.jpg

macosx_1.jpg


In order that the program functioned in full is required:

1. Download the full not unzipped archive acarsdeco2_xxxx_20150718.zip from Google disk onto your PC.
2. Unzip it to any directory, keeping the structure of all subdirectories and their contents.
3. Depending on your operating system, use the appropriate .exe file.

In the sub-folder "datasets" are the files that can be edited, if the information is outdated. Data should be separated by commas. Each data string must start on a new line with keeping the original format.

acarsdeco2_20140807.png
 
Last edited:
1. Do you downloaded the full archive acarsdeco2_windows_20140403.zip and unzipped it to any directory, keeping the structure of all his subdirectories and their contents?
2. The program has a built-in algorithm of calculation the optimal gain and threshold based on continuous determine the level of background noise and signal. Needs to add the same procedure by the efforts of the dongle - should be defined in real conditions of signal receiving.

Usually it's better do not use automatic gain control (by default) of receiver chip R820T and to specify the fixed starting gain level and then the program will be to control his yourself.
 
Last edited:
In fact, in program there is no limit on the number of simultaneously receiving frequency. However, each new channel reception increases the load on the CPU. And the value "3" is a compromise between the number of receiving channels and the use of computer resources. You can specify in command line more than three frequencies, if you have a powerful computer.

Another limitation is in the dongle's hardware - maximum bandwidth may not be wider than 2.6 MHz for to prevent dropping packages. It means that the frequency interval between the channels with minimum and maximum frequency cannot be more ~2.2 MHz (depends on the specific instance dongle). At the moment, for reception of channels with a significant difference in the frequency should use two or more copies of the program, specifying a different device number of dongles.
 
and does the software will compare all of the data from the different copies of the program? if not i hope you will build it in.
the major frequency are:
131,525 ACARS SITA AIRCOM En-Route Frequency Europe
131,550 (Wikipedia say this is an Acars Frequency to)
131,725 ACARS SITA AIRCOM Base Frequency Europe
131,825 ACARS ARINC Main Base Frequency Europe
131,850 ACARS Europe

and:
136,750 ACARS Europe
136,900 ACARS SITA AIRCOM Terminal Frequency Europe
136,925 ACARS ARINC Main Base Frequency Europe

so i know i need minimum 2 dongle for.
And my good old boring 2Ghz Dual core CPU need olny 18% to decode 5 ACARS Frequency so i dont care about...

For Europe the 2 frequency are very edge together maybe you can shrink the bandwidth to get better result?

And is there any logfile who save on the PC?!
 
Error correction of RTL dongle oscillator for ACARS receiving in AcarsDeco2

To successfully receiving ACARS signals by RTL dongle, in addition to using the proper antenna-feeder device, need to determine the true value of error correction of dongle oscillator in PPM.
RTL2832 tuner has oscillator error is 30...90 PPM, relatively stable once warmed up, and stable from day to day for a given dongle. Perform a one-time calibration of dongle oscillator is usually not difficult. This can be done in the program SDR#.

The signals may not appear exactly on, for example, 131550 kHz or 131725 kHz labels of tuning scale, since of error dongle oscillator. Move the red vertical line at the top of the FFT screen so that it was several left or right of the vertical axis of the window to avoid the effect of central peak near DC component.
At the top, at the dial scale set one of ACARS frequency, for example, 131.725.000.

To do calibration in SDR# desirable with parameters that are close to real, when acarsdeco2 will running. Set the receive mode to AM, bandwidth to 10.0 kHz. So, click on "Configure" and set the "Sample Rate" in 1.4 MSPS. Click "Play" to start it. Adjust slider bar "RF Gain" until you get good reception of the ACARS signals.
ACARS signals look like small horizontal multicolored lines on the waterfall and if you are listening to its through your speakers, they will just sound like blips of noise.

When you zoom its (Use "Zoom" knob to) becomes clearly visible the structure of the amplitude-modulated signal of two symmetrical sides (LSB/USB) and the carrier frequency in the center.
The optimal RF gain such that the signal is strong, but the noise floor is low.

Then start clicking the up/down arrows next to "Frequency correction (ppm)" until the actual signal lines up so that the red line is right in the middle of the line of the signal on signal-carrier frequency:

acars_signals_sdrsharp_ppm_error_corr_1.jpg


Once it lines up you should be good to go. Close the "Configure" screen, stop SDR# and exit it.
 
Last edited:
I will think how to merge multiple data feeds from the different copies of acarsdeco2 in one window and logfile.
 
Maybe it helps if you ask --help

C:\>acarsdeco2.exe --help
AcarsDeco2 v.20140403
Program options:
-h [ --help ] This Help message
--device-list List Available devices
--device-index arg Select RTL device (default: 0)
--freq arg Set Frequency, Hz. Specify option --freq multiple times to Multiple Channels (--freq XX --freq YY ..)
--gain arg Set Gain in Receiver, dB (default: auto)
--agc Enable Automatic Gain Control in RTL (default: off)
--freq-correction arg Set Frequency Correction, ppm (default: 0)
--no-uplink Don't display Uplink messages (default: on)
--no-sq Don't display label SQ messages (default: on)
--logfile arg Set Log filename (default: off)
--net arg Enable Network-Server on port (default: off)
--no-console Disable logging on Console (default: on)
--http-port arg Set port for HTTP server (default: 8080)
--vrs-url arg Set VirtualRadarServer URL for aircraft images, Example: http://example.com (default: off)
--udp arg Set PlanePlotter UDP server address, Format: Address: Port (default: off)

The default entry in the log file is disabled. Just add the command line option: --logfile <arg>
The <arg> can be any word (with or without path), for example, my_asars_log and the program will create a log file like this: my_asars_log-20140712-103118.log adding to name the date and time of creation in UTC.
 
Last edited:
The number of this UDP port know only you and no one except you, because only you have set it in your PlanePlotter. Or it is better not to change and use the one that has the default, namely, 9742. And IP is address of computer with running PP.
Do not forget to put a tick in the checkbox UDP/IP data from net.
PP_udp_port.png
 
thx in my case its 30001
maybe you would make an pdf with all the instructions to help other. there are so many thins to do its amazing

EDIT:: Sorry can you set an expample it i try many different ways but it dont work.
EDIT2:
Code:
--udp 127.0.0.1:30001
 
Last edited:
Works for me in the moment:
acarsdeco2.exe --gain 33.8 --freq-correction 65 --vrs-url http://192.168.64.85 --freq 131550000 --freq 131725000 --udp 127.0.0.1:9742
acarsdeco2_PP_udp_port.png


Try setting the port number in PP default: 9742
 
1. In a dongle there are two chips. The first, if you look from the antenna, have a receiver R820T or E4000. Second - Realtek RTL2832U.

2. The option --gain refers to receiver and it can be explicitly specified by user as the value in decibels. Or you can rely on the ability of receiver chip to determine himself if you chose in settings <--auto>.

3. The option --agc (automatic gain control) refers to the RTL chip and can be only in two variants: on or off. When you do not specify in command line none of these options, will using the <--auto> for receiving chip and <off> for RTL.

However, better results of receiving quality can be achieved if there is a specific value of --gain for the receiver according to your conditions.
 
i use the same on SDRä its 42db and it look like i recive less messages than with Planeplotter via VBCable.
I wait until it get the splitter for the antenna than can i use both reciver on the same time.
 
Back
Top