Slottiajoitus
Skenaariotyyppi slot-timing vastaa kolmeen kysymykseen kellolle, joka käy vapaasti synkronointien välillä ja jonka on pidettävä liikenne aikaindeksoidun aikavälin sisällä: reititys-, tehtävänanto- tai yhteydenottoaikaväli, jonka suoja-aika on suurin absoluuttinen aikavirhe kummalla puolella tahansa, jolla aikaväli vielä toimii.
- Milloin suoja-aika rikkoutuu? Sekunnit viimeisestä korjauksesta siihen, kun ennustettu aikavirhe saavuttaa suoja-ajan, kaikki vaikuttavat termit eriteltyinä ja hallitseva nimettynä.
- Kuinka paljon aikaa on nyt jäljellä? Sama luku vähennettynä korjauksesta kuluneella ajalla.
- Kuinka usein kellon on otettava korjaus? Suurin korjausten väli, joka pitää virheen suoja-ajan sisällä, vähennettynä viiveellä ennen kuin korjaus tulee voimaan.
Valinnainen osio spoofing lisää kiertoradalla olevan vastaanottimen ajoitussuojaustason (TPL); katso Kiertoradalla olevan vastaanottimen harhautus.
Aja mukana toimitettu esimerkki komennolla kshana example slot-timing-ocxo-leo.
Lyhenteet: GNSS, maailmanlaajuinen satelliittinavigointijärjestelmä; TCXO, lämpötilakompensoitu kideoskillaattori; OCXO, uunistabiloitu kideoskillaattori; RAFS, rubidiumatomitaajuusnormaali; CSAC, sirumittakaavan atomikello; USO, erittäin vakaa oskillaattori; DSAC, syväavaruuden atomikello; ADEV, Allanin poikkeama; FM, taajuusmodulaatio (tässä kellon taajuuden kohina); PM, vaihemodulaatio (sen vaiheen kohina); IEEE, Institute of Electrical and Electronics Engineers; ITU-T, Kansainvälisen televiestintäliiton telealan standardointisektori; TIE, aikaväliavirhe; MTIE, suurin aikaväliavirhe; TDEV, aikapoikkeama; max|TE|, suurin absoluuttinen aikavirhe; CUSUM, kumulatiivisen summan muutosilmaisin; TPL, ajoitussuojaustaso; LEO, matala Maan kiertorata; NIST SP, National Institute of Standards and Technology Special Publication; UFFC, Ultrasonics, Ferroelectrics, and Frequency Control (IEEE Transactions -julkaisu); IGS, International GNSS Service; GPS, Global Positioning System; Block IIF, GPS Block II Follow-on -satelliitit; SHA-256, 256-bittinen Secure Hash Algorithm; PPS, pulssi sekunnissa.
Virhemalli#
Ennustettu aikavirhe, kun kello on käynyt vapaasti t sekuntia korjauksesta, on
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
| Symboli | Merkitys |
|---|---|
k |
kattavuuskerroin (3 vastaa noin 99,7 % gaussisesta virheestä) |
σ₀ |
korjauksen yhden sigman aikavirhe |
σ_f |
korjaushetkellä tunnetun taajuuden yhden sigman virhe; ikkunan W yli estimoidun taajuuden virhe on noin σ_y(W) |
σ_PM² |
valkoisen vaihekohinan varianssi: aikavirheen värinä, vakiopohja |
q_wf, q_rw, q_rr |
valkoisen, satunnaiskävely- ja satunnaisajo-FM:n tiheydet (funktion holdover::coast_phase_variance van Loan -termit) |
h_F |
Allanin varianssin flicker-FM-pohja |
y₀ |
korjauksen jälkeen jäävä suhteellinen taajuuspoikkeama |
c_T·ΔT |
lämpötilan muutoksesta ΔT aiheutuva taajuuspoikkeama lämpötilakertoimen c_T kautta |
D |
lineaarinen ikääntymisnopeus |
Kukin FM-termi on yhtä suuri kuin t²·σ_y²(t) omalle kohinatyypilleen, kun σ_y²(τ) = 3σ_PM²/τ² + q_wf/τ + h_F + q_rw·τ/3 + q_rr·τ³/20 (Zucca ja Tavella, IEEE Trans. UFFC 52(2), 2005). Valkoiselle, satunnaiskävely- ja satunnaisajo-FM:lle tämä relaatio on tarkka. Flicker-FM:lle se on aikaennustevirheen tavanomainen estimaatti (Riley, NIST SP 1065): flicker-FM:llä ei ole suljettua muotoa ilman matalataajuista rajaa. Taajuuspoikkeamat lasketaan yhteen itseisarvoina, koska niiden etumerkit ovat tuntemattomia, joten deterministinen osa on pahin tapaus. Jokainen termi on ei-negatiivinen ja ei-vähenevä muuttujan t suhteen, joten yhtälöllä E(t) = guard on yksi juuri, joka löydetään sulkemalla ja puolittamalla.
Mistä kello tulee#
| Lähde | Skenaarioavain | Mikä se on | Taso |
|---|---|---|---|
| Luokan oletus | oscillator.class |
yksi siteerattu yhden sekunnin ADEV ja punakohinapohja, joka syntetisoidaan kaksi ja neljä dekadia sen alapuolelle | MODELLED: vastaus vakaalle kellolle määräytyy oletetun pohjan mukaan |
| Datalehden esiasetus | oscillator.preset |
telekommunikaation ajoitusesiasetukset (ocxo, rubidium, caesium, csac), kukin nimetty Microchipin datalehti |
MODELLED: datalehtien maksimiarvojen verhokäyrä |
| Rivinsisäinen datalehti | oscillator.datasheet |
asiakkaan oma ADEV-taulukko, ikääntyminen ja lämpötilakerroin | MODELLED: annettujen maksimien verhokäyrä |
| Mitattu tallenne | oscillator.record |
vaihetallenne; sen limittyvä ADEV sovitetaan painotetulla pienimmän neliösumman menetelmällä | inversio on VALIDATED pidätetyllä todellisella tallenteella (alla) |
Versiossa 0.28.0 lisätyt kolme luokkaa siteeraavat kukin yhtä julkista datalehteä:
| Luokka | Yhden sekunnin ADEV | Lähde |
|---|---|---|
tcxo |
2.0e-10 | EndRun Technologies, Disciplined Oscillator Options, TCXO-perussarake |
ocxo |
5e-12 | Microchip OX-208 -datalehti, Rev 12-1-2021 |
rafs |
3e-11 | Microchip 8040C Rubidium Frequency Standard -datalehti, DS00003047A |
EndRunin pitkän keskiarvoistusajan rivit konvergoivat koko taulukossa (4e-13 kaikille oskillaattoreille paitsi TCXO:lle, 8e-13, kohdassa 10 000 s, ja 6e-14 kaikille kohdassa 100 000 s), mikä viittaa siihen, että ne kuvaavat kurinalaistettua tuotetta eikä vapaasti käyvää oskillaattoria, joten niitä ei käytetä.
Tallennesovitus on painotettu. Allanin varianssin estimaatilla, jolla on edf ekvivalenttista vapausastetta, on varianssi noin 2σ⁴/edf, joten jokainen piste tulee mukaan residuaalilla √(edf/2)·(model/σ² − 1). Painottamaton sovitus antoi lyhyiden keskiarvoistusaikojen ratkaista pitkien aikojen termit: valkoisen FM:n testitallenteella se tuotti virheellisen flicker-pohjan, joka lyhensi rikkoutumista, joka oli 2 000 s, 30 %. Datalehti tai tallenne tukee vain keskiarvoistusaikoja sen pisimpään pisteeseen asti; sen yli menevä rikkoutuminen merkitään extrapolated.
Validointi: inversio pidätetyllä todellisella kellolla#
tests/slot_timing_cs5071a_holdout.rs käyttää 556 990 näytteen tallennetta 5071A-cesiumnormaalista mitattuna vetymaseria vastaan (A. Wallin, jaettu paketin allantools mukana; sama tallenne, jota estimaattorin oraakkeli tests/cs5071a_reference.rs käyttää). Kun maser on vertailu, tallenne on 6.4 päivän vapaa ajo.
- Sovita kohinamalli vain tallenteen ensimmäiseen kolmannekseen.
- Ennusta tästä mallista vapaakäyntiaika, jolloin yhden sigman aikavirhe saavuttaa 0,5, 0,75, 1, 1,5, 2 ja 2,5 ns.
- Kahdella muulla kolmanneksella aja vapaasti synkronointipisteestä joka 997 s edeltävästä kolmanneksesta estimoidulla taajuudella ja mittaa, missä vapaakäynnin neliöllinen keskivirhe saavuttaa kunkin kynnyksen.
Hyväksymiskynnys, joka asetettiin ennen testin ensimmäistä ajoa, on, että jokainen ennustettu rikkoutuminen on kertoimen 1,5 sisällä mitatusta. Kontrollin, eli yhden sekunnin ADEV:n luettuna valkoisena FM:nä, on epäonnistuttava tässä kynnyksessä, jotta kynnys osaa erottaa hyvän mallin huonosta. Testi tulostaa taulukkonsa; mutaatio, joka puolittaa valkoisen FM:n tason, epäonnistuu siinä. Raakatallenne on kolmannen osapuolen dataa, jota git ohittaa: scripts/fetch_cs5071a.sh hakee sen, ja työnkulku realdata-clock ajaa testin asetuksella KSHANA_REQUIRE_REALDATA=1, joten puuttuva tiedosto epäonnistuu siellä eikä ohitu.
Mitä tämä validoi: sovitus-ja-inversio-polun valkoisen FM:n hallitsemalla atomikellonormaalilla, noin 50 000 s asti ulottuvilla vapaakäynneillä. Mitä se ei validoi: datalehti- ja luokkalähteitä, deterministisiä termejä eikä kideoskillaattoria (seuraava osio).
Sama ennuste todellisella kideoskillaattorilla: konservatiivinen, ei validoitu#
tests/slot_timing_ocxo_holdout.rs käyttää mitattua OCXO:ta: 19 982 yhden sekunnin taajuuslukemaa oskillaattorista (taajuus 10 MHz) HP:n impedanssianalysaattorissa, vetymaseria vastaan (A. Wallin, 2015, jaettu paketin allantools mukana; scripts/fetch_ocxo.sh). Kohinamalli ja lineaarinen ajautuma sovitetaan ensimmäiselle kolmannekselle; jokainen vapaakäynti kahdella muulla kolmanneksella alkaa edeltävien 100 s ylitse estimoidusta taajuudesta, ja malli kantaa tämän estimaatin epävarmuuden (fix_frequency_sigma, mallin oma Allanin poikkeama kohdassa 100 s).
| Sovitettu aineistoon | Ennustettu ÷ mitattu rikkoutuminen, 0,2–10 ns | Tulkinta |
|---|---|---|
| ensimmäinen kolmannes (pidätetty) | 0,59–0,70 | konservatiivinen: ei koskaan mitattua myöhemmin, enimmäkseen kynnyksen 1,5 ulkopuolella |
| itse arviointisegmentti (diagnostiikka) | 0,98–1,17 | inversio on oikein; pidätetty ero johtuu oskillaattorin muuttumisesta |
Oskillaattorin kohinapohja puolittui tallenteen aikana: ensimmäisen kolmanneksen Allanin poikkeama tasaantuu lähelle 7.5e-12, loput lähelle 3.5e-12. Aikaisin sovitettu malli yliennustaa kohinan, mikä on turvallinen suunta. Kidetapausta ei siksi ole validoitu, ja se jää luokkaan MODELLED. Kiteelle sovita asettuneelle tallenteelle ja sovita uudelleen osan ikääntyessä.
Miten protokolla valittiin, ilmoitettu koska se ei ollut sokko. Ensimmäinen tutkiva ajo käytti uudelleen cesiumprotokollaa (taajuus edeltävästä kolmanneksesta, ei taajuustermiä) ja ennusti rikkoutumiset 1,4–2,5 kertaa mitattua myöhemmiksi: optimistisesti, vaarallisessa suunnassa. Kiteen taajuus vaeltaa, joten tuntia ennen korjausta estimoitu taajuus on vanhentunut, eikä mallissa ollut termiä sille, kuinka hyvin taajuus tunnetaan korjaushetkellä. Termi fix_frequency_sigma lisättiin tästä syystä ja tämä protokolla lukittiin ennen testin kirjoittamista; hyväksymiskynnystä ei siirretty. Testi tarkistaa myös, että ilman termiä otoksensisäinen ennuste on optimistinen jokaisella kynnyksellä, joten termi on kantava.
Sama ennuste kiertoradalla olevilla atomikelloilla: 8 / 10, ei validoitu#
tests/slot_timing_igs_holdout.rs käyttää IGS:n lopullisia yhdistettyjä kelloja 30 sekunnin välein 14 päivän ajalta (17.–30. elokuuta 2025; scripts/fetch_igs_clocks.sh, jokainen tiedosto lukittu SHA-256:lla): jokainen GPS Block IIF -satelliitin kello IGS-aika-asteikkoa vastaan. Protokolla (satelliittijoukko, aukkosääntö, sovitusikkuna, synkronointi joka 3 570 s edeltävän tunnin taajuudella, kynnykset 1–20 ns, kynnys 1,5 ja sääntö, että luokka läpäisee vain jos jokainen satelliitti läpäisee) kirjoitettiin ylös ennen kuin yhtään dataa ladattiin.
| Satelliitit | Ennustettu ÷ mitattu rikkoutuminen | Päätös |
|---|---|---|
| G06, G08, G09, G10, G24, G26, G27, G32 | 0,76–1,46 | kynnyksen sisällä |
| G25 | 1,51–1,99 | optimistinen |
| G30 | 1,20–1,61 | optimistinen |
| G03 | ei arvioitu | suljettu pois aukkosäännöllä (puuttuva päivä) |
Kahdeksan kymmenestä on hyödyllinen todiste, mutta kahden satelliitin ennustetaan pitävän pidempään kuin ne pitivät, mikä on vaarallinen suunta, ja protokolla vaatii, että jokainen satelliitti läpäisee. Kiertoratatapaus jää siksi luokkaan MODELLED. Block IIF -satelliiteissa on sekä rubidium- että cesiumnormaali eikä IGS-tiedostoista käy ilmi, kumpi on aktiivinen, joten tulos ilmoitetaan satelliiteille, ei yhdelle kellotyypille. Miksi G25 ja G30 eroavat, ei ole tutkittu.
Bench-ajo lentoa edustavalle osalle (rajattu, ei tehty)#
Julkinen OCXO-tallenne on 5,5 tuntia pitkä, yhdestä laboratoriolaitteesta, oskillaattorin yhä asettuessa. Kidetapauksen validoisi pidempi mitattu vapaa ajo lentoa edustavasta OCXO:sta tai CSAC:sta vertailua vasten:
- aikaväliälaskin, joka vertaa oskillaattorin 1 PPS -signaalia GNSS-kurinalaistettuun tai maser-vertailuun, vähintään 10 päivää yhdellä näytteellä sekunnissa, lämpötila kirjattuna;
- sama pidätetty protokolla: sovita ensimmäiseen kolmannekseen, ennusta rikkoutumiset, mittaa lopusta, samalla kynnyksellä ja kontrollilla;
- tallenne ja sen tiiviste julkaistuna testin vieressä, jotta rivi on toistettava.
Se on estynyt viitelaitteistoon pääsyn puuttuessa, eikä sitä luvata.
Minkä vaellusmittarin perusteella aikaväli tulisi hyväksyä?#
Ajoitusstandardit tarjoavat kolme mittariperhettä. Aikaindeksoidulle aikavälille vain yksi niistä mittaa sitä, mikä aikavälin rikkoo.
- MTIE (ITU-T G.810) on suurin huipusta huippuun -TIE kaikissa tietyn pituisissa ikkunoissa. Se on sokea vakiopoikkeamalle: kello, joka on 1 µs pielessä mutta täysin tasainen, saa MTIE-arvon lähellä nollaa ja menettää jokaisen aikavälin. Se mittaa, kuinka paljon virhe muuttuu, ei missä se on.
- TDEV (ITU-T G.810) muodostetaan keskiarvoistetun vaiheen toisista differensseistä. Se poistaa vakiopoikkeaman ja vakiotaajuusvirheen, jotka ovat juuri ne termit, jotka hallitsevat vapaakäyntiä. Se luonnehtii kohinatyyppiä; se ei ole absoluuttisen ajoituksen hyväksymismittari.
- max|TE| (ITU-T G.8260; G.8271-standardin budjettimittari) on suurin absoluuttinen aikavirhe vertailuaika-asteikkoon nähden. Sitä voi verrata suoraan suoja-aikaan.
Johtopäätös. Hyväksy aikaväli max|TE|-mittarin mukaan suhteessa verkon vertailuaika-asteikkoon, arvioituna ennustettuna verhokäyränä viimeisestä korjauksesta ilmoitetulla kattavuuskertoimella. Sitä E(t) kuvaa: koska jokainen termi kasvaa muuttujan t mukana, vapaakäynnin, jonka pituus on T, maksimi on E(T). MTIE ja TDEV pysyvät hyödyllisinä diagnostiikkana: TDEV sen tunnistamiseen, mitä kohinatermiä on käsiteltävä, MTIE(L) rajaamaan, kuinka paljon virhe liikkuu aikavälin, jonka pituus on L, aikana.
Kaksi mittarin valinnasta seuraavaa tarkennusta:
- Suoja-aika koskee kahden solmun välistä suhteellista virhettä. Jos lähetin ja vastaanotin molemmat käyvät vapaasti itsenäisesti, niiden stokastiset virheet summautuvat neliöllisesti ja deterministiset virheet itseisarvoina. Kun stokastinen osa hallitsee, kullekin solmulle voidaan antaa
guard/√2; kun ikääntyminen tai lämpötila hallitsee,guard/2. - Kattavuuskerroin on suunnitteluvalinta, ei kellon ominaisuus.
k = 3rajaa noin 99,7 % gaussisista virheistä yhdellä hetkellä, ei kaikkien vuorokauden aikavälien yli; reittisuunnitelma, jossa on monta aikaväliä vuorokaudessa, tarvitsee aikavälikohtaisen riskin, jonka se sietää.
Kiertoradalla olevan vastaanottimen harhautus#
Osio spoofing arvioi funktion orbital_timing::orbital_timing samalle kellolle:
- Geometria. Maalla oleva harhauttaja yltää LEO-satelliittiin vain niin kauan kuin satelliitti on sen horisontin yläpuolella: korkeudella 550 km enintään noin kaksitoista minuuttia ylilentoa kohti. Harhauttaja, joka nostaa nopeudella
ρ, voi siksi vetää kelloa enintäänρkertaa tuon ikkunan verran, tai seuraavaan riippumattomaan tarkistukseen kuluvan ajan verran, jos se on lyhyempi (ramp_limited_pull_ns). - Dynamiikka. Yhteismuotoinen aikavetäminen siirtää jokaista pseudoetäisyyttä yhtä paljon ja imeytyy kellovirheeseen, ei paikkaan, joten radanpropagaattorin paikkatarkistusta ei lasketa ajoituksen ristiintarkistukseksi.
- Ristiintarkistukset. Satelliitilla on harvoin toista riippumatonta ajoitusvastaanotinta. Sillä on oman kellonsa vapaakäynti (kohdan
tplvalvonta), kaksisuuntainen ajansiirto maa-aseman kanssa yhteyksien aikana sekä aikavertailut satelliittien välisillä yhteyksillä. Ristiinlinkki on riippumaton yhdestä maalla olevasta harhauttajasta vain, jos naapuri on samalla hetkellä kyseisen harhauttajan peittoalueen ulkopuolella, minkä raportti tarkistaa satelliittien määrästä kiertoratatasoa kohti. - Ehdollinen raja. Valvonnan pohja plus kellon vapaakäynti CUSUM-havaitsemisviiveen aikana, supistuen täsmälleen muotoon
tpl::timing_protection_level_ns, kun kellolla ei ole flicker-, valkoisen vaiheen eikä satunnaisajotermiä. Kuten tuo raja, se pätee vain havaitsemisen ehdolla.
Kaikki tämä on MODELLED: pallomainen, pyörimätön Maa, ylilento suoraan yläpuolelta, yksi maanpäällinen harhauttaja ilmoitetulla enimmäisnousunopeudella. Signaalien saapumissuunta zeniittiin osoittavalla antennilla on todellinen ristiintarkistus, joka tarvitsee antennikuvion eikä ole mallinnettu. DECEIVED-TIME.md selittää, miksi allekirjoitettu ohjausviesti ei poista tätä uhkaa.
Ei mallinnettu#
Taajuushypyt, säteilyvaikutukset ja relativistiset taajuuspoikkeamat; lämpömalli (lämpötilan muutos on askel korjaushetkellä); itse synkronointiprotokolla (korjaus nollaa virheen arvoon fix_sigma_ns).