# 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](https://www.ibiblio.org/apollo/) 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 ```bash # 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](https://www.ibiblio.org/apollo/) - [NASA Technical Reports](https://ntrs.nasa.gov/) - NAA Course A-624: Telecommunication Systems Study Guide (1965) ## License MIT