Tidsluketiming
Scenario-kind-en slot-timing svarer på tre spørsmål for en klokke som går fritt mellom synkroniseringer og må holde trafikken innenfor en tidsindeksert slot: en rutings-, oppgave- eller kontaktslot der vernemarginen er den største absolutte tidsfeilen, til begge sider, som slotten fortsatt fungerer ved.
- Når brytes vernemarginen? Sekunder fra siste posisjonsbestemmelse til den predikerte tidsfeilen når vernemarginen, med hvert bidragende ledd spesifisert og det dominerende navngitt.
- Hvor mye tid er igjen nå? Det samme tallet minus tiden som allerede er gått siden posisjonsbestemmelsen.
- Hvor ofte må klokken få en posisjonsbestemmelse? Det største intervallet mellom posisjonsbestemmelser som holder feilen innenfor vernemarginen, fratrukket ventetiden før en posisjonsbestemmelse får effekt.
En valgfri seksjon spoofing legger til beskyttelsesnivået for tid (TPL) for en mottaker i bane; se Spoofing av en mottaker i bane.
Kjør det medfølgende eksempelet med kshana example slot-timing-ocxo-leo.
Forkortelser: GNSS, Global Navigation Satellite System; TCXO, temperaturkompensert krystalloscillator; OCXO, ovnsstyrt krystalloscillator; RAFS, rubidium-atomfrekvensstandard; CSAC, atomklokke i brikkeskala; USO, ultrastabil oscillator; DSAC, atomklokke for dypt rom; ADEV, Allan-avvik; FM, frekvensmodulasjon (her støy på klokkens frekvens); PM, fasemodulasjon (støy på fasen); IEEE, Institute of Electrical and Electronics Engineers; ITU-T, Telecommunication Standardization Sector i International Telecommunication Union; TIE, tidsintervallfeil; MTIE, maksimal tidsintervallfeil; TDEV, tidsavvik; max|TE|, maksimal absolutt tidsfeil; CUSUM, endringsdetektor med kumulativ sum; TPL, beskyttelsesnivå for tid; 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-satellittene; SHA-256, den 256-bits Secure Hash Algorithm; PPS, puls per sekund.
Feilmodellen#
Den predikerte tidsfeilen etter coasting i t sekunder fra en posisjonsbestemmelse 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 |
dekningsfaktor (3 er omtrent 99,7 % av en gaussisk feil) |
σ₀ |
enkeltsigma tidsfeil for posisjonsbestemmelsen |
σ_f |
enkeltsigma feil i frekvensen kjent ved posisjonsbestemmelsen; en frekvens estimert over et vindu W har omtrent σ_y(W) |
σ_PM² |
varians for hvit fasestøy: jitter i tidsfeilen, et konstant gulv |
q_wf, q_rw, q_rr |
tettheter for hvit, random-walk- og random-run-FM (van Loan-leddene i holdover::coast_phase_variance) |
h_F |
flicker-FM-gulvet i Allan-variansen |
y₀ |
gjenværende brøkfrekvensavvik etter posisjonsbestemmelsen |
c_T·ΔT |
frekvensavvik fra en temperaturendring ΔT gjennom temperaturkoeffisienten c_T |
D |
lineær aldringsrate |
Hvert FM-ledd er lik t²·σ_y²(t) for sin egen støytype, med σ_y²(τ) = 3σ_PM²/τ² + q_wf/τ + h_F + q_rw·τ/3 + q_rr·τ³/20 (Zucca og Tavella, IEEE Trans. UFFC 52(2), 2005). For hvit, random-walk- og random-run-FM er den relasjonen eksakt. For flicker-FM er den det konvensjonelle estimatet av prediksjonsfeilen i tid (Riley, NIST SP 1065): flicker-FM har ingen lukket form uten en lavfrekvensgrense. Frekvensavvikene adderes i absoluttverdi fordi fortegnene er ukjente, så den deterministiske delen er et verste tilfelle. Hvert ledd er ikke-negativt og ikke-avtagende i t, så E(t) = guard har én rot, funnet ved innringing og halvering.
Hvor klokken kommer fra#
| Kilde | Scenarionøkkel | Hva det er | Nivå |
|---|---|---|---|
| Klassens standardverdi | oscillator.class |
ett oppgitt ADEV ved ett sekund og et rødstøygulv syntetisert to og fire dekader under det | MODELLED: svaret for en stabil klokke styres av det antatte gulvet |
| Databladpreset | oscillator.preset |
telekom-tidssynkroniseringspreset-ene (ocxo, rubidium, caesium, csac), hver et navngitt Microchip-datablad |
MODELLED: en omhylling av maksimalverdier fra databladet |
| Datablad i selve filen | oscillator.datasheet |
kundens egen ADEV-tabell, aldring og temperaturkoeffisient | MODELLED: en omhylling av de oppgitte maksimalverdiene |
| Målt registrering | oscillator.record |
en faseregistrering; dens overlappende ADEV tilpasses med vektet minste kvadraters metode | inversjonen er VALIDATED på en tilbakeholdt reell registrering (nedenfor) |
De tre klassene som ble lagt til i 0.28.0 viser hver til ett offentlig datablad:
| Klasse | ADEV ved ett sekund | Kilde |
|---|---|---|
tcxo |
2.0e-10 | EndRun Technologies, Disciplined Oscillator Options, kolonnen for enkel TCXO |
ocxo |
5e-12 | Microchip OX-208-datablad, Rev 12-1-2021 |
rafs |
3e-11 | Microchip 8040C Rubidium Frequency Standard-datablad, DS00003047A |
EndRuns rader for lange midlingstider konvergerer på tvers av den tabellen (4e-13 for hver oscillator unntatt TCXO, 8e-13, ved 10 000 s, og 6e-14 for alle ved 100 000 s), noe som tyder på at de beskriver det disiplinerte produktet og ikke den frittgående oscillatoren, så de brukes ikke.
Registreringstilpasningen er vektet. Et estimat av Allan-varians med edf ekvivalente frihetsgrader har varians omtrent 2σ⁴/edf, så hvert punkt går inn med residual √(edf/2)·(model/σ² − 1). En uvektet tilpasning lot de korte midlingstidene avgjøre leddene for lange midlingstider: på en testregistrering med hvit FM ga den et falskt flicker-gulv som forkortet et brudd ved 2 000 s med 30 %. Et datablad eller en registrering støtter bare midlingstider opp til sitt lengste punkt; et brudd utover det flagges extrapolated.
Validering: inversjonen på en tilbakeholdt reell klokke#
tests/slot_timing_cs5071a_holdout.rs bruker registreringen på 556 990 samples av en 5071A cesiumstandard målt mot en hydrogenmaser (A. Wallin, distribuert med allantools; den samme registreringen som estimatorreferansen tests/cs5071a_reference.rs bruker). Med hydrogenmaseren som referanse er registreringen en fri gange på 6.4 dager.
- Tilpass støymodellen bare på den første tredjedelen av registreringen.
- Predikér ut fra den modellen coastingtiden der enkeltsigma tidsfeilen når 0,5, 0,75, 1, 1,5, 2 og 2,5 ns.
- På de to andre tredjedelene, la klokken gå fra et synkroniseringspunkt hvert 997 s med frekvensen estimert fra den foregående tredjedelen, og mål hvor den kvadratiske middelverdien av coastingfeilen når hver terskel.
Bestått-terskelen, fastsatt før testen første gang ble kjørt, er at hvert predikert brudd ligger innenfor en faktor på 1,5 av det målte. En kontroll, ett-sekunds-ADEV lest som hvit FM, må ikke bestå den terskelen, slik at terskelen kan skille en god modell fra en dårlig. Testen skriver ut tabellen sin; en mutasjon som halverer nivået for hvit FM feiler den. Den rå registreringen er tredjepartsdata som er git-ignorert: scripts/fetch_cs5071a.sh henter den, og arbeidsflyten realdata-clock kjører testen med KSHANA_REQUIRE_REALDATA=1, slik at en manglende fil feiler der i stedet for å bli hoppet over.
Hva dette validerer: stien tilpass-så-inverter, på en atomstandard dominert av hvit FM, over coasting opp til omtrent 50 000 s. Hva det ikke validerer: databladkildene og klassekildene, de deterministiske leddene og en krystalloscillator (neste avsnitt).
Den samme prediksjonen på en reell krystalloscillator: konservativ, ikke validert#
tests/slot_timing_ocxo_holdout.rs bruker en målt OCXO: 19 982 frekvensavlesninger ved ett sekund av 10 MHz-oscillatoren i en HP impedansanalysator, mot en hydrogenmaser (A. Wallin, 2015, distribuert med allantools; scripts/fetch_ocxo.sh). Støymodellen og en lineær drift tilpasses på den første tredjedelen; hver coasting på de to andre tredjedelene starter fra en frekvens estimert over de foregående 100 s, og modellen bærer usikkerheten i det estimatet (fix_frequency_sigma, modellens eget Allan-avvik ved 100 s).
| Tilpasset på | Predikert ÷ målt brudd, 0,2 til 10 ns | Tolkning |
|---|---|---|
| den første tredjedelen (tilbakeholdt) | 0,59 til 0,70 | konservativ: aldri senere enn målt, for det meste utenfor terskelen på 1,5 |
| selve evalueringssegmentet (diagnostikk) | 0,98 til 1,17 | inversjonen er riktig; gapet til det tilbakeholdte er at oscillatoren endrer seg |
Oscillatorens støygulv ble halvert under registreringen: Allan-avviket for den første tredjedelen flater ut nær 7.5e-12, resten nær 3.5e-12. En modell tilpasset tidlig overpredikerer støyen, som er den trygge retningen. Krystalltilfellet er derfor ikke validert, og forblir MODELLED. For en krystall: tilpass på en innsvingt registrering og tilpass på nytt etter hvert som komponenten eldes.
Hvordan protokollen ble valgt, oppgitt fordi den ikke var blind. En første utforskende kjøring gjenbrukte cesiumprotokollen (frekvens fra den foregående tredjedelen, uten frekvensledd) og predikerte brudd 1,4 til 2,5 ganger senere enn målt: optimistisk, den farlige retningen. En krystalls frekvens vandrer, så en frekvens estimert timer før posisjonsbestemmelsen er utdatert, og modellen hadde ikke noe ledd for hvor godt frekvensen er kjent ved posisjonsbestemmelsen. Leddet fix_frequency_sigma ble lagt til av den grunnen, og denne protokollen ble fastsatt før testen ble skrevet; bestått-terskelen ble ikke flyttet. Testen kontrollerer også at prediksjonen i utvalget, uten leddet, er optimistisk ved hver terskel, så leddet bærer vekt.
Den samme prediksjonen på atomklokker i bane: 8 av 10, ikke validert#
tests/slot_timing_igs_holdout.rs bruker kombinerte endelige IGS-klokker ved 30 s i 14 dager (17 til 30 august 2025; scripts/fetch_igs_clocks.sh, hver fil festet med SHA-256): hver GPS Block IIF-satellittklokke mot IGS-tidsskalaen. Protokollen (satellittmengde, gapregel, tilpasningsvindu, en synkronisering hvert 3 570 s med frekvensen fra den foregående timen, terskler på 1 til 20 ns, terskelen på 1,5, og regelen om at klassen bare består hvis hver satellitt gjør det) ble skrevet ned før noen av dataene ble lastet ned.
| Satellitter | Predikert ÷ målt brudd | Vurdering |
|---|---|---|
| G06, G08, G09, G10, G24, G26, G27, G32 | 0,76 til 1,46 | innenfor terskelen |
| G25 | 1,51 til 1,99 | optimistisk |
| G30 | 1,20 til 1,61 | optimistisk |
| G03 | ikke evaluert | utelukket av gapregelen (en manglende dag) |
Åtte av ti er nyttig evidens, men to satellitter predikeres å holde lenger enn de gjorde, som er den farlige retningen, og protokollen krever at hver satellitt består. Banetilfellet forblir derfor MODELLED. Block IIF-satellitter har både rubidium- og cesiumstandarder, og IGS-filene sier ikke hvilken som er aktiv, så resultatet er oppgitt for satellittene, ikke for én klokketype. Hvorfor G25 og G30 avviker, er ikke undersøkt.
En bench-kjøring for en flygingsrepresentativ komponent (avgrenset, ikke utført)#
Den offentlige OCXO-registreringen er 5,5 timer lang, fra ett laboratorieinstrument, med oscillatoren fortsatt i innsvingning. Det som ville validere krystalltilfellet, er en lengre målt fri gange av en flygingsrepresentativ OCXO eller en CSAC mot en referanse:
- en tidsintervallteller som sammenligner oscillatorens 1 PPS med en GNSS-disiplinert referanse eller en maserreferanse, minst 10 dager med ett sample per sekund, med temperaturen logget;
- den samme tilbakeholdte protokollen: tilpass på den første tredjedelen, predikér bruddene, mål på resten, med samme terskel og kontroll;
- registreringen og hashen publisert ved siden av testen slik at raden kan reproduseres.
Det er blokkert av tilgang til referansemaskinvare og er ikke lovet.
Mot hvilket wander-mål bør en slot aksepteres?#
Tidsstandarder byr på tre familier av mål. For en tidsindeksert slot måler bare én av dem det som bryter sloten.
- MTIE (ITU-T G.810) er den største topp-til-topp-TIE-en innenfor et hvilket som helst vindu av en gitt lengde. Den er blind for et konstant avvik: en klokke som er 1 µs feil men helt stabil har en MTIE nær null og bommer på hver slot. Den måler hvor mye feilen endrer seg, ikke hvor den er.
- TDEV (ITU-T G.810) er bygget av andrediffererenser av midlet fase. Den fjerner et konstant avvik og en konstant frekvensfeil, som nettopp er leddene som dominerer en coasting. Den karakteriserer støytypen; den er ikke et akseptmål for absolutt tidssynkronisering.
- max|TE| (ITU-T G.8260; budsjettmålet i G.8271) er den største absolutte tidsfeilen mot referansetidsskalaen. Den kan sammenlignes direkte med en vernemargin.
Konklusjon. Godta en slot mot max|TE| relativt til nettverkets referansetidsskala, evaluert som en predikert omhylling fra siste posisjonsbestemmelse ved en oppgitt dekningsfaktor. Det er hva E(t) er: fordi hvert ledd vokser med t, er maksimum over en coasting med lengde T lik E(T). MTIE og TDEV forblir nyttige som diagnostikk: TDEV for å identifisere hvilket støyledd som bør angripes, MTIE(L) for å begrense hvor mye feilen beveger seg i løpet av en slot med lengde L.
To forbedringer som valget av mål innebærer:
- Vernemarginen gjelder den relative feilen mellom to noder. Hvis sender og mottaker begge går coasting uavhengig, adderes de stokastiske feilene kvadratisk og de deterministiske feilene i absoluttverdi. Når den stokastiske delen dominerer, kan hver node få
guard/√2; når aldring eller temperatur dominerer,guard/2. - Dekningsfaktoren er et utformingsvalg, ikke en egenskap ved klokken.
k = 3begrenser omtrent 99,7 % av gaussiske feil ved ett tidspunkt, ikke over hver slot i et døgn; en rutingplan med mange slots per døgn trenger den risikoen per slot den kan tåle.
Spoofing av en mottaker i bane#
Seksjonen spoofing evaluerer orbital_timing::orbital_timing for den samme klokken:
- Geometri. En spoofer på bakken når en LEO-satellitt bare mens satellitten er over horisonten: ved 550 km, høyst omtrent tolv minutter per passering rett over. En spoofer som ramper med rate
ρkan derfor trekke klokken med høystρganger det vinduet, eller ganger gapet til neste uavhengige kontroll hvis det er kortere (ramp_limited_pull_ns). - Dynamikk. Et felles tidstrekk i samme retning forskyver hver pseudoavstand like mye og absorberes i klokkebiasen, ikke i posisjonen, så en posisjonskontroll med banepropagatoren regnes ikke som en tidskrysskontroll.
- Krysskontroller. En satellitt har sjelden en andre uavhengig tidsmottaker. Den har sin egen klokkes coasting (monitoren til
tpl), en toveis tidsoverføring med en bakkestasjon under kontakter og tidssammenligninger over lenker mellom satellitter. En krysslenke er uavhengig av én spoofer på bakken bare hvis naboen er utenfor den spooferens fotavtrykk samtidig, noe rapporten kontrollerer ut fra antall satellitter per plan. - Betinget grense. Monitorgulvet pluss klokkens coasting over deteksjonsforsinkelsen til CUSUM, som reduseres nøyaktig til
tpl::timing_protection_level_nsnår klokken ikke har noe flicker-, hvitfase- eller random-run-ledd. Som den grensen gjelder den bare gitt deteksjon.
Alt dette er MODELLED: en sfærisk, ikke-roterende jord, en passering rett over, én spoofer på bakken med en oppgitt største rampehastighet. Ankomstretningen til signalene ved en antenne som peker mot zenit er en reell krysskontroll som trenger et antennemønster og ikke er modellert. DECEIVED-TIME.md forklarer hvorfor en signert kontrollmelding ikke fjerner denne trusselen.
Ikke modellert#
Frekvenssprang, strålingseffekter og relativistiske frekvensavvik; en termisk modell (temperaturendringen er et sprang ved posisjonsbestemmelsen); selve synkroniseringsprotokollen (en posisjonsbestemmelse nullstiller feilen til fix_sigma_ns).