Many thanks to SWLing Post contributor, Mike Ladd (KD2KOG), who shares the following guest post. Note that the following tutorial is also available as a PDF (click here to download).
Basics to decoding Inmarsat L-Band signals using the RSP SDR
by Mike Ladd
Note: CHECK WITH YOUR LOCAL LAWS BEFORE DECODIING ANY SIGNALS FROM THE INMARSAT SYSTEM
SDR: RSP1a SDR from SDRplay? https://www.sdrplay.com/rsp1a/
Antenna: Modified GPS patch antenna for L-Band from SDR-Kits, model A154.? https://www.sdr-kits.net/L-Band-Receive%20Antenna
VBcable (Donationware) vPack43
VAC (Paid for use) v4.60
JAERO (Free) v18.104.22.168
Tekmanoid STD-C Decoder (Paid for use) v1.5.1
Requires Java JRE, check your local laws before using this decoder.
(some text taken and edited from the RTL-SDR Blog website)
This document is not a definitive guide to Satcom, L-Band transmission or the Inmarsat system. This is a collection of information that I have found scatter throughout the internet and re-compiled into a document, this document. My aim is to help you get started and hopefully guide you in the right direction. Expect typographical mistakes, inaccuracies, or omissions
Inmarsat is a communications service provider with several geostationary satellites in orbit. Inmarsat provides services such as satellite phone communications, broadband internet, and short text and data messaging services. Geostationary means that the Inmarsat satellites are in a fixed position in the sky and do not move.
The Inmarsat 3-F(x) satellites have transponders transmitting data in L-Band (1.5 GHz) that can be decoded.
The modes we will cover in this document are Aeronautical (Classic Aero or ACARS) and Inmarsat-C (STD-C) using an RSP1a, RSP2/2pro or RSPduo connected to the SDR-Kits modified L-Band patch antenna. The Inmarsat system is not limited to only these types of networks. We are limited to the decoders available.
Some regions that use the I-3 satellite services moved and migrated to the Inmarsat I-4 Satellites. See the following document. https://www.inmarsat.com/wp-content/uploads/2018/09/INM_C_I3_I4_migration_guide_V3.0.pdf
Two of the most popular decoding applications are JAERO used for ACARS and Tekmanoid STD-C Decoder used for decoding STD-C NCS transmissions on the Inmarsat 3-F(x) satellites
Virtual Audio Cable: A virtual audio cable allows you to pipe audio from application (SDRuno) into another application (a decoder like JAERO) digitally. I will assume SDRuno is already installed with your device attached and functioning properly.
You can now download a virtual audio cable package. If you already have a virtual audio cable package installed, you can skip to the next section. If you don’t have a virtual audio cable application installed, you only need to choose one and only install one of the two, either one works fine
Close any running apps, install the virtual audio cable and reboot your computer. When your computer boots back to your desktop, your computer will now have a virtual audio cable pair installed on the system.
You can verify by going to your Control Panel and double clicking the Sound icon. VB-Cable and Virtual Audio Cable will only install a single virtual audio cable pair, one is for the input (Recording) and one is for the output (Playback). A single pair is all that is needed (as shown below).
(some text taken and edited from the JAERO website)
JAERO is a program that decodes ACARS (Aircraft Communications Addressing and Reporting System) messages sent by satellites (in this case Inmarsat) to Airplanes (SatCom ACARS). This is commonly used when airplanes are well beyond VHF range.
JAERO also allows for decoding and demodulation of voice calls, due to local laws and privacy, I will not show or discuss how to do this. You can find more information about that JAERO feature online.
JAERO can be downloaded from the link provided on the first page of this document. After downloading the installer, simply double click the setup file and install it on your primary drive.
Tekmanoid STD-C Decoder
(some text taken and edited from the USA-Satcoms website)
Inmarsat STD-C is a data or message-based system used mostly by maritime operators. An Inmarsat C terminal transmits and receives on L-Band to various geosynchronous satellites that service each major ocean region.
The Tekmanoid STD-C decoder will decode STD-C Inmarsat EGC (enhanced group call) and LES (land earth station) messages. Some of these messages contain private information. Reception of these messages may not be legal in your country; therefore, your local laws should be checked.
The Enhanced Group Call (EGC) service is a message broadcast service with global coverage (except the poles) within the Inmarsat-C communications system. Two of the services provided are:
FleetNET and SafetyNET
FleetNET is used to send commercial messages to individuals or groups of subscribers (for example, individual companies communicating with their own Mobile Earth Stations (MES). SafetyNET is used for broadcasting Maritime Safety Information (MSI) such as Navigational warnings, meteorological warnings, meteorological forecasts and other safety related information (including Distress Alert Relays) from official sources.
The LES station acts as an interface (or gateway) between the Inmarsat space segment and the national/international telecommunications networks.
The Tekmanoid STD-C decoder requires Java JRE in order to run. The link for the Java runtime environment is on page 2 of this document. For information contact the developer direct email@example.com
There are alternatives to using the Tekmanoid STD-C decoder, but in my opinion the other decoders available do not perform as well on low end systems or even work without needing “helper” applications to be installed. Tekmanoid STD-C decoder is very easy to use and works great on my low-end system using minimal system resources.
Putting all the pieces together
ACARS and STD-C messages will transmit via the Inmarsat satellite deployed within your coverage area/region, you will need to choose the Inmarsat satellite that is closest to your coverage area.
Note that only different frequencies are used between ACARS transmissions and STD-C transmissions. You will only need to receive from one of the available 3-F(x) Inmarsat satellites.
L-Band ACARS transmissions are in the 1.545 GHz range but STD-C messages are on fixed frequencies (shown on page 8)
Since STD-C transmissions are broadcasted on fixed frequencies, we want to monitor the TDM NCSC channel, again these are fixed for the following Ocean Regions. Choose the region closest to your location (page 9).
Again, some regions that use the I-3 satellite services moved and migrated to the Inmarsat I-4 Satellites. See the following document. https://www.inmarsat.com/wp-content/uploads/2018/09/INM_C_I3_I4_migration_guide_V3.0.pdf
STD-C transmissions are broadcasted on fixed frequencies, NCSC channel. The NCSC frequency per region is noted below.
Inmarsat satellite: Inmarsat-4 F3 (AOR-W)
Direction: 98° West
Frequency: 1.537.70 GHz
Inmarsat satellite: Inmarsat-3 F5 (AOR-E)
Direction: 54° West
Frequency: 1.541.45 GHz
Inmarsat satellite: Inmarsat-4 F1 (IOR)
Direction: 25° East
Frequency: 1.537.10 GHz
Inmarsat satellite: Inmarsat-4 F1 (POR)
Direction: 143.5° East
Frequency: 1.541.45 GHz
I will assume you have located the Inmarsat satellite that covers your region. I suggest using a compass on your mobile phone to pinpoint the general direction. The direction is in ° (degrees). I am referencing true north, not magnetitic north (traditional analog compass). https://en.wikipedia.org/wiki/Magnetic_declination
You can also download an app for your smartphone called Satellite AR (Android and IOS). After you locate the correct direction of the Inmarsat satellite, you will want to place the L-Band patch on a flat metal surface. I have read that the receive pattern of this patch antenna is z (about 85-90°, straight up). Point the top of the antenna facing the Inmarsat satellite. Using the roof of my car worked just fine, just remember to point the front of the antenna at the satellite.
Launch SDRuno and click the PLAY button, remember that if the RSP(x) is in ZERO IF mode, give frequency separation between the VFO (top frequency) and LO (bottom frequency). In LOW IF mode this is not needed. I suggest running a sample rate of 2 MHz, larger bandwidths are not needed.
The SDR-Kits patch antenna requires that the RSP(x) Bias-T be enabled. The Bias-T option is enabled within the MAIN panel of SDRuno. See the SDRuno manual located here. https://www.sdrplay.com/docs/SDRplay_SDRuno_User_Manual.pdf view page 17.
With the Bias-T enabled. Set the RSP(x) RF GAIN to max. The RF GAIN slider is located on the MAIN panel. See the SDRuno manual located here. https://www.sdrplay.com/docs/SDRplay_SDRuno_User_Manual.pdf view page 17.
For more information about the RF GAIN settings of the RSP(x)
Select the Virtual audio cable as the output in SDRuno, this is selected via the RX Control panel. SETT. button and clicking on the OUT tab.
Have SDRuno’s Volume slider (RX Control) at about 35-40%
Upper sideband is recommended but I found the best mode to use for L-Band ACARS or L-Band STD-C decoding is DIGITAL with a filter width of 3k.
Be sure to set a proper step size (right click the RX Control frequency readout). The step size is not important for STD-C transmissions because these signals are only on one frequency for the satellite in your region but L-Band ACARS signals will be on many frequencies. Setting the proper step size will avoid issues when you point and click on signals you want to decode using the JAERO decoder.
You will want to center the signal with a little breathing room within the AUX SP filter passband. The filter slopes are very sharp. Keep the signal centered and away from the extreme edges (red markers).
Select your virtual audio cable within the decoder’s audio input preferences.
The Tekmanoid STD-C decoder sound properties are located under Settings in the toolbar menu.
JAERO’s sound settings is located under the Tools menu and Settings.
For STD-C decoding use the frequency from page 8 of this document, remember we only want to monitor the TDM NCSC channel in the Tekmanoid STD-C decoder.
For JAERO decoding, I suggest you start in the 1.545 GHz portion and observe the constellation in the JAERO decoder.
The signal to noise ratio (SNR) needed for successful decoding in these decoders will need to be greater than 7dB. When working with a weak satellite signasls, try decimating the signal using SDRuno’s decimation feature. (MAIN panel, DEC).
L-band frequency bank
I hope this document helps you get started decoding Inmarsat L-Band transmissions from the I3-F(x) satellites. I am sure I missed some key features, remember this is only a primer/basics to decoding these types of transmissions.
Warmest of 73,
Many thanks for sharing your tutorial here on the SWLing Post, Mike! This looks like a fascinating activity that really requires little investment if one already owns an RSP or similar SDR. I’m certainly going to give L-Band a go! Thank you again!
Do you enjoy the SWLing Post?
Your support makes articles like this one possible. Thank you!