Today I spent some time exploring the L-Band spectrum (1500-1700 MHz) using an RTL-SDR dongle connected to an L-Band satellite patch antenna on a Raspberry Pi. The setup is simple but effective for receiving various satellite signals including Inmarsat, Iridium, GPS, and COSPAS-SARSAT search and rescue transponders.

Hardware Setup

  • RTL-SDR with R820T tuner (RTL2838)
  • L-Band patch antenna with LNA
  • Bias-T enabled (+5V for LNA)
  • Raspberry Pi 5 / Linux
  • Sample rate: 2.0 MS/s
  • Gain: 49.6 dB (max)

Signals Detected

  • Inmarsat-C (1537-1540 MHz)
  • COSPAS-SARSAT (1544.5 MHz)
  • GPS L1 (1575.42 MHz)
  • Iridium (1616-1626 MHz)
  • Globalstar (1610-1618 MHz)
  • 30+ total signals found

Inmarsat-C Maritime Communications

Inmarsat-C Spectrum Analysis

Scanning the Inmarsat-C maritime band (1537.8 – 1540.2 MHz) revealed multiple strong signals. Noise floor measured at 16.2 dB.

Frequency SNR Signal Type
1537.10 MHz 21.5 dB NCS (Network Coordination)
1537.74 MHz 19.8 dB EGC SafetyNET
1539.44 MHz 19.7 dB Inmarsat-C STD-C
1539.49 MHz 19.5 dB Inmarsat-C
1540.02 MHz 19.1 dB TDM Channel

Data analysis: 1460+ HDLC frames, 907 FEC-encoded messages detected.

Iridium Satellite Bursts

Using gr-iridium for burst detection, I successfully captured Iridium satellite transmissions in the 1616-1626 MHz band.

SATELLITE ID

SAT-025

CELLS DETECTED

39, 48

PROTOCOL

IBC

GPS L1 Band Analysis @ 1575.42 MHz

Using gnss-sdr open-source receiver, I processed a 60-second IQ capture. Despite the patch antenna being optimized for geostationary satellites, the system tracked 25+ GPS satellites:

Block Type Satellites (PRN)
Block IIF 01, 03, 08, 09, 10, 24, 25, 26, 27, 30, 32
Block IIR 02, 13, 16, 19, 20, 22, 28
Block IIR-M 05, 15, 17, 31
Block III 04, 11, 14, 18, 23

NAV decoded from PRN 02: Subframes 1-5 (clock, ephemeris, almanac)

GPS Satellites Tracked

COSPAS-SARSAT Search & Rescue @ 1544.5 MHz

COSPAS-SARSAT Signal

The most interesting find was the international search and rescue system signal:

Frequency SNR Type
1544.500 MHz 14.6 dB GEOSAR Transponder
1544.543 MHz 10.8 dB Telemetry (6.25 kbps)
1544.250 MHz 8.4 dB Unknown

COSPAS-SARSAT detects 406 MHz emergency beacons (EPIRBs, ELTs, PLBs) via:

  • LEOSAR: Low Earth Orbit (Doppler positioning)
  • GEOSAR: Geostationary (instant alerting)
  • MEOSAR: GPS/Galileo/GLONASS (fast positioning)

No distress beacons detected during observation (good news!)

Complete L-Band Survey Results

L-Band Signal Comparison
System Frequency Range Signals Best SNR Status
Inmarsat-C 1537-1540 MHz 10+ 21.5 dB ✅ Excellent
COSPAS-SARSAT 1544.5 MHz 2 14.6 dB ✅ Good
GPS L1 1575.42 MHz 25+ sats ~12 dB ⚠️ Partial
Iridium 1616-1626 MHz 5+ 15.0 dB ✅ Good
Globalstar 1610-1618 MHz 3 8.5 dB ⚠️ Weak

Conclusions

  • Inmarsat-C: Excellent reception – NCS at 21.5 dB, EGC SafetyNET and STD-C clearly visible
  • Iridium: Burst detection works well – satellite ID and cell info decoded
  • GPS: 25+ satellites tracked, NAV decoded – position fix not achieved (antenna mismatch)
  • COSPAS-SARSAT: GEOSAR transponder clearly visible at 14.6 dB

The RTL-SDR with an L-Band patch antenna is a capable and affordable setup for satellite signal exploration. For dedicated GPS reception, a proper hemispherical antenna is recommended.

Software Used

  • rtl-sdr tools
  • gnss-sdr
  • gr-iridium
  • iridium-toolkit
  • Python / NumPy / SciPy
  • Matplotlib

gnss-sdr Config

[GNSS-SDR] internal_fs_sps=2000000

SignalSource.implementation=File_Signal_Source
SignalSource.item_type=ibyte
SignalSource.sampling_frequency=2000000

Channels_1C.count=10
Actuisition_1C.threshold=2.0

Note: AI (Claude) was used to assist with signal analysis, data processing, spectrum visualization, and writing this article. The RTL-SDR hardware setup and signal capture were performed by the author.