Maskinoversættelse, ikke gennemgået af en modersmålstalende. Engelsk er referencen.

TidssynkroniseringRedigér på GitHubKilde: docs/SLOT-TIMING.md

Slottidssynkronisering

Scenarietypen slot-timing besvarer tre spørgsmål for et ur, der løber frit mellem synkroniseringer og skal holde trafik inden for et tidsindekseret slot: et routing-, opgave- eller kontaktslot, hvis guard er den største absolutte tidsfejl, til begge sider, ved hvilken slottet stadig virker.

  1. Hvornår brister guarden? Sekunder fra den seneste positionsbestemmelse, til den forudsagte tidsfejl når guarden, med hvert bidragende led opført enkeltvis og det dominerende nævnt.
  2. Hvor meget tid er der tilbage nu? Det samme tal minus den tid, der allerede er gået siden positionsbestemmelsen.
  3. Hvor ofte skal uret tage en positionsbestemmelse? Det største interval mellem positionsbestemmelser, der holder fejlen inden for guarden, fratrukket latenstiden, før en positionsbestemmelse får virkning.

Et valgfrit afsnit spoofing tilføjer tidsbeskyttelsesniveauet (TPL) for en modtager i kredsløb; se Spoofing af en modtager i kredsløb.

Kør det medfølgende eksempel med kshana example slot-timing-ocxo-leo.

Forkortelser: GNSS, Global Navigation Satellite System; TCXO, temperaturkompenseret krystaloscillator; OCXO, ovnstyret krystaloscillator; RAFS, rubidium-atomfrekvensstandard; CSAC, atomur i chipstørrelse; USO, ultrastabil oscillator; DSAC, atomur til dybt rum; ADEV, Allan-deviation; FM, frekvensmodulation (her støj på urets frekvens); PM, fasemodulation (støj på dets fase); IEEE, Institute of Electrical and Electronics Engineers; ITU-T, Telecommunication Standardization Sector i International Telecommunication Union; TIE, tidsintervalfejl; MTIE, maksimal tidsintervalfejl; TDEV, tidsdeviation; max|TE|, maksimal absolut tidsfejl; CUSUM, detektor for ændringer ud fra kumuleret sum; TPL, tidsbeskyttelsesniveau; LEO, lav jordbane; NIST SP, National Institute of Standards and Technology Special Publication; UFFC, Ultrasonics, Ferroelectrics, and Frequency Control (en IEEE Transactions); IGS, International GNSS Service; GPS, Global Positioning System; Block IIF, GPS Block II Follow-on-satellitterne; SHA-256, den 256-bit Secure Hash Algorithm; PPS, puls pr. sekund.

Fejlmodellen#

Den forudsagte tidsfejl efter at have drevet t sekunder fra en positionsbestemmelse er

E(t) = k·√(σ₀² + (σ_f·t)² + σ_x²(t))  +  (|y₀| + |c_T·ΔT|)·t  +  ½·|D|·t²
σ_x²(t) = σ_PM² + q_wf·t + h_F·t² + q_rw·t³/3 + q_rr·t⁵/20
Symbol Betydning
k dækningsfaktor (3 er omkring 99,7 % af en gaussisk fejl)
σ₀ én-sigma-tidsfejl for positionsbestemmelsen
σ_f én-sigma-fejl på den frekvens, der er kendt ved positionsbestemmelsen; en frekvens estimeret over et vindue W har omkring σ_y(W)
σ_PM² varians af hvid fasestøj: jitter på tidsfejlen, et konstant gulv
q_wf, q_rw, q_rr tætheder af hvid, random-walk- og random-run-FM (van Loan-leddene i holdover::coast_phase_variance)
h_F flicker-FM-gulv i Allan-variansen
y₀ resterende relativ frekvensforskydning efter positionsbestemmelsen
c_T·ΔT frekvensforskydning fra en temperaturændring ΔT gennem temperaturkoefficienten c_T
D lineær ældningsrate

Hvert FM-led er lig t²·σ_y²(t) for sin egen støjtype, med σ_y²(τ) = 3σ_PM²/τ² + q_wf/τ + h_F + q_rw·τ/3 + q_rr·τ³/20 (Zucca og Tavella, IEEE Trans. UFFC 52(2), 2005). For hvid, random-walk- og random-run-FM er den sammenhæng eksakt. For flicker-FM er den det konventionelle estimat af fejlen i tidsforudsigelsen (Riley, NIST SP 1065): flicker-FM har ingen lukket form uden en lavfrekvent afskæring. Frekvensforskydningerne lægges sammen i størrelse, fordi deres fortegn er ukendt, så den deterministiske del er et værste tilfælde. Hvert led er ikke-negativt og ikke-aftagende i t, så E(t) = guard har én rod, fundet ved indkredsning og bisektion.

Hvor uret kommer fra#

Kilde Scenarienøgle Hvad det er Niveau
Klassens standard oscillator.class én citeret ADEV ved ét sekund og et rødstøjsgulv syntetiseret to og fire dekader under den MODELLED: svaret for et stabilt ur styres af det antagne gulv
Forudindstilling fra datablad oscillator.preset forudindstillingerne for telekom-tidssynkronisering (ocxo, rubidium, caesium, csac), hver et navngivet Microchip-datablad MODELLED: en omhylling af maksimalværdier fra datablade
Indlejret datablad oscillator.datasheet kundens egen ADEV-tabel, ældning og temperaturkoefficient MODELLED: en omhylling af de angivne maksimalværdier
Målt optagelse oscillator.record en faseoptagelse; dens overlappende ADEV tilpasses ved vægtet mindste kvadrater inversionen er VALIDATED på en tilbageholdt, virkelig optagelse (nedenfor)

De tre klasser, der blev tilføjet i 0.28.0, citerer hver ét offentligt datablad:

Klasse ADEV ved ét sekund Kilde
tcxo 2.0e-10 EndRun Technologies, Disciplined Oscillator Options, kolonnen for basis-TCXO
ocxo 5e-12 Microchip OX-208-datablad, Rev 12-1-2021
rafs 3e-11 Microchip 8040C Rubidium Frequency Standard-datablad, DS00003047A

EndRuns rækker for lange middelværdidannelsestider konvergerer på tværs af den tabel (4e-13 for alle oscillatorer undtagen TCXO, 8e-13, ved 10.000 s, og 6e-14 for dem alle ved 100.000 s), hvilket tyder på, at de beskriver det disciplinerede produkt og ikke den frit løbende oscillator, så de bruges ikke.

Optagelsestilpasningen er vægtet. Et estimat af Allan-varians med edf ækvivalente frihedsgrader har en varians på omkring 2σ⁴/edf, så hvert punkt indgår med residualet √(edf/2)·(model/σ² − 1). En uvægtet tilpasning lod de korte middelværdidannelsestider afgøre leddene for lange middelværdidannelsestider: på en testoptagelse med hvid FM gav den et falsk flicker-gulv, der forkortede et brud på 2.000 s med 30 %. Et datablad eller en optagelse understøtter kun middelværdidannelsestider op til sit længste punkt; et brud ud over det markeres extrapolated.

Validering: inversionen på et tilbageholdt, virkeligt ur#

tests/slot_timing_cs5071a_holdout.rs bruger optagelsen med 556 990 sampler af en 5071A-cæsiumstandard målt mod en brintmaser (A. Wallin, distribueret med allantools; den samme optagelse som estimatorens uafhængige reference tests/cs5071a_reference.rs bruger). Med masteren som reference er optagelsen en fri kørsel på 6,4 døgn.

  1. Tilpas støjmodellen kun på optagelsens første tredjedel.
  2. Forudsig ud fra den model drivtiden, hvor én-sigma-tidsfejlen når 0,5, 0,75, 1, 1,5, 2 og 2,5 ns.
  3. På de to øvrige tredjedele drives der fra et synkroniseringspunkt hvert 997 s med frekvensen estimeret fra den foregående tredjedel, og det måles, hvor rodmiddelkvadratfejlen under driften når hver tærskel.

Beståelsestærsklen, fastsat før testen første gang blev kørt, er, at hvert forudsagt brud ligger inden for en faktor 1,5 af det målte. En kontrol, ADEV ved ét sekund læst som hvid FM, skal ikke bestå den tærskel, så tærsklen kan skelne en god model fra en dårlig. Testen udskriver sin tabel; en mutation, der halverer niveauet for hvid FM, får den til at fejle. Den rå optagelse er tredjepartsdata, der er git-ignoreret: scripts/fetch_cs5071a.sh henter den, og workflowet realdata-clock kører testen med KSHANA_REQUIRE_REALDATA=1, så en manglende fil fejler dér i stedet for at blive sprunget over.

Hvad dette validerer: stien fra tilpasning til inversion, på en atomstandard domineret af hvid FM, over drivperioder på op til omkring 50.000 s. Hvad det ikke validerer: datablads- og klassekilderne, de deterministiske led og en krystaloscillator (næste afsnit).

Den samme forudsigelse på en virkelig krystaloscillator: konservativ, ikke valideret#

tests/slot_timing_ocxo_holdout.rs bruger en målt OCXO: 19.982 frekvensaflæsninger ved ét sekund af 10 MHz-oscillatoren i en HP-impedansanalysator, mod en brintmaser (A. Wallin, 2015, distribueret med allantools; scripts/fetch_ocxo.sh). Støjmodellen og en lineær drift tilpasses på den første tredjedel; hver drivperiode på de to øvrige tredjedele starter fra en frekvens estimeret over de foregående 100 s, og modellen bærer dette estimats usikkerhed (fix_frequency_sigma, modellens egen Allan-deviation ved 100 s).

Tilpasset på Forudsagt ÷ målt brud, 0,2 til 10 ns Aflæsning
den første tredjedel (tilbageholdt) 0,59 til 0,70 konservativ: aldrig senere end målt, for det meste uden for tærsklen på 1,5
selve evalueringssegmentet (diagnostisk) 0,98 til 1,17 inversionen er rigtig; det tilbageholdte hul er oscillatoren, der ændrer sig

Oscillatorens støjgulv blev halveret under optagelsen: Allan-deviationen for den første tredjedel flader ud nær 7.5e-12, resten nær 3.5e-12. En model tilpasset tidligt overforudsiger støjen, hvilket er den sikre retning. Krystaltilfældet er derfor ikke valideret og forbliver MODELLED. For en krystal bør man tilpasse på en indsvunget optagelse og tilpasse igen, efterhånden som komponenten ældes.

Hvordan protokollen blev valgt, angivet fordi det ikke var blindt. En første udforskende kørsel genbrugte cæsiumprotokollen (frekvens fra den foregående tredjedel, intet frekvensled) og forudsagde brud 1,4 til 2,5 gange senere end målt: optimistisk, den farlige retning. En krystals frekvens vandrer, så en frekvens estimeret timer før positionsbestemmelsen er forældet, og modellen havde intet led for, hvor godt frekvensen er kendt ved positionsbestemmelsen. Leddet fix_frequency_sigma blev tilføjet af den grund, og denne protokol blev fastlagt, før testen blev skrevet; beståelsestærsklen blev ikke flyttet. Testen kontrollerer også, at forudsigelsen i stikprøven uden leddet er optimistisk ved hver tærskel, så leddet er bærende.

Den samme forudsigelse på atomure i kredsløb: 8 af 10, ikke valideret#

tests/slot_timing_igs_holdout.rs bruger IGS' endelige kombinerede ure ved 30 s i 14 døgn (17 til 30 august 2025; scripts/fetch_igs_clocks.sh, hver fil fastlåst med SHA-256): hvert GPS Block IIF-satellitur mod IGS-tidsskalaen. Protokollen (satellitsæt, hulregel, tilpasningsvindue, en synkronisering hvert 3.570 s med frekvensen fra den foregående time, tærskler på 1 til 20 ns, tærsklen på 1,5 og reglen om, at klassen kun består, hvis hver satellit gør det) blev nedskrevet, før nogen af dataene blev hentet.

Satellitter Forudsagt ÷ målt brud Dom
G06, G08, G09, G10, G24, G26, G27, G32 0,76 til 1,46 inden for tærsklen
G25 1,51 til 1,99 optimistisk
G30 1,20 til 1,61 optimistisk
G03 ikke evalueret udeladt efter hulreglen (en manglende dag)

Otte af ti er brugbart belæg, men to satellitter forudsiges at holde længere, end de gjorde, hvilket er den farlige retning, og protokollen kræver, at hver satellit består. Tilfældet i kredsløb forbliver derfor MODELLED. Block IIF-satellitter bærer både rubidium- og cæsiumstandarder, og IGS-filerne siger ikke, hvilken der er aktiv, så resultatet er angivet for satellitterne, ikke for én urtype. Hvorfor G25 og G30 afviger, er ikke undersøgt.

En bench-kørsel for en flyvningsrepræsentativ komponent (afgrænset, ikke udført)#

Den offentlige OCXO-optagelse er 5,5 timer lang, fra ét laboratorieinstrument, mens oscillatoren stadig indsvinger. Hvad der ville validere krystaltilfældet, er en længere målt fri kørsel af en flyvningsrepræsentativ OCXO eller en CSAC mod en reference:

  • en tidsintervaltæller, der sammenligner oscillatorens 1 PPS med en GNSS-disciplineret reference eller en maserreference, mindst 10 døgn med ét sampel pr. sekund og logget temperatur;
  • den samme tilbageholdte protokol: tilpas på den første tredjedel, forudsig bruddene, mål på resten, med samme tærskel og kontrol;
  • optagelsen og dens hash udgivet ved siden af testen, så rækken kan gengives.

Det afhænger af adgang til referencehardware og er ikke lovet.

Hvilken drivmetrik bør et slot accepteres mod?#

Tidsstandarder tilbyder tre familier af metrikker. For et tidsindekseret slot måler kun én af dem det, der får slottet til at bryde sammen.

  • MTIE (ITU-T G.810) er den største spids-til-spids-TIE inden for et vindue af en given længde. Den er blind for en konstant forskydning: et ur, der er 1 µs forkert men helt stabilt, har en MTIE nær nul og rammer ikke et eneste slot. Den måler, hvor meget fejlen ændrer sig, ikke hvor den er.
  • TDEV (ITU-T G.810) er bygget af andendifferenser af den midlede fase. Den fjerner en konstant forskydning og en konstant frekvensfejl, som netop er de led, der dominerer en drivperiode. Den karakteriserer støjtypen; den er ikke en acceptmetrik for absolut tidssynkronisering.
  • max|TE| (ITU-T G.8260; budgetmetrikken i G.8271) er den største absolutte tidsfejl i forhold til referencetidsskalaen. Den kan sammenlignes direkte med en guard.

Konklusion. Accepter et slot mod max|TE| i forhold til netværkets referencetidsskala, evalueret som en forudsagt omhylling fra den seneste positionsbestemmelse ved en angivet dækningsfaktor. Det er, hvad E(t) er: fordi hvert led vokser med t, er maksimum over en drivperiode af længden T lig E(T). MTIE og TDEV forbliver nyttige som diagnostik: TDEV til at identificere, hvilket støjled der skal angribes, MTIE(L) til at afgrænse, hvor meget fejlen bevæger sig under et slot af længden L.

To præciseringer, som metrikvalget indebærer:

  • Guarden gælder for den relative fejl mellem to noder. Hvis sender og modtager begge driver uafhængigt, lægges deres stokastiske fejl sammen kvadratisk og deres deterministiske fejl sammen i størrelse. Når den stokastiske del dominerer, kan hver node få guard/√2; når ældning eller temperatur dominerer, guard/2.
  • Dækningsfaktoren er et designvalg, ikke en egenskab ved uret. k = 3 afgrænser omkring 99,7 % af gaussiske fejl på ét tidspunkt, ikke over hvert slot på en dag; en routingplan med mange slots pr. dag har brug for den risiko pr. slot, den kan tolerere.

Spoofing af en modtager i kredsløb#

Afsnittet spoofing evaluerer orbital_timing::orbital_timing for det samme ur:

  • Geometri. En jordbaseret spoofer når en LEO-satellit kun, mens satellitten er over dens horisont: ved 550 km højst omkring tolv minutter pr. passage over hovedet. En spoofer, der ramper med raten ρ, kan derfor højst trække uret ρ gange det vindue, eller gange tiden til den næste uafhængige kontrol, hvis den er kortere (ramp_limited_pull_ns).
  • Dynamik. En fælles tidstrækning forskyder alle pseudoafstande ens og absorberes i urets bias, ikke i positionen, så en positionskontrol med en banepropagator tæller ikke som en tidskontrol på tværs.
  • Krydskontroller. En satellit har sjældent en anden uafhængig tidsmodtager. Den har sit eget urs drift (monitoren i tpl), en tovejs tidsoverførsel med en jordstation under kontakter og tidssammenligninger over intersatellitlinks. Et krydslink er kun uafhængigt af én jordbaseret spoofer, hvis naboen er uden for den spoofers fodaftryk i samme øjeblik, hvilket rapporten kontrollerer ud fra antallet af satellitter pr. plan.
  • Betinget grænse. Monitorgulvet plus urets drift over CUSUM-detektionslatensen, der reduceres nøjagtigt til tpl::timing_protection_level_ns, når uret ikke har noget flicker-, hvidfase- eller random-run-led. Som den grænse gælder den kun givet detektion.

Alt dette er MODELLED: en kugleformet, ikke-roterende Jord, en passage over hovedet, én jordbaseret spoofer med en angiven maksimal ramperate. Signalernes ankomstretning ved en zenitpegende antenne er en virkelig krydskontrol, som kræver et antennemønster og ikke er modelleret. DECEIVED-TIME.md forklarer, hvorfor en signeret kontrolmeddelelse ikke fjerner denne trussel.

Ikke modelleret#

Frekvenssprang, strålingseffekter og relativistiske frekvensforskydninger; en termisk model (temperaturændringen er et spring ved positionsbestemmelsen); selve synkroniseringsprotokollen (en positionsbestemmelse nulstiller fejlen til fix_sigma_ns).