Implements the Apollo composite PRN ranging code (5,456,682 chips) from
five component sequences (CL, X, A, B, C) combined via majority-vote
logic, matching Ken Shirriff's Teensy rangeGenerator.ino bit-for-bit.
LFSR taps corrected to produce maximal-length sequences:
A: 5-bit, taps [2,0] (x^5+x^2+1, period 31)
B: 6-bit, taps [1,0] (x^6+x+1, period 63)
C: 7-bit, taps [1,0] (x^7+x+1, period 127)
New files:
src/apollo/ranging.py -- pure-Python code generator and correlator
src/apollo/ranging_source.py -- GR sync_block streaming PRN chips
src/apollo/ranging_mod.py -- GR hier_block2 NRZ chip modulator
src/apollo/ranging_demod.py -- GR basic_block FFT-based range correlator
grc/apollo_ranging_*.block.yml -- GRC block definitions (3 files)
examples/ranging_demo.py -- standalone demo with delay simulation