9dc52d1a5b
Docs: replace default favicon, add git icon, fix Mermaid direction
...
- Favicon: MSFN antenna dish with signal arcs (NASA blue/red, dark mode)
- Social icon: generic git-branch replacing GitHub-specific icon
- Mermaid signal chain diagram: flowchart TB for vertical readability
- Add astro-icon (with Lucide icons) and astro-opengraph-images packages
2026-02-21 09:10:07 -07:00
12fb284d5f
Add Starlight documentation site with diataxis structure
...
14 content pages across four diataxis categories:
- Getting Started: introduction, installation, quick-start tutorial
- Understanding Apollo USB: signal architecture, PCM frame structure, AGC integration
- How-To Guides: tuning parameters, test signals, voice audio, AGC bridge, PCM telemetry
- Reference: block reference (all 16 blocks), constants, protocol specification
Includes Mermaid diagram support via rehype-mermaid with client-side
rendering, dark theme, Pagefind search index, and edit-on-GitHub links.
2026-02-20 15:26:05 -07:00
0ee7ff0ad7
Implement full Apollo USB downlink decoder chain
...
Complete signal processing pipeline from complex baseband to decoded
PCM telemetry, verified against the 1965 NAA Study Guide (A-624):
Core demod (Phase 1):
- PM demodulator with carrier PLL recovery
- 1.024 MHz subcarrier extractor (bandpass + downconvert)
- BPSK demodulator with Costas loop + symbol sync
- Convenience hier_block2 combining subcarrier + BPSK
PCM frame processing (Phase 2):
- 32-bit frame sync with Hamming distance correlator
- SEARCH/VERIFY/LOCKED state machine, complement-on-odd handling
- Frame demultiplexer (128-word, A/D voltage scaling)
- AGC downlink decoder (15-bit word reassembly from DNTM1/DNTM2)
Voice and analog (Phase 3):
- 1.25 MHz FM voice subcarrier demod to 8 kHz audio
- SCO demodulator for 9 analog sensor channels (14.5-165 kHz)
Virtual AGC integration (Phase 4):
- TCP bridge client with auto-reconnect and channel filtering
- DSKY uplink encoder (VERB/NOUN/DATA command sequences)
Top-level receiver (Phase 5):
- usb_downlink_receiver hier_block2: one block, complex in, PDUs out
- 14 GRC block YAML definitions for GNU Radio Companion
- Example scripts for signal analysis and full-chain demo
Infrastructure:
- constants.py with all timing/frequency/frame parameters
- protocol.py for sync word + AGC packet encode/decode
- Synthetic USB signal generator for testing
- 222 tests passing, ruff lint clean
2026-02-20 13:18:42 -07:00