Inmarsat L-Band (~1.5 GHz)
The signal
Section titled “The signal”Inmarsat operates a fleet of geostationary satellites providing maritime, aviation, and government communication services. The L-band downlinks (1525-1559 MHz) carry several signal types that are unencrypted and continuously transmitted:
- AERO — ACARS-over-satellite, relaying aircraft position reports, weather data, and operational messages between cockpits and ground stations via satellite
- SafetyNET — maritime safety information broadcasts including weather warnings, navigational hazards, search and rescue coordination, and NAVTEX-equivalent messages
- EGC (Enhanced Group Call) — broadcast messages to defined geographic areas or fleet groups, including distress alerts and urgency messages
These signals are receivable with modest equipment. The amateur community has been decoding them for years using patch antennas and RTL-SDR dongles. A directional dish provides significantly better SNR than the typical setup, making it easier to decode weaker channels and resolve signals from more distant beams.
Because the source is geostationary, the dish points at a fixed position and holds it. No tracking is required — this is the simplest possible pointing scenario for the Birdcage positioner.
What’s in the signals
Section titled “What’s in the signals”The content on these channels is operational and current. SafetyNET broadcasts carry real maritime weather warnings issued by national meteorological services — storm warnings, ice reports, volcanic ash advisories, and NAVTEX-equivalent navigational hazards. AERO messages carry the same ACARS data that aviation enthusiasts monitor on VHF, but routed through satellite for aircraft over oceans where no ground stations exist. EGC messages include distress relay broadcasts, coast guard notices, and search-and-rescue coordination.
None of this is encrypted. The International Maritime Organization mandates that safety information be freely receivable, and the AERO channel carries unencrypted ACARS by design. Receiving and decoding these signals is a well-established hobby with an active community.
Target satellites
Section titled “Target satellites”For stations in the Americas, two Inmarsat satellites provide coverage:
| Satellite | Position | Coverage | Primary use |
|---|---|---|---|
| Inmarsat-4 F3 (I-4 Americas) | 98.0 deg W | Americas, Atlantic, Pacific | Current primary. BGAN, SwiftBroadband, AERO |
| Inmarsat-3 F4 | 54.0 deg W | Atlantic, Western Europe, East Americas | Older generation. EGC, SafetyNET, Fleet |
| Inmarsat-6 F2 | ~60.9 deg W | Americas (migrating) | Latest generation, entering service |
Inmarsat-4 F3 at 98 degrees West is the strongest target from most of North America. It carries both global beam (wide coverage, lower EIRP) and spot beam (narrower coverage, higher EIRP) services.
Link budget
Section titled “Link budget”| Parameter | Value | Notes |
|---|---|---|
| Satellite EIRP (global beam) | ~15 dBW | Wide coverage, modest power per unit area |
| Satellite EIRP (spot beam) | ~40 dBW | Narrow regional coverage |
| Altitude | 35,786 km | Geostationary orbit |
| Slant range | ~37,000 km | Typical from mid-latitudes |
| Free-space path loss | ~188 dB | At 1540 MHz, 37,000 km |
| Dish gain (est.) | ~15 dBi | 84 cm x 58 cm elliptical at 1540 MHz |
| LNA noise figure | 0.8 dB | Wideband L-band LNA |
| System noise temp | ~80 K | LNA-dominated |
| Required C/N | ~6 dB | For BPSK demodulation (SafetyNET) |
| Link margin (global beam) | ~8 dB | Receivable with margin |
| Link margin (spot beam) | ~33 dB | Very strong |
The global beam is the more challenging target. With an omnidirectional patch antenna (~3 dBi), the global beam is marginal — sometimes decodable, often dropping frames. The dish’s 15 dBi gain provides 12 dB more than a patch, which puts the global beam solidly in the receivable range and makes spot beam signals trivially strong.
Hardware requirements
Section titled “Hardware requirements”See SDR Hardware Setup for the full signal chain, feed mounting, and bias tee safety details.
| Component | Recommendation | Notes |
|---|---|---|
| Feed | Helical (3-5 turns, RHCP) or patch antenna | Tuned for ~1540 MHz center. RHCP matches Inmarsat downlink |
| LNA | Wideband L-band LNA + 1525-1560 MHz bandpass filter | No SAWbird exists for this band; use a wideband LNA with external filter |
| SDR | RTL-SDR V4 | 1540 MHz well within range. 2.56 MHz BW covers multiple channels |
| SDR (wideband) | BladeRF 2.0 micro | Captures more of the L-band allocation simultaneously |
| Tracking mode | Fixed pointing | Geostationary — calculate AZ/EL once and hold |
Inmarsat L-band signals are RHCP (right-hand circular polarization). A linearly polarized feed loses 3 dB vs. circular. For maximum signal, use a helical feed wound for RHCP. A patch antenna with circular polarization is also effective and mechanically simpler to mount.
Proposed procedure
Section titled “Proposed procedure”-
Prepare the hardware chain. Mount the helical or patch feed at the dish focal point, connect through the LNA and bandpass filter to the SDR. Ensure the Winegard LNB bias tee is disconnected or blocked (see SDR Hardware Setup).
-
Calculate the satellite’s AZ/EL. Using your ground station coordinates and the satellite’s longitude (98.0 deg W for Inmarsat-4 F3), compute azimuth and elevation. Online calculators or Gpredict’s geostationary satellite mode both work. Example for central US: AZ ~ 195 deg, EL ~ 45 deg.
-
Point the dish.
Terminal window birdcage move --az 195.0 --el 45.0 --port /dev/ttyUSB2 --baud 115200Or via rotctld:
Terminal window birdcage serve --port /dev/ttyUSB2 --baud 115200 &echo "P 195.0 45.0" | nc 127.0.0.1 4533 -
Verify signal presence in SDR++. Tune to 1539.0 MHz (a common Inmarsat channel) with 1 MHz bandwidth. You should see multiple carriers in the waterfall — narrow BPSK channels spaced across the band. If nothing is visible, slowly scan the dish +/- 2 degrees in AZ and EL to peak the signal.
-
Fine-tune pointing for maximum signal. Adjust AZ and EL in 0.5-degree increments while watching the SDR++ waterfall. The Inmarsat carriers should brighten visibly when the dish is centered. Lock in the peak position.
-
Start Jaero for AERO decoding. Configure Jaero to use the SDR’s audio output or IQ stream. Select the 600 baud or 1200 baud AERO channel. Jaero will begin decoding ACARS messages from aircraft communicating via the satellite.
Jaero needs an audio feed from the SDR. The typical setup pipes audio from SDR++ (via virtual audio cable or UDP audio stream) into Jaero’s input.
-
Start Scytale-C for SafetyNET/EGC. Scytale-C decodes the EGC and SafetyNET broadcast channels. These run at 1200 baud NCS (network coordination station) on known frequencies. Configure it similarly to Jaero — audio input from the SDR application.
-
Log and observe. Let the system run for several hours. SafetyNET broadcasts are periodic (every few hours for routine weather, immediately for urgent safety). AERO traffic depends on how many aircraft are using the satellite link — busier over oceans where no VHF ground stations exist.
Software pipeline
Section titled “Software pipeline”| Tool | Purpose | Project |
|---|---|---|
| SDR++ | Spectrum display, frequency tuning, audio output | sdrpp.org |
| Jaero | AERO channel decoding (aircraft ACARS over satellite) | jontio/JAERO |
| Scytale-C | EGC/SafetyNET maritime safety broadcast decoder | Scytale-C project |
| SDR# | Alternative SDR frontend (Windows) | Airspy |
The decoding chain is: SDR captures RF, SDR++ (or SDR#) demodulates to audio, Jaero/Scytale-C decode the audio into readable messages.
Jaero supports multiple simultaneous channels — you can decode AERO on one frequency and EGC on another if your SDR bandwidth covers both. With a BladeRF’s wider bandwidth, capturing more of the Inmarsat allocation simultaneously becomes practical.
Audio routing on Linux
Section titled “Audio routing on Linux”The SDR-to-decoder audio path is the trickiest part of the setup on Linux. Windows users typically use Virtual Audio Cable (VAC) to pipe audio from SDR# to Jaero. On Linux, the equivalent uses PulseAudio or PipeWire:
# Create a virtual audio sinkpactl load-module module-null-sink sink_name=sdr_audio sink_properties=device.description=SDR_Audio
# In SDR++, set audio output to "SDR_Audio"# In Jaero, set audio input to "Monitor of SDR_Audio"Alternatively, SDR++ can output audio via UDP, and Jaero can accept UDP audio input — this bypasses the audio subsystem entirely and is more reliable. Check the Jaero documentation for the UDP configuration format.
Channel frequencies
Section titled “Channel frequencies”Inmarsat channel assignments vary by satellite and are periodically updated. As a starting point for Inmarsat-4 F3:
| Service | Approximate frequency | Baud rate | Notes |
|---|---|---|---|
| NCS (Network Coordination) | 1537.70 MHz | 1200 | Always active. EGC/SafetyNET here |
| AERO 600 | varies | 600 | Lower data rate, easier to decode |
| AERO 1200 | varies | 1200 | Higher data rate, more traffic |
| AERO 10500 | varies | 10500 | High-speed data. Requires more bandwidth |
The NCS channel is the best starting target — it’s always active, carries the most immediately readable content (SafetyNET broadcasts), and runs at 1200 baud which Scytale-C handles well.
Expected results
Section titled “Expected results”-
AERO messages. Decoded ACARS messages from aircraft using the Inmarsat satellite link. Content includes position reports, weather observations, airline operational messages, and ATC communications. Traffic volume depends on the number of oceanic flights using the satellite — trans-Atlantic and trans-Pacific routes generate the most traffic.
-
SafetyNET broadcasts. Maritime safety information including NAVAREA warnings, weather forecasts, search and rescue coordination messages, and piracy alerts. These arrive periodically and contain real operational content — actual weather warnings for actual mariners.
-
EGC messages. Enhanced Group Call broadcasts targeted to geographic areas. These include distress relay messages, coast guard notices, and fleet broadcasts.
-
Channel characterization. The SDR++ waterfall shows the full Inmarsat channel structure: narrow BPSK carriers at regular spacing, with varying signal levels indicating different beam types and traffic loads.
This is one of the most accessible SDR experiments because the signal is always present, the source doesn’t move, and the content is immediately meaningful. There’s no waiting for a satellite pass or aligning timing windows — point the dish, tune the SDR, and start decoding.
Long-duration monitoring
Section titled “Long-duration monitoring”Because the signal is continuous and the dish doesn’t need to track, this experiment lends itself to long-duration unattended monitoring. Leave the system running for days or weeks to build a comprehensive log of maritime safety traffic in your region. The data has practical value — it provides a real-time view of weather warnings, navigational hazards, and search-and-rescue activity that augments publicly available marine weather sources.
The dish’s stability over time is relevant here. If the positioner drifts due to thermal expansion, wind loading, or firmware behavior, signal quality will degrade gradually. Monitoring the decoded message rate over time provides an indirect measure of pointing stability — a useful dataset for characterizing the Birdcage hardware independent of this experiment’s primary goals.
Open questions
Section titled “Open questions”-
Inmarsat satellite selection. Which satellite provides the strongest signal from a given location depends on elevation angle and beam coverage. Is Inmarsat-4 F3 at 98 deg W always the best target from continental North America, or does Inmarsat-3 F4 at 54 deg W offer better coverage for East Coast stations?
-
RTL-SDR vs. BladeRF. Jaero and Scytale-C were originally designed to work with RTL-SDR and SDR# on Windows. The Linux + BladeRF + SDR++ pipeline may require additional configuration to route audio correctly. Has anyone validated Jaero with BladeRF input on Linux?
-
Optimal center frequency. The Inmarsat L-band allocation spans 1525-1559 MHz. With a 2.5 MHz RTL-SDR bandwidth, you can only see a fraction at a time. Which center frequency captures the most interesting channels? The AERO and EGC channels are at known frequencies that vary by satellite and region.
-
Feed polarization sensitivity. How much does RHCP vs. linear polarization matter in practice? With 8 dB of link margin on the global beam, the 3 dB circular-to-linear mismatch loss may be acceptable. But if the goal is to decode the weakest channels, every dB counts.
-
Elevation floor impact. The Carryout G2’s minimum elevation is 18 degrees. From high-latitude stations, geostationary satellites may appear below this limit. What’s the approximate latitude cutoff where Inmarsat-4 F3 drops below 18 degrees elevation?