Files
gps/soc/software/pps_python/output/summary.txt
T

22 lines
1.5 KiB
Plaintext

C-mirroring WLS + PPS timing simulation
========================================
epochs: 900
raw WLS bias/c range: -5.888015 .. 0.673753 ms
derived GPS reference RMS error: 60.522 ns
capture-to-commit delay mean/p99: 21.600 / 31.529 ms
first HOW used as receive-now, median phase error: -249.876 ms
first HOW + 180 ms + 68.802 ms, median phase error: -1.074 ms
4 satellites: position RMS=103.877 m, timing RMS=144.920 ns
5 satellites: position RMS=20.194 m, timing RMS=45.603 ns
7 satellites / drop-reacquisition: position RMS=14.626 m, timing RMS=36.888 ns
timestamped PI: tail phase RMS=274.256 ns, |phase| p95=410.422 ns, PPS RMS=815.642 ns, rejected stale commits=0
timestamped, PI disabled: tail phase RMS=233589.285 ns, |phase| p95=302907.720 ns, PPS RMS=181358.257 ns, rejected stale commits=0
untagged APB-now PI: tail phase RMS=18651473.186 ns, |phase| p95=19146158.593 ns, PPS RMS=18060541.154 ns, rejected stale commits=0
Interpretation:
- bias/c is millisecond-scale because it contains the 68.802 ms synthetic datum and the minimum satellite path.
- epoch-aligned TOW (first delivery: HOW + 180 ms) + STARTOFFSET - bias/c reconstructs GPS time at the paired timestamp.
- treating that old reference as valid at APB arrival converts software latency into PPS phase error.
- timestamping removes that phase misassociation; control application delay remains only as loop delay.
- baremetal applies the fixed 180 ms readout correction once; the PPS peripheral must not add it again.