docs(site): publish the Estimated Accuracy algorithm page#3619
Conversation
Add a deep-dive page documenting how MeshMonitor computes a node's position-estimate accuracy circle (uncertaintyKm), for publication on meshmonitor.org: - the observation weight model: time-decay (24h half-life) × SNR linear power (10^(SNR/10)), with an SNR→weight reference table - the SNR/time weighted centroid (the estimated position) - the accuracy radius: weighted RMS spread, Kish effective sample size, and the n_eff confidence blend toward the radio-range default (the #3616/#3617 refinement that prevents falsely-confident single-anchor circles) - ASCII pipeline/geometry/blend diagrams and three worked examples (single anchor, strong+weak/far dominated, balanced multi-anchor) - a formula reference and guidance on reading the circle / tuning the max-acceptable-accuracy cutoff Links it from the existing Position Estimation page and adds it to the Maps & Visualization sidebar. Docs build verified (no dead links). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011JEaCGwY9Wz8jeV4e22GW4
|
Claude finished @Yeraze's task —— View job PR Review: docs(site): publish the Estimated Accuracy algorithm pageTasks:
Overall AssessmentExcellent documentation PR. The page is technically accurate, well-structured, and clearly written. I verified all formulas and example numbers against the actual implementation in Formula Accuracy Verification ✅Time decay: The docs say SNR weight: Kish n_eff: Confidence blend: Final uncertainty: Worked examples (B): I independently verified the math — centroid ≈ 0.025 km from anchor 1, rms ≈ 0.32 km, confidence ≈ 0.013, uncertainty ≈ 4.94 km. All correct. Minor Observations1. Slightly confusing notation in Example A ( Writing 2. The With a single observation, the centroid IS the anchor, so distance from centroid to anchor = 0, meaning rms_km = 0. This is mathematically correct. However, note that 3. Sidebar section name ( The sidebar entry is in "Maps & Geography" which is correct and appropriate. Links & Structure ✅
SummaryNo blocking issues found. The math is accurate, the examples are correct, the cross-links are valid, and the content genuinely helps users understand when to trust an accuracy circle. The two minor observations above are optional polish. |
Summary
Adds a published deep-dive page — Estimated Accuracy — documenting how MeshMonitor derives the position-estimate accuracy circle (
uncertaintyKm) for the node it places without GPS. Written for meshmonitor.org so users can understand and trust the circle.New page:
docs/features/estimated-accuracy.md, linked from the existing Position Estimation page and added to the Maps & Visualization sidebar.What it covers
weight = time_decay × snr_weight, withtime_decay = 0.5^(age_h/24)(24 h half-life) andsnr_weight = 10^(SNR_dB/10), plus an SNR→weight reference table (e.g. −12 dB → 0.063, 0 dB → 1, +10 dB → 10).n_eff = (Σw)²/Σw², and the confidence blendclamp(n_eff−1, 0, 1)between the ~5 km radio-range default and the statistical radius. This documents the Bug: SNR weighting in position estimation may be inverted, collapsing estimates to anchor regardless of signal strength #3616/fix(position-estimation): large uncertainty for weight-dominated single-anchor solves (#3616) #3617 refinement that stops one strong anchor from producing a falsely-confident circle.Verification
npm run docs:buildpasses (VitePress fails on dead links — none). New page renders; sidebar/links resolve.observationWeight()/solveNodePosition()insrc/server/services/positionEstimationService.ts(currentmain, incl. the fix(position-estimation): large uncertainty for weight-dominated single-anchor solves (#3616) #3617 blend).Docs-only change — no code, no tests affected.
🤖 Generated with Claude Code