Files
galileo/docs/e1_pilot_aided_tracking.md
T

1.6 KiB

E1C-pilot-aided E1B tracking

The default E1 architecture uses two phase-coherent correlator branches:

raw SignalSim IQ8
  -> E1C PCPS acquisition
  -> E1C 25-symbol secondary-code phase/frequency search
  -> shared double-precision carrier and code phase vectors
       -> E1C VE/E/P/L/VL -> FLL/PLL/DLL/CN0/BOC lock
       -> E1B VE/E/P/L/VL -> 4 ms Prompt stream -> I/NAV decoder

The secondary synchronizer jointly searches code phase and residual carrier frequency using complex 4 ms Prompt values. Its estimated secondary phase is then applied at every E1C primary-code epoch. Integrations may divide the 4 ms primary period exactly; the 2 ms navigation configuration applies the same secondary symbol to both halves.

E1B navigation polarity never enters the pilot loop discriminators, C/N0 estimator, or lock detector. The E1B branch receives the identical carrier and code phase arrays before either NCO advances, preserving sample-by-sample coherence. Only E1B Prompt I/Q is passed to symbol synchronization and I/NAV decoding.

The initial 400 ms E1C secondary search operates on a buffered portion of the same input stream. The offline regression replays that buffer through the closed loops after synchronization; it does not load frozen Prompt, symbol, page, or ephemeris artifacts. A streaming implementation can use the same bounded input buffer or start output after synchronization.

This pilot architecture is a separate robustness improvement. It is not used to conceal the legacy BOC metric defect: E1B-only and E1C-aided modes are both evaluated with the same corrected BOC-aware lock detector.