Handledning 3 – Kvant mot klassisk GNSS-resiliens (slutprov)
Kinds: spoof + hybrid · Scenarier: scenarios/spoof-attack.toml, scenarios/hybrid-pnt.toml (undervisningskopior: scenarios/security.toml, scenarios/hybrid.toml) · Svårighetsgrad: medel · ~35 min
Slutprovet. Du kör ett scenario med spoofing-detektor och en fullständig sammanslagen PNT-svit (positionering, navigering och tidssynkronisering) och lär dig läsa säkerhet, integritet och dödräkning tillsammans – hela tesen: kvanttröghet och optisk tidssynkronisering ger en resiliens som GNSS-nekande (Global Navigation Satellite System) annars skulle ta ifrån dig.
Del A – Säkerhet: att fånga en tidsspoofing#
En angripare injicerar en långsamt ramprande falsk GNSS-tid (0,1 ns/s, med start vid t = 60 s). Mottagaren kontrollerar den angivna tiden mot sin egen klockas utrullade prediktion och flaggar spoofingen när avvikelsen passerar detektionsgränsen. Detektorn är ett tvåsidigt χ²₁ / Neyman–Pearson-energitest vid en falsklarmssannolikhet P_fa = 0,01; måttet för säkerhet är 1 − P_md (ett minus sannolikheten för missad detektion) vid en spoofing av specificerad storlek (20 ns).
cargo run -- scenarios/spoof-attack.toml
Summary:
scenario 2b6bd22c3b80 | spoof LinearRamp { rate_ns_per_s: 0.1 } vs 20.000 ns spec (P_fa 0.010) | quantum security 1.000 (P_md 0.000, MC 0.000) detected 70s | classical security 0.558 (P_md 0.442, MC 0.444) detected 430s
- Kvant:
security 1.000, detekterad vid 70 s. Den optiska klockans detektionsgolv är en bråkdel av en nanosekund, så den flaggar spoofingen nästan omedelbart – långt under specifikationen på 20 ns. - Klassisk:
security 0.558, detekterad vid 430 s. Den chipskaliga atomklockans (CSAC:s) eget utrullningsbrus över fönstret är jämförbart med 20 ns, så den kan ofta inte skilja spoofingen från sin egen drift – den missar 44 % av gångerna.
Den icke-cirkulära oberoende referensen: analytisk mot Monte Carlo-P_md#
Detektorns sannolikhet för missad detektion beräknas på två oberoende sätt som måste stämma överens: ett slutet uttryck för χ²₁-svansen (Neyman–Pearson-resultatet) och en Monte Carlo-skattning (MC). För CSAC är den analytiska P_md 0.442 och MC-P_md 0.444 – de stämmer inom 0,002, med god marginal inom samplingsfelet ~few × 1/√N. För den optiska klockan är båda 0,000. Att två separata beräkningar av samma sannolikhet stämmer överens är den icke-cirkulära korskontrollen (Kay, Fundamentals of Statistical Signal Processing: Detection Theory; standard NP-/χ²-detektion). tests/tutorials.rs::tutorial3_spoof_analytic_matches_montecarlo kontrollerar |analytic_pmd − mc_pmd| < 0.05 för båda klockorna samt quantum security_fom > 0.9.
Del B – Hybrid-PNT: hela den sammanslagna sviten#
Nu slår slutprovsscenariot samman en optisk klocka + en kallatom-tröghetsmätenhet (IMU) (kvantsviten) mot en CSAC + en IMU av navigeringsklass (den klassiska sviten), genom samma GNSS-avbrott på 6600 s (1,83 h), mot en tidsspecifikation på 20 ns och en positionsspecifikation på 100 m. Båda sviterna ankrar om sina klockor var 60 s över samma optiska tidsöverföringslänk mellan satelliter, modellerad med ett jitter på 1 ps per omsynkronisering ([resync] i scenariot; src/hybrid.rs bygger en optical-isl-länk för endera sviten).
cargo run -- scenarios/hybrid-pnt.toml
Summary:
scenario f33d734ecc51 | quantum PNT-holdover 6600s (t 6600s/p 6600s) integrity 0.998 security n/a (no attack) | classical PNT-holdover 350s (t 6600s/p 350s) integrity 1.000 security n/a (no attack)
Läs uppdelningen (t …/p …) – holdover för tid mot holdover för position:
- Kvant: PNT-holdover 6600 s – klarar både tid (t 6600 s) och position (p 6600 s) under hela avbrottet.
- Klassisk: PNT-holdover 350 s – tiden klaras under hela 6600 s (t 6600 s), eftersom den optiska tidsöverföringens omsynkronisering håller även den klassiska klockan låst. Sviten är positionsbegränsad vid p 350 s: IMU:n av navigeringsklass är den svaga länken. Det är sammanslagningstesen – att isolera den klassiska svitens fel till dess tröghetssensor.
integrity 0.998för kvantsviten är verkligt och inte en bugg. Det är filtrets egen konsistens över det brusiga omsynkroniseringsflödet – inte ett integritetsmått för flyg (horisontell eller vertikal skyddsnivå, HPL/VPL). Läs inte in för mycket i ordet ”integritet” här; sedocs/INTEGRITY.md.
Den icke-cirkulära oberoende referensen: position-holdover på 350 s#
Värdet 350 s är dödräkningsfysik, inget anpassat tal. En konstant accelerometerbias b driver positionsfelet som ½·b·T². När specifikationen på 100 m passeras:
Navigation-grade (classical), b = 1.57e-3 m/s^2:
T = sqrt(2 * 100 / 1.57e-3) = 357 s
Cold-atom (quantum), b = 5.88e-7 m/s^2 (Templier et al. 2022, arXiv:2209.13209):
T = sqrt(2 * 100 / 5.88e-7) = 18,443 s >> 6600 s outage -> holds the full outage
Motorn rapporterar 350 s, den sista rutnätspunkten på 10 s före passagen och 2 % under det enbart bias-baserade värdet 357 s: scenariots accelerometrar har också brus av typen velocity random walk (q_va), som läggs till biasdriften, så det modellerade felet når 100 m något tidigare.
Auktoritativ lag: Groves, Principles of GNSS, Inertial, and Multisensor Integrated Navigation (2:a uppl.), felväxt vid dödräkning. Dessa två ½bT²-värden förklarar motorns uppdelning 350 s / 6600 s: en fysikkontroll i sluten form, extern i förhållande till filtret.
Den svaga tröghetslänken syns direkt i dödräkningsscenariot (scenarios/inertial.toml, typ inertial): quantum holdover 6600s p95 41.39m | classical holdover 350s p95 30629.9m: sensorn av navigeringsklass divergerar till tiotals kilometer.
Så läser du de tre värdena tillsammans#
| Siffra | Vad det betyder här | Vad det inte betyder |
|---|---|---|
| Säkerhet | analytisk gräns för detekterbarhet av spoofing (1 − P_md) för en konfigurerad attack; sammanfattningen för hybrid skriver ut n/a (no attack) eftersom det scenariot inte konfigurerar någon |
inte en RAIM-detektor (receiver autonomous integrity monitoring) med flera satelliter |
| Integritet | filtrets egen konsistens (sampel inom k-σ-gränsen) | inte integritet i form av HPL/VPL/RAIM för flyg |
| PNT-holdover | tid inom specifikationen efter GNSS-bortfall, uppdelad på tid och position | inte en 2-D-noggrannhet i form av CEP (circular error probable) eller 2DRMS (twice the distance root mean square) |
Den äkta mottagarautonoma integriteten – verkliga HPL/VPL med larmgränser och ett Stanford-diagram – finns i paketet integrity (scenarios/integrity.toml); det är läsövningen på nivå 3.
Vad testerna fastställer#
tutorial3_spoof_analytic_matches_montecarlo– analytisk och MC-P_md stämmer inom < 0,05 för båda klockorna;quantum security_fom > 0.9.- Hybridsammanfattningen (6600 s / 350 s) och tröghetsuppdelningen är fastlåsta via sina undervisningsscenarier (
scenarios/hybrid.toml,scenarios/inertial.toml) avteaching_scenarios_match_their_recorded_expected_summary, som jämför varje motorsammanfattning med raden# expected:som filen registrerar. ½bT²-referensen ovan är fysikkontrollen av de talen.
Fallgropar och enheter#
- Tidsmåttet (FoM) anges i nanosekunder; positionsmåttet anges i meter och i 1-DOF (en frihetsgrad: en enda axel, inte CEP/2DRMS).
integrity 0.998är självkonsistens, inte integritet i flygtillämpning.- Den klassiska svitens tid klaras bara tack vare den optiska tidsöverföringens omsynkronisering; läs uppdelningen
(t …/p …), inte bara rubrikvärdet för PNT-holdover.
Vad händer härnäst#
- Kör det ärliga felfallet:
scenarios/lunanet-araim.toml(typlunar-integrity) rapporterar ett ARAIM-pass (advanced RAIM) vid sydpolen där skyddsnivåerna överskrider larmgränsen (HPL 263–452 m > 50 m, 0 av 24 epoker tillgängliga), så systemet rapporteras som otillgängligt: en egenskap, inte en bugg. - För berättelsen vidare till låg jordbana (LEO):
scenarios/leo-resilience-gnss-jammed-leo-carries.toml(typcampaign) kedjar en GNSS-jamming-fas, ett LEO-positioneringslager som bär användaren genom den och en integritetskontroll på en och samma tidslinje. Se de nyare förmågorna för de andra scenarierna för resiliens och vertikaler. - Försvara ett resultat: gör övningen på nivå 3 – Monte Carlo-band, reproducerbarhet och att läsa en skyddsnivå.