Masintõlge, mida emakeelne kõneleja pole üle vaadanud. Võrdlusallikaks on ingliskeelne versioon.

AjastusMuuda GitHubisSource: docs/TIMING-HIL.md

Ajastuse riistvara tsüklis: antenn välja, holdover hinnata

Telekommunikatsiooni- ja energeetikaoperaatorid katsetavad ajastussüsteemi, võttes selle GNSS-i ära ja jälgides, mida kell teeb. Kshana ei tee seda nende eest ega puuduta nende seadmeid. See loeb ajavea salvestust, mille operaatori enda instrumendid tekitasid, jagab selle kaheks operaatori esitatud ajal ja mõõdab iga sammu avalike ITU-T maskide vastu. Stsenaariumi liik on holdover-test; näidisstsenaariumid on scenarios/holdover-test-example.toml ja scenarios/holdover-test-ptp4l.toml.

See on riistvaraohutuse aste 1: passiivne, ainult vastuvõtt, Kshanalt puudub RF (HARDWARE-SAFETY.md). Nõuandev tarkvara, mitte tüübikinnitust omav seade. Keegi ei ole seda protseduuri hinnanud, kinnitanud ega üle vaadanud ja see ei ütle midagi selle kohta, kas süsteem täidab mõnda soovitust.

Ajavea kirjest hinnatud holdover-i test, mootori v0.40.0 tegelikust käitusest stsenaariumil scenarios/holdover-test-example.toml (601 valimit iga 5 s järel). Operaator eemaldab GNSS-i ajal 600 s ja taastab selle ajal 2400 s; ajaviga triivib holdover-i lõpuks 299 ns-ini, ületab 100 ns eelarve pärast 675 s ja naaseb 100 ns ribasse 70 s pärast taastamist. Otsused: lähtetaseme maskid PASS, holdover-i maskid FAIL, holdover-i ümbrik FAIL, taastumine RECOVERED. Mõõdetud maski vastu, mitte kinnitus. Ajad on operaatori väide, mida Kshana ei ole kontrollinud. Nõuandev: uurimis- ja inseneeriatööriista analüüsitulemus; mitte tüübikinnitust omav navigatsiooniseade ega inimelu ohutusega seotud teenus.Ajavea kirjest hinnatud holdover-i test, mootori v0.40.0 tegelikust käitusest stsenaariumil scenarios/holdover-test-example.toml (601 valimit iga 5 s järel). Operaator eemaldab GNSS-i ajal 600 s ja taastab selle ajal 2400 s; ajaviga triivib holdover-i lõpuks 299 ns-ini, ületab 100 ns eelarve pärast 675 s ja naaseb 100 ns ribasse 70 s pärast taastamist. Otsused: lähtetaseme maskid PASS, holdover-i maskid FAIL, holdover-i ümbrik FAIL, taastumine RECOVERED. Mõõdetud maski vastu, mitte kinnitus. Ajad on operaatori väide, mida Kshana ei ole kontrollinud. Nõuandev: uurimis- ja inseneeriatööriista analüüsitulemus; mitte tüübikinnitust omav navigatsiooniseade ega inimelu ohutusega seotud teenus.

Protseduur#

Operaator teeb neli sammu. Kshana ei tee ühtegi neist.

Samm Mida operaator teeb Mida salvestus näitab
1. Lähtetase Laseb süsteemil töötada GNSS-iga lukustatult nii kaua, kui katse vajab (ja märgib, mitu päeva see oli enne lukustatud). Ajaviga distsiplineeritud olekus.
2. GNSS eemaldatud Eemaldab GNSS-i katsetatavast süsteemist, näiteks antennikaabli vastuvõtjast või labori enda simulaatori väljundi, ja kirjutab aja üles. Kontrollida kõigepealt vastuvõtja tootja kasutusjuhendit: mõned vastuvõtjad toidavad antenni ja mõned vajavad avatud pordil terminaatorit. Hetk, mil ajaviga hakkab triivima.
3. Holdover Jätab süsteemi planeeritud ajaks tema enda ostsillaatorile. Süsteemi holdover.
4. Taastumine Taastab GNSS-i ja kirjutab aja üles. Ajaviga naaseb (või mitte).

Kaks asja, mida operaator peab tegema, sest Kshana ei saa:

  • Öelda kaks aega. gnss_removed_s ja gnss_restored_s on operaatori väide. Kshana ei tuvasta eemaldamist salvestusest ega kontrolli aegu. Vale aeg nihutab sammude piire ja seega tulemust.
  • Kasutada salvestuse ja aegade jaoks sama kella. Kellalogi puhul algab ajatelg esimesest lugemist, seega on kaks aega sekundid logi esimesest reast.

Mida salvestada#

Mis tahes neist, olemasolevate lugejate clock_log kaudu (CLOCK-LOG-FORMATS.md):

Instrument Vorming Kuidas salvestus tehakse
linuxptp ptp4l (orja- või piirikella servo) ptp4l käivitada valikuga -m ja säilitada read ptp4l[time]: master offset N sK freq ...
linuxptp phc2sys phc2sys read phc2sys[time]: CLOCK_REALTIME phc offset N sK ...
linuxptp ts2phc ts2phc read ts2phc[time]: /dev/ptpN offset N sK ...
chrony tracking.log chrony-tracking log tracking failis chrony.conf
chrony statistics.log chrony-statistics log statistics failis chrony.conf
TAPR TICC loendur ticc ajatempli režiim etaloni suhtes
TimeLab ASCII eksport timelab faas esitatud ühikus
RINEX kellafail rinex-clk üks kell
mis tahes muu samples või csv_path time_s,time_error_ns paari, ühtlaselt diskreetitud

Oluline on, mida salvestus mõõdab. Servologi (linuxptp, chrony) salvestab nihke, mida deemon mõõtis ja korrigeerib: see on servo juhtimise all järele jääv ajaviga, mitte kella sõltumatu mõõtmine UTC suhtes. Katse holdover-i sammu ajal, mis tõesti eemaldab etaloni, näitab servolog ikkagi seda, mida deemon uskus, mis võib tegelikust veast erineda. TICC või muu loendur sõltumatu etaloni vastu on tugevam salvestus; öelda, millist kasutasite, kui tulemusest teatate.

Stsenaarium#

kind = "holdover-test"
masks = ["prtc-a", "eprtc-a-holdover"]      # see docs/TELECOM-TIMING.md for the ids

[test]
gnss_removed_s = 600.0                      # the operator's statement
gnss_restored_s = 2400.0                    # omit if GNSS was not restored within the record
locked_duration_days = 5.0                  # how long it was locked before step 2 (sets the ePRTC-A period)
recovery_band_ns = 100.0                    # |TE| inside this counts as recovered
recovery_dwell_s = 60.0                     # ... and must stay inside this long

[series.clock_log]                          # or [series] samples = [[t, ns], ...] or csv_path = "..."
format = "ptp4l"
path = "holdover-2026-11-02.log"            # or text = "..." inline
kshana holdover-test.toml

Valikulised võtmed: budgets (nimi, max_abs_te_ns, allikas; puudumisel telekommunikatsiooni ajastuse vaikeväärtused) ja clock = "..." võtmes [series.clock_log], et valida ühe allika logist, mis sisaldab mitut.

Mida aruanne sisaldab#

  • steps: lähtetaseme, holdover-i ja taastumise kohta algus ja lõpp, näidiste arv ning ajavea keskmine, rms-, suurim ja lõppväärtus.
  • masks: iga nimetatud mask, mõõdetud sammul, mille tingimus seda nimetab. Lukustatud kella jaoks kirjutatud mask mõõdetakse lähtetasemel; holdover-i või autonoomse kella jaoks kirjutatud mask holdover-il. Igal kontrollil on oma piir, mõõdetud väärtus, varu ja tabel, millest see on ärakirjastatud. Mask, mis vajab pikemat salvestust, kui samm andis, on INCOMPLETE, mitte kunagi ekstrapoleeritud; mask, mida mootor ei saa salvestuse näidisintervalli jaoks hinnata, on NOT-EVALUATED koos põhjusega.
  • holdover: murdosaline sagedusnihe, mida süsteem hoidis (vähimruutude sirge tõus läbi holdover-i ajavea, ns/s, mis on miljardikosad), jääk selle sirge ümber, suurim absoluutne ajaviga ja selle esinemise aeg ning samm eemaldamise hetkel.
  • holdover_envelope: ITU-T G.8272.1 tabeli 3 ePRTC-A holdover-i ümbris failist locked_duration_days, koos ajaga, millal see esimest korda ületatakse.
  • budgets: aeg pärast eemaldamist, millal iga ajavea eelarve esimest korda ületatakse.
  • recovery: kas |TE| jõudis vahemikku ja püsis seal viibimisaja, kui kaua pärast GNSS-i naasmist see algas, tipp pärast taastamist ning suurim samm järjestikuste näidiste vahel taastumise ajal.
  • curves: lähtetaseme ja holdover-i sammude MTIE ja TDEV.
  • verdicts: ühesõnaline kokkuvõte iga sammu kohta.

Iga arv kannab oma ühikut ja allikat aruande plokis units.

Sõnad ja piirid#

  • Tulemus on mõõdetud maski suhtes. Maskid on ärakirjastatud vabalt allalaaditavatest ITU-T soovitustest (samad tabelid mis liigil telecom-timing, loetletud failis TELECOM-TIMING.md) ning iga kirje, mille soovitused jätavad „for further study“ (edasiseks uurimiseks), puudub, seda ei ole täidetud. Kshana ei väida, et kell või süsteem täidab soovitust või on selle suhtes heaks kiidetud, ning aruanne ei väida seda samuti.
  • MODELLED. Sammuloogikat, sirge sobitust ja taastumisreeglit kontrollitakse salvestustel, mis on ehitatud valemitest, mille vastused on enne käivitust teada; ühtegi laboratoorset holdover-it ei ole hinnatud välise sõltumatu etaloni vastu ning ükski partner ega laboratoorium ei ole millegagi nõustunud. Enne kui mõnda kellaklassi kohta käivat arvu saaks ülendada, oleks vaja ajastuse laboratooriumi.
  • Mida ei kata, esitatud igas aruandes: kas GNSS tõesti eemaldati ja taastati esitatud aegadel; iga samm, mida operaator ei salvestanud; maskid, mis on defineeritud 0,1 Hz filtri kaudu, salvestuse jaoks, mida diskreetiti harvem kui kord sekundis; instrumendi enda mõõtemääramatus; ning iga soovituse protseduur, mis ületab ajavea salvestust (temperatuuriprofiilid, pakettvõrgu koormus).
  • Taastumisvahemik on katse enda valik. Vaikeväärtus 100 ns on PRTC-A suurim absoluutne ajaviga (ITU-T G.8272); see on mugav joon, mitte ühegi soovituse nõue taastumisele.
  • Edastusteed ei ole. Kshana loeb faile. See ei genereeri signaali ning GNSS-i eemaldamine laboris tehakse labori enda seadmetega ja selle enda loa all.

Pinnad#

holdover-test on stsenaariumi liik, seega töötab see kõikjal, kus liigid töötavad: kshana <scenario.toml>, Rust API (kshana::api::run_toml), Pythoni sidumine (kshana.run), WebAssembly ja npm ehitus (sisemine samples või clock_log.text; failivõtmed pole seal saadaval), MCP server (run_scenario, ainult sisemine sisu) ja Kshana Studio stsenaariumi käitaja. Kaks stsenaariumifaili on kaasas (kshana example holdover-test-example).