Skip to content

A multipath signature on GNSS innovations (ADR-0022) - #78

Merged
Telschow merged 3 commits into
mainfrom
claude/multipath-detector
Oct 11, 2026
Merged

Telschow merged 3 commits into
mainfrom
claude/multipath-detector

Conversation

@Telschow

Copy link
Copy Markdown
Owner

What

  • navkit.fdir.multipath: a signature (NIS and lag-1 autocorrelation of a window of GNSS innovations) with a sensitive and a specific rule. A function; it is not wired into the filter and changes no FDIR behaviour.
  • navkit sweep multipath, docs/multipath.md, committed CSVs for the floor and fresh runs, and tests that check each statement against them.
  • ADR-0022 (accepted): ship the specific rule as a function.

Method

The thresholds and the shipping criteria (recall at least 95% for multipath of 3 m and above, at most 2% false calls on everything else) were committed before the fresh runs (0d1b689, 21c35d2 history). The fresh runs use new seeds and a mixed set of faults.

Result

  • Specific rule (NIS at least 6): 100% of multipath of 3 m and above, 0% of everything else on the fresh runs. Criteria met.
  • Sensitive rule (NIS at least 2): 100% recall but 14% false calls on the other runs, mostly 5 m steps. Criteria not met.
  • None of 136 control runs is called multipath by either rule (95% upper bound about 2%).
  • Floor of the specific rule: about 3 m; 2 m is called in about two thirds of runs.

Limits

Injected white noise on simulated GNSS, 20 s windows, two datasets. Real multipath is correlated and may exceed the autocorrelation limit; not tested. The 6 in the specific rule came from the classification study's training runs, so only the fresh runs are a clean test.

Full suite, lint, types, links, strict docs build, SRS trace and metrics pass locally. Coverage 94.18%.

🤖 Generated with Claude Code

Comment on lines +141 to +142
"| Multipath m | Runs | Sensitive rule calls | Specific rule calls | Median NIS "
"| Median lag-1 autocorrelation |",
Comment on lines +218 to +219
"| Control runs | Runs | Sensitive rule calls | Specific rule calls "
"| 95% upper bound on the specific rule's rate |",
@Telschow
Telschow merged commit cff8bea into main Oct 11, 2026
19 checks passed
@Telschow
Telschow deleted the claude/multipath-detector branch October 11, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants