- sco_mod: 9-channel FM subcarrier oscillator modulator (inverse of sco_demod), with round-trip tests proving voltage recovery across all channels - fm_voice_subcarrier_mod: add audio_input parameter to accept external float streams (e.g., Apollo mission voice recordings) instead of internal test tone - loopback_demo.py: streaming TX->RX round-trip with CLI for noise/voice/frames - agc_loopback_demo.py: full Virtual AGC integration via TCP bridge
gr-apollo
GNU Radio 3.10+ out-of-tree module for decoding Apollo Unified S-Band (USB) telecommunications signals.
Overview
The Apollo Unified S-Band system was the primary communication link between the spacecraft and Earth during the Apollo missions (1967-1972). This module implements GNU Radio blocks to decode these signals, enabling:
- Reception of Apollo-era recordings
- Integration with the Virtual AGC emulator
- Educational exploration of 1960s space communications
Signal Specifications
| Parameter | Value |
|---|---|
| Downlink Frequency | 2287.5 MHz |
| Uplink Frequency | 2106.40625 MHz |
| Coherent Ratio | 240/221 |
| PM Peak Deviation | 0.133 rad (7.6°) |
| PCM Subcarrier | 1.024 MHz BPSK |
| PCM Bit Rate | 51.2 kbps (high) / 1.6 kbps (low) |
| Voice Subcarrier | 1.25 MHz FM |
| Frame Length | 128 words × 8 bits @ 50 fps |
Installation
# Using uv (recommended)
uv pip install -e .
# Install GRC blocks
cp grc/*.yml ~/.local/share/gnuradio/grc/blocks/
Signal Chain
RF 2287.5 MHz
│
▼
┌─────────────┐
│ Carrier PLL │ ◄── 240/221 coherent recovery
└─────────────┘
│
▼
┌─────────────┐
│ PM Demod │ ◄── 0.133 rad peak deviation
└─────────────┘
│
├────────────────────┬──────────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 1.024MHz │ │ 1.25 MHz │ │ Ranging │
│ BPSK │ │ FM │ │ PRN │
└──────────┘ └──────────┘ └──────────┘
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ PCM Sync │ │ Voice │
│ 51.2kbps │ │ 300-3kHz │
└──────────┘ └──────────┘
│
▼
┌──────────┐
│ 128-word │
│ Demux │
└──────────┘
│
▼
Telemetry
References
- Virtual AGC Project
- NASA Technical Reports
- NAA Course A-624: Telecommunication Systems Study Guide (1965)
License
MIT
Description
Languages
Python
100%