Implement Galileo E1B I/NAV navigation decoding

This commit is contained in:
2026-07-31 00:15:34 +03:00
parent 2a6ccfc23d
commit 814a788b36
104 changed files with 6351 additions and 10 deletions
+18
View File
@@ -0,0 +1,18 @@
from __future__ import annotations
import numpy as np
from galileo_rx.tracking.lock_detector import LockDetector
from galileo_rx.types import CorrelatorOutputs
def _correlators(phase_rad: float) -> CorrelatorOutputs:
prompt = complex(np.exp(1j * phase_rad))
return CorrelatorOutputs(0.2 * prompt, 0.5 * prompt, prompt, 0.5 * prompt, 0.2 * prompt)
def test_data_lock_detector_ignores_bpsk_transition_but_detects_quadrature_jump() -> None:
detector = LockDetector(data_sign_insensitive=True)
detector.update(_correlators(0.0))
assert detector.update(_correlators(np.pi)).cycle_slip is False
assert detector.update(_correlators(np.pi + 0.49 * np.pi)).cycle_slip is True