feat: replay live PPS telemetry in fixed-point model

This commit is contained in:
2026-07-29 00:16:43 +03:00
parent a697284bff
commit 9b0828dbaa
10 changed files with 3019 additions and 12 deletions
@@ -600,7 +600,7 @@ def write_report(
"- Production firmware and this analysis both define `POSTPONE_TOW` "
"as 180 ms for the current RTL delivery semantics.",
"",
"## Repository hardware data",
"## Hardware data used by this synthetic sweep",
"",
f"- Real GPS capture: {len(gdop)} GDOP samples and {len(tracked)} "
"tracked-satellite samples over about five minutes.",
@@ -613,10 +613,12 @@ def write_report(
f"{_fmt(telemetry.horizontal_rms_m)} / "
f"{_fmt(telemetry.horizontal_p95_m)} / "
f"{_fmt(telemetry.horizontal_max_m)} m. No surveyed truth was recorded.",
"- No real ABS_SAMPLE, REM_CODE_PHASE, TDOP/HDOP, C/N0, pseudorange "
"residual, PPS phase/rate/integrator, temperature, or trusted-edge TIC "
"samples exist in the repository. Those columns in the companion CSV "
"are explicitly synthetic.",
"- The older fusion capture used by this sweep has no ABS_SAMPLE, "
"REM_CODE_PHASE, TDOP/HDOP, C/N0, pseudorange residual, PPS phase/rate/"
"integrator, temperature, or trusted-edge TIC samples. Those columns "
"in the companion CSV are explicitly synthetic. Newer PPS status "
"captures are analyzed separately by `hardware_replay.py` and are not "
"silently mixed into this historical baseline.",
"",
"Synthetic timing uses the board-calibration values already encoded "
"in the PPS tests: TDOP 1.50, GDOP 2.92, clock sigma 15.87 m "