Synchronizace času bez internetu

Synchronizace času bez internetu

Kromě tcp/ip existuje mnoho způsobů, jak synchronizovat čas. Některé z nich vyžadují pouze běžný telefon, zatímco jiné vyžadují drahé, vzácné a citlivé elektronické vybavení. Rozsáhlá infrastruktura systémů časové synchronizace zahrnuje observatoře, vládní instituce, rozhlasové stanice, satelitní konstelace a mnoho dalšího.

Dnes vám řeknu, jak funguje synchronizace času bez internetu a jak si vyrobit „satelitní“ NTP server vlastníma rukama.

Krátkovlnné rozhlasové vysílání

Ve Spojených státech vysílá NIST přesný čas a frekvenci na rádiových vlnách 2.5, 5, 10, 15 a 20 MHz z WWVH ve Fort Collins, Colorado a na 2.5, 5, 10 a 15 MHz z WWVH na Kauai. Stát Hawaii . Časový kód je vysílán v 60 sekundových intervalech rychlostí 1 bps. pomocí pulzně šířkové modulace na 100 Hz subnosné.

Kanadská národní rada pro výzkum (NRC) distribuuje informace o čase a frekvenci na 3.33, 7.85 a 14.67 MHz z CHU v Ottawě, Ontario.

Synchronizace času bez internetu
Vysílací formát WWVH

K šíření signálu z krátkovlnných stanic obvykle dochází odrazem od horních vrstev ionosféry. Přenosy signálu lze přijímat na velké vzdálenosti, ale přesnost časování je v řádu jedné milisekundy.

Současný standard NTPv4 obsahuje ovladače zvuku pro WWV, WWVH a CHU.

Dlouhé rozhlasové vysílání

NIST také vysílá přesný čas a frekvenci přes dlouhovlnné rádio na 60 kHz z Boulderu v Coloradu. Existují další stanice vysílající časové signály na dlouhých vlnách.

Volací znaky a umístění
Frekvence (kHz)
Výkon (kW)

WWVB Fort Collins, Colorado, USA
60
50

DCF77 Mainflingen, Německo
77.5
30

Lékaři bez hranic Rugby, Spojené království
60>
50

HBG Prangins, Švýcarsko
75
20

JJY Fukushima, Japonsko
40
50

JJY Saga, Japonsko
60
50

Nízkofrekvenční standardní časové stanice

Časový kód je vysílán v 60sekundových intervalech rychlostí 1 bps, stejně jako krátkovlnné stanice. Formáty přenosu dat jsou také pro oba standardy podobné. Signál se šíří spodními vrstvami ionosféry, které jsou relativně stabilní a mají předvídatelné denní výkyvy nadmořské výšky. Díky této předvídatelnosti fyzikálního prostředí se přesnost zvyšuje na 50 μs.

Synchronizace času bez internetu
Vysílací formát WWVB

Geostacionární operační environmentální družice

V USA NIST také vysílá přesná data o čase a frekvenci na přibližně 468 MHz z geostacionárních provozních environmentálních satelitů (GOES). Časový kód se střídá se zprávami používanými k dotazování vzdálených senzorů. Skládá se z 60 BCD kousků přenášených v 30s intervalech. Informace o časovém kódu jsou podobné jako u pozemních služeb.

Globální polohovací systémy

Americké ministerstvo obrany používá GPS pro přesnou navigaci na zemi, na moři i ve vzduchu. Systém poskytuje 24hodinové pokrytí zeměkoule pomocí konstelace satelitů na 12hodinových drahách se sklonem 55°.

Původní konstelace 24 družic byla rozšířena na 31 družic v heterogenní konfiguraci tak, aby bylo vždy v dohledu alespoň 6 družic a nad většinou světa 8 a více družic.

Služby podobné GPS jsou provozovány nebo plánovány jinými zeměmi. Ruský GLONASS funguje už tucet let, počítá se od 2. září 2010, kdy byl celkový počet satelitů zvýšen na 26 – konstelace byla plně rozmístěna, aby zcela pokryla Zemi.

Synchronizace času bez internetu
GPS satelity po celém světě.

Satelitní navigační systém Evropské unie se nazývá Galileo. Očekávalo se, že Galileo začne fungovat v letech 2014-2016, kdy bude na oběžnou dráhu vypuštěno všech 30 plánovaných satelitů, ale od roku 2018 konstelace satelitů Galileo nedosáhla požadovaného počtu satelitů.

Existuje také čínské „Beidou“, což znamená „velryba“. Konstelace 16 satelitů byla spuštěna do komerčního provozu 27. prosince 2012 jako regionální polohovací systém. Plánuje se, že systém dosáhne plné kapacity do roku 2020. Zrovna dnes jsem vyšel na Habré článek, o úspěšném vypuštění družice tohoto systému.

Matematika určování souřadnic pomocí SRNS

Jak navigátor GPS/GLONASS na vašem smartphonu určí polohu s takovou přesností pomocí radionavigačního komunikačního systému (SRNS)? Abyste pochopili princip výpočtů, musíte si vzpomenout na stereometrii a algebru na střední škole nebo na škole fyziky a matematiky.

Každý satelit sděluje přijímači přesný čas. Satelit má atomové hodiny, a proto mu lze věřit. Při znalosti rychlosti světla není těžké určit poloměr koule, na jejímž povrchu se satelit nachází. Tato stejná koule v kontaktu se Zemí tvoří kruh, na kterém je umístěn přijímač GPS / Glonass.

Když signál dorazí ze dvou satelitů, máme již průsečík Země a dvou koulí, což dává pouze dva body na kružnici. Koule třetí družice by měla v ideálním případě spadat do jednoho z těchto dvou bodů, což nakonec určí souřadnice přijímače.

V zásadě i ze dvou satelitů lze na základě nepřímých důkazů pochopit, který z těchto dvou bodů je blíže pravdě, a moderní algoritmy navigačního softwaru se s tímto úkolem vypořádají. Proč tedy potřebujeme čtvrtý satelit?

Synchronizace času bez internetu
Určení polohy pomocí satelitní konstelace.

Je snadné vidět, že v tomto idealizovaném obrázku je mnoho nuancí, na kterých závisí přesnost výpočtů. Čas přijímače je možná nejviditelnějším zdrojem chyb. Aby vše fungovalo, jak má, musí být čas přijímače GPS / Glonass synchronizován s časem satelitu. Bez toho by byla chyba ∓ 100 tisíc km.

Ze vzorce pro rychlost, čas a vzdálenost S = v*t získáme základní rovnici pro přenos signálu SRNS. Vzdálenost k satelitu se rovná součinu rychlosti světla a časového rozdílu na satelitu a přijímači.

Synchronizace času bez internetu

Je to dáno především tím, že i po všech synchronizacích známe čas tpr na přijímači s dostatečnou mírou přesnosti. Mezi skutečným časem a tpr bude vždy Δt, díky čemuž se chyba výpočtu stává nepřijatelnou. Proto potřebujete čtvrtý družice.

Pro jasnější matematické zdůvodnění potřeby čtyř satelitů sestrojíme soustavu rovnic.

Synchronizace času bez internetu

K určení čtyř neznámých x, y, z a Δt musí být počet pozorování stejný nebo větší než počet neznámých. To je nutná, ale ne postačující podmínka. Pokud se ukáže, že matice normálních rovnic je singulární, systém rovnic nebude mít řešení.

Zapomenout bychom neměli ani na Speciální teorii relativity a relativistické efekty s dilatací času na satelitních atomových hodinách vzhledem k pozemním.

Synchronizace času bez internetu

Pokud předpokládáme, že se satelit pohybuje na oběžné dráze rychlostí 14 tisíc km/h, pak dostaneme dilataci času asi 7 μs (mikrosekundy). Na druhé straně fungují relativistické efekty Obecné teorie relativity.

Jde o toto: satelity na oběžné dráze jsou ve velké vzdálenosti od Země, kde je zakřivení časoprostorového kontinua menší než na zemském povrchu kvůli hmotnosti Země. Podle obecné teorie relativity se hodiny umístěné blíže k masivnímu objektu budou jevit pomaleji než ty dále od něj.

Synchronizace času bez internetu

  • G je gravitační konstanta;
  • M je hmotnost objektu, v tomto případě Země;
  • r je vzdálenost od středu Země k satelitu;
  • c je rychlost světla.

Výpočet pomocí tohoto vzorce dává dilataci času 45 μs na satelitu. Celkem -7μs +45μs = bilance 38μs - účinky STR a GTR.

V aplikacích určování polohy SRNS by se mělo vzít v úvahu také ionosférické a troposférické zpoždění. Korekce 46 ns jsou navíc způsobeny excentricitou 0.02 dráhy satelitů GPS.

Schopnost přijímat signály současně z více než čtyř satelitů GPS / GLONASS umožňuje dále zvýšit přesnost určování souřadnic přijímače. Toho je dosaženo díky tomu, že navigátor řeší soustavu čtyř rovnic se čtyřmi neznámými Synchronizace času bez internetu kolikrát a vezme průměrnou hodnotu, čímž se zvýší přesnost konečného odhadu podle zákonů matematické statistiky.

Jak nakonfigurovat NTP server Stratum 1 přes satelitní připojení

K nastavení kvalitního časového serveru potřebujete pouze GPSD, NTP a GPS přijímač s výstupem 1PPS (jeden puls za sekundu).

1. Nainstalujte gpsd a ntpd nebo gpsd a chronyd. Verze GPSD musí být ≥ 3.20

(1:1109)$ sudo emerge -av gpsd chrony

Local copy of remote index is up-to-date and will be used.

Calculating dependencies... done!

[binary  N     ] net-misc/pps-tools-0.0.20120407::gentoo  31 KiB

[binary  N     ] net-misc/chrony-3.5-r2::gentoo  USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB

[binary  N     ] sci-geosciences/gpsd-3.17-r3:0/23::gentoo  USE="X bluetooth cxx dbus ipv6 ncurses python shm sockets udev usb -debug -latency-timing -ntp -qt5 -static -test" GPSD_PROTOCOLS="aivdm ashtech earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 navcom ntrip oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tnt tripmate tsip ublox -fury -geostar -nmea0183 -nmea2000 -passthrough" PYTHON_TARGETS="python2_7" 999 KiB

Total: 3 packages (3 new, 3 binaries), Size of downloads: 1275 KiB

Would you like to merge these packages? [Yes/No]

2. Připojte přijímač GPS s podporou PPS k sériovému nebo USB portu RS232.

Běžný levný GPS přijímač nebude fungovat; Možná budete muset trochu hledat, abyste našli ten správný.

3. Ujistěte se, že zařízení skutečně vydává PPS; k tomu zkontrolujte port pomocí nástroje gpsmon.

4. Otevřete soubor /etc/conf.d/gpsd a upravte následující řádek.

Nahraďte

GPSD_OPTIONS=""

aby se stalo

GPSD_OPTIONS="-n"

Tato změna je nutná, aby gpsd ihned po spuštění začal hledat zdroje SRNS.

5. Spusťte nebo restartujte gpsd.

(1:110)$ sudo /etc/init.d/gpsd start
(1:111)$ sudo /etc/init.d/gpsd restart

Pro distribuce s systemd použijte příslušný příkaz systemctl.

6. Zkontrolujte výstup konzoly příkazu cgps.

Musíte se ujistit, že data jsou ze satelitů přijímána správně. Konzole by měla mít něco podobného jako na obrázku.

Synchronizace času bez internetu
Výstup příkazu konzoly cgps.

7. Je čas upravit soubor /etc/ntp.conf.

# GPS Serial data reference (NTP0)
server 127.127.28.0
fudge 127.127.28.0 time1 0.9999 refid GPS

# GPS PPS reference (NTP1)
server 127.127.28.1 prefer
fudge 127.127.28.1 refid PPS

Horní položka NTP0 označuje univerzální zdroj času dostupný na téměř všech zařízeních GPS. Spodní položka NTP1 definuje mnohem přesnější zdroj PPS.

8. Restartujte ntpd.

(1:112)$ sudo /etc/init.d/ntpd restart

Pro distribuce s systemd použijte příkaz systemctl.
$ sudo systemctl restart ntp

Použité materiály

Synchronizace času bez internetu

Synchronizace času bez internetu

Zdroj: www.habr.com

Přidat komentář