Skip to content

Iridium (1626 MHz)

Iridium operates a 66-satellite LEO constellation at roughly 780 km altitude, orbiting in six planes. The satellites transmit downlinks in the 1616-1626.5 MHz band using TDMA (time-division multiple access) burst signaling — short, structured transmissions that repeat on predictable timeslots.

Even without decoding message content, these bursts are interesting targets. Each one carries detectable structure: burst timing, center frequency, Doppler shift, and signal strength. A directional dish tracking a single satellite through its pass can capture bursts with significantly higher SNR than the omnidirectional antennas typically used for Iridium monitoring, making it easier to isolate individual satellite signals from the constellation background.

The original Iridium constellation (Block 1) produced the famous “Iridium flares” from their main mission antennas. Those satellites have been deorbited and replaced with Iridium NEXT, which doesn’t flare — but the RF characteristics of the new constellation are just as interesting to capture.

What makes this different from omnidirectional monitoring

Section titled “What makes this different from omnidirectional monitoring”

Most Iridium monitoring stations use a simple quarter-wave whip or turnstile antenna with hemispherical coverage. They catch bursts from every visible Iridium satellite simultaneously — typically 2-4 satellites at any moment — but with no ability to distinguish which satellite produced which burst without decoding the frame contents.

A tracked directional dish flips this approach. The beam is narrow enough (roughly 15-20 degrees at 1626 MHz) to isolate a single satellite for most of its pass. This means the Doppler curve from burst frequency offsets maps cleanly to one orbital track, without contamination from other satellites. The tradeoff is that you capture fewer total bursts per session, but each burst has unambiguous attribution.

ParameterValueNotes
Satellite EIRP~22 dBWDownlink, per beam
Altitude780 kmLEO
Slant range (20 deg EL)~1600 kmWorst case for a usable pass
Free-space path loss~157 dBAt 1626 MHz, 1600 km
Dish gain (est.)~12 dBi84 cm x 58 cm elliptical at 1620 MHz
LNA noise figure0.7 dBSAWbird Iridium (filtered)
System noise temp~75 KLNA-dominated with feed losses
Receiver bandwidth10 MHzFull Iridium downlink band
Required Eb/No~10 dBFor burst detection (not demod)
Link margin~15 dBComfortable for burst detection

The margin is generous because burst detection (finding that a transmission occurred and measuring its parameters) requires much less SNR than full demodulation. The dish gain helps isolate the tracked satellite from adjacent Iridium satellites that may be transmitting simultaneously.

See SDR Hardware Setup for the full signal chain, feed mounting, and bias tee safety details.

ComponentRecommendationNotes
FeedHelical antenna, 5-7 turns, RHCPTuned for 1620 MHz center. ~3 dBi gain on its own
LNANooelec SAWbird Iridium1626 MHz SAW-filtered, 0.7 dB NF, ~17 dB gain
SDRRTL-SDR V41626 MHz is within the 1.766 GHz limit. 2.56 MHz stable BW
SDR (wideband)BladeRF 2.0 micro10 MHz+ bandwidth for full-band capture
TrackingGpredict via rotctldContinuous LEO pass tracking at 127.0.0.1:4533

The choice between RTL-SDR and BladeRF depends on the capture approach. An RTL-SDR can see a ~2.5 MHz slice of the Iridium band per recording. A BladeRF captures the full 10 MHz downlink band, which gr-iridium expects for comprehensive burst detection.

A 5-turn axial-mode helix for 1620 MHz uses the following dimensions (approximate):

ParameterValue
Turn diameter~59 mm (0.31 wavelength)
Turn spacing~46 mm (0.25 wavelength)
Total length~230 mm (5 turns)
Wire diameter2-3 mm copper or brass
Ground plane~120 mm diameter minimum
Impedance~140 ohms (needs matching to 50 ohm coax)

A quarter-wave impedance transformer (a short section of ~84 ohm coax) or a simple tapered feed can match the helix to 50 ohm coax. Winding direction determines circular polarization sense — wind clockwise (looking from the feed toward the dish) for RHCP.

  1. Prepare the hardware chain. Mount the helical feed at the dish focal point, connect through the SAWbird LNA, run coax to the SDR. Verify the LNB bias tee is disconnected or blocked (see SDR Hardware Setup).

  2. Configure Gpredict. Add the Iridium constellation TLE set. Select a target satellite with a high-elevation pass (above 40 degrees peak) for the first attempt. Configure the rotor interface: 127.0.0.1:4533, AZ type 0-180-360, min EL 18, max EL 65.

  3. Start the Birdcage rotctld server.

    Terminal window
    birdcage serve --port /dev/ttyUSB2 --baud 115200
  4. Tune the SDR. Set center frequency to 1621.25 MHz (middle of the downlink band). With a BladeRF, set bandwidth to 10 MHz and sample rate to 12 Msps. With an RTL-SDR, use 2.56 Msps and accept a narrower slice.

  5. Begin recording before the pass starts. Start IQ capture to a file at least 60 seconds before the satellite rises above 18 degrees elevation. Let the recording run continuously through the entire pass.

    Terminal window
    # BladeRF example
    bladeRF-cli -e "set frequency rx 1621250000; set samplerate rx 12000000; set bandwidth rx 10000000; rx config file=iridium_pass.sc16 format=bin n=720000000; rx start; rx wait"
  6. Track the satellite through the pass. Engage Gpredict tracking. The pass will last 5-10 minutes depending on maximum elevation. The positioner follows via rotctld commands.

  7. Stop recording after the pass. The IQ file will be large — roughly 1.4 GB per minute at 12 Msps, 16-bit complex. A full 10-minute pass produces about 14 GB.

  8. Process with gr-iridium offline.

    Terminal window
    iridium-extractor -D 4 --multi-frame iridium_pass.sc16 | grep "^RAB" > bursts.txt
ToolPurposeProject
gr-iridiumBurst detection and extraction from wideband IQmuccc/gr-iridium
iridium-toolkitFrame parsing, timing analysis, satellite IDmuccc/iridium-toolkit
SDR++Live spectrum monitoring during capturesdrpp.org

gr-iridium works on recorded IQ files. It searches the full bandwidth for TDMA bursts, extracts them, and outputs per-burst metadata including timestamp, frequency offset, confidence, and frame contents. iridium-toolkit then parses these into higher-level structures.

The standard workflow in the Iridium monitoring community is to capture broadband (10 MHz), process offline, and analyze the burst statistics. Real-time decoding is possible but demands more CPU than offline batch processing.

IQ recording (.sc16 / .raw)
iridium-extractor (gr-iridium) → raw burst lines (timestamp, freq, confidence, bits)
iridium-parser.py (iridium-toolkit) → decoded frames (IRA, IBC, MSG, etc.)
reassembler.py (iridium-toolkit) → reassembled pages (pager messages, ring alerts)
analysis scripts → Doppler plots, timing histograms, burst statistics

The intermediate files are plain text, one line per burst or frame. This makes them easy to filter with standard Unix tools — grep, awk, and sort handle most of the exploratory analysis before writing dedicated scripts.

A single high-elevation Iridium pass with a 10 MHz broadband capture should yield:

  • Hundreds of detected bursts — a typical pass produces 200-500 ring alert, broadcast, and messaging bursts depending on traffic load
  • Timing analysis — TDMA slot boundaries are visible in the burst timestamps, revealing the frame structure
  • Doppler curve — frequency offset vs. time traces out the classic S-curve that maps to satellite orbital geometry
  • Satellite identification — iridium-toolkit can extract the satellite ID from certain frame types, confirming you tracked the correct object

Plotting burst frequency offset against time should produce a clean Doppler curve. The shape of this curve encodes the satellite’s orbital parameters relative to the ground station — the maximum Doppler rate occurs at closest approach, and the total Doppler shift at the edges of the pass reflects the satellite’s velocity component along the line of sight.

Any jitter or discontinuities in that curve may indicate tracking lag from the positioner — a useful diagnostic for evaluating Birdcage’s LEO tracking performance. Comparing the measured Doppler curve against the predicted curve (from TLE orbital elements) provides an independent check of both the tracking accuracy and the SDR’s frequency calibration.

gr-iridium categorizes detected bursts into several types:

TypeAbbreviationDescription
Ring Alert BroadcastRABPaging bursts — most common, always present
Iridium Burst ContinuationIBCData continuation frames
MessageMSGUser data payload
Ring AlertIRAIndividual paging
BroadcastIBDSatellite broadcast information

RAB bursts dominate the output and are present even when no active calls are in progress. They form the backbone of the TDMA timing analysis.

  • Single-satellite yield vs. omnidirectional. Omnidirectional Iridium monitors catch bursts from multiple satellites simultaneously. A directional dish isolates one satellite but misses the rest. Is the per-satellite burst count high enough to be interesting, or does the experiment need a different framing (e.g., Doppler characterization rather than bulk burst collection)?

  • RTL-SDR bandwidth tradeoff. gr-iridium is designed for wideband captures. With only 2.5 MHz of the 10 MHz band visible, burst detection rates drop proportionally. Is the reduced capture still useful, or does this experiment really need a BladeRF?

  • Tracking rate. Iridium LEO passes move at up to ~1 degree per second near zenith. The Carryout G2’s maximum AZ slew rate is 65 degrees/sec (more than enough), but the rotctld update interval and motor settling time may introduce pointing lag at high angular rates. Testing needed to characterize the lag.

  • Feed polarization. Iridium downlinks are RHCP. A linearly polarized feed loses 3 dB vs. circular. Whether the dish gain compensates for this loss depends on how much margin matters for burst detection.