Kromě TCP/IP existuje mnoho způsobů, jak synchronizovat čas. Některé z nich vyžadují pouze obyčejný telefon, zatímco jiné potřebují nákladné, vzácné a citlivé elektronické zařízení. Rozsáhlá infrastruktura systémů synchronizace času zahrnuje observatoře, státní instituce, radiostanice, satelitní skupiny a mnoho dalšího.
Dnes vám ukážu, jak funguje synchronizace času bez internetu a jak si vyrobit 'satelitní' NTP server svépomocí.
Vysílání na krátkých vlnách
Ve Spojených státech NIST vysílá přesné časové a frekvenční informace na 2.5, 5, 10, 15 a 20 MHz rádiových vlnách ze stanice WWVH ve Fort Collins, Colorado, a na frekvencích 2.5, 5, 10 a 15 MHz ze stanice WWVH na Kauai, Hawaii. Časový kód je vysílán v 60sekundovém intervalu rychlostí 1 b/s pomocí šířkově-impulsní modulace na podnosné frekvenci 100 Hz.
Národní výzkumná rada (NRC) Kanady vysílá časové a frekvenční informace na 3.33, 7.85 a 14.67 MHz ze stanice CHU v Ottawě, provincie Ontario.

Formát vysílání WWVH
Rozšiřování signálu z krátkovlnných stanic obvykle probíhá odrazem od horních vrstev ionosféry. Přenosy signálu mohou být přijaty na velké vzdálenosti, avšak přesnost času činí přibližně jednu milisekundu.
Aktuální standard NTPv4 zahrnuje audio ovladače pro WWV, WWVH a CHU.
Vysílání na dlouhých vlnách
NIST také vysílá přesné časové a frekvenční informace na dlouhých rádiových vlnách na frekvenci 60 kHz z Boulderu v Coloradu. Existují také další stanice přenosu signálů přesného času na dlouhých vlnách.
Značky a umístění
Frekvence (kHz)
Výkon (kW)
WWVB Fort Collins, Colorado, USA
60
50
DCF77 Mainflingen, Německo
77.5
30
MSF Rugby, Velká Británie
60>
50
HBG Prangins, Švýcarsko
75
20
JJY Fukushima, Japonsko
40
50
JJY Saga, Japonsko
60
50
Nízkofrekvenční stanice standardního času
Časový kód se přenáší s intervalem 60 sekund rychlostí 1 b/s, stejně jako na krátkovlnných stanicích. Formáty přenosu dat jsou také podobné pro oba standardy. Šíření signálu probíhá přes spodní vrstvy ionosféry, které jsou relativně stabilní a mají předvídatelné denní kolísání výšky. Díky této předvídatelnosti fyzikálního prostředí se přesnost zvyšuje na 50 μs.

Formát vysílání WWVB
Geostacionární operační satelit pro sledování životního prostředí
V USA NIST také přenáší data o přesném čase a frekvenci přibližně na 468 MHz z geostacionárních operačních satelitů životního prostředí (GOES). Časový kód se střídá se zprávami určenými pro dotazování vzdálených senzorů. Skládá se z 60 BCD polobajtů, které jsou přenášeny v intervalu 30 sekund. Informace časového kódu jsou podobné pozemním službám.
Globální poziční systémy
Ministerstvo obrany USA používá GPS pro přesnou navigaci na souši, na moři a ve vzduchu. Tento systém zajišťuje 24hodinové pokrytí zeměkoule pomocí soustavy satelitů na 12hodinových orbitách, nakloněných pod úhlem 55°.
Původní soustava 24 satelitů byla rozšířena na 31 satelitů v nerovnoměrné konfiguraci, takže alespoň 6 satelitů je vždy v zorném poli, a 8 nebo více satelitů je v zorném poli v většině částí světa.
Služby podobné GPS provozují nebo plánují i jiné země. Ruský GLONASS funguje již více než deset let, pokud počítáme od 2. září 2010, kdy byl celkový počet satelitů zvýšen na 26 – soustava byla plně rozvinuta pro úplné pokrytí Země.

Satelity GPS kolem zeměkoule.
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 budou na orbitu vyneseny všechny 30 plánované satelity. Ale k roku 2018 satelitní soustava „Galileo“ stále nedosáhla potřebného počtu aparátů.
Existuje také čínský „Běidou“, což v překladu znamená „velryba“. Skupina složená z 16 satelitů byla uvedena do komerčního provozu 27. prosince 2012 jako regionální pozicovací systém. Plánuje se, že systém dosáhne plné kapacity do roku 2020. Dnes na Habru vyšel , článek o úspěšném vypuštění satelitu tohoto systému.
Matematika určování souřadnic prostřednictvím SRS
Jak GPS/Glonass navigátor ve vašem smartphonu určuje polohu s takovou přesností pomocí systému radiomagnetického spojení (SRS)? Abychom pochopili princip výpočtů, je třeba si vzpomenout na stereometrii a algebru z vyšších ročníků střední nebo fyzikálně-matematické školy.
Každý satelit vysílá přijímači přesný čas. Na satelitu jsou umístěny atomové hodiny, a proto jim lze důvěřovat. Znalost rychlosti světla umožňuje snadno určit poloměr sféry, na jejíž povrchu se satelit nachází. Tato sféra se dotýká Země a vytváří kruh, na kterém je GPS/Glonass přijímač.
Když signál přichází ze dvou satelitů, máme už průsečík Země a dvou sfér, což dává pouze dvě body na kruhu. Ideálně by sféra třetího satelitu měla zasáhnout jeden z těchto dvou bodů, čímž by definitivně určila souřadnice přijímače.
Principiálně lze dokonce i se dvěma satelity na základě nepřímých znaků pochopit, která z těchto dvou bodů je blíže pravdě, a moderní algoritmy navigačního softwaru s takovým úkolem dokážou zvládnout. Proč tedy potřebujeme čtvrtý satelit?

Určování polohy pomocí satelitní skupiny.
Není těžké si všimnout, že v tomto idealizovaném obraze existuje mnoho nuancí, na kterých závisí přesnost výpočtů. Čas na přijímači je pravděpodobně nejvíce patrným zdrojem chyb. Aby všechno fungovalo tak, jak má, musí být čas GPS/Glonass přijímače synchronizován s časem satelitu. Bez toho by se chyba pohybovala kolem ± 100 tisíc km.
Z rovnice rychlosti, času a vzdálenosti S = v*t získáváme základní rovnici pro přenos signálu SRS. Vzdálenost k satelitu je rovna součinu rychlosti světla a rozdílu času mezi satelitem a přijímačem.

Hlavně k tomu dochází proto, že i po všech synchronizacích známe čas na přijímači tпр s dostatečnou přesností. Mezi skutečným časem a tпр vždy existuje Δt, kvůli které se chyba výpočtů stává nepřijatelnou. Proto je potřeba čtvrtý satellite.
Pro jasnější matematické zdůvodnění nutnosti čtyř satelitů sestavíme systém rovnic.

Pro určení čtyř neznámých x, y, z a Δt je nutné, aby počet pozorování byl roven nebo větší než počet neznámých. To je nezbytná, ale nedostatečná podmínka. Pokud bude matice normálních rovnic degenerovaná, systém rovnic nebude mít řešení.
Nesmíme také zapomínat na Speciální teorii relativity a relativistické efekty se zpomalením času na satelitních atomových hodinách ve srovnání se zemskými.

Pokud předpokládáme, že satelit se pohybuje po orbitě rychlostí 14 tisíc km/h, dostáváme zpomalení času přibližně 7 μs (mikrosekund). Na druhé straně působí relativistické efekty obecné teorie relativity.
O co jde, satelity na oběžné dráze jsou na velké vzdálenosti od Země, kde je zakřivení časoprostoru menší než na zemském povrchu kvůli hmotnosti Země. Podle OTR bude chod hodin umístěných blíže k masivnímu objektu vypadat pomaleji než těch, které jsou dále od něj.

- G — gravitační konstanta;
- M — hmotnost objektu, v tomto případě Země;
- r — vzdálenost od středu Země k satelitu;
- c — rychlost světla.
Výpočet podle této formule dává zpomalení času 45 μs na satelitu. Celkem -7μs +45μs = 38μs bilance — efektů SRT a OTR.
V praktických úlohách určování polohy pomocí GNSS je také třeba vzít v úvahu ionosférické a troposférické zpoždění. Kromě toho jsou korekce 46 ns spojeny s excentricitou 0,02 orbit GPS satelitů.
Možnost přijímat signály současně z více než čtyř satelitů GPS / GLONASS umožňuje ještě více zvýšit přesnost určení souřadnic přijímače. To se dosahuje tím, že navigátor řeší systém čtyř rovnic se čtyřmi neznámými.
Počet opakování a průměrná hodnota zvyšují přesnost konečného vyhodnocení podle zákonů matematické statistiky.
Jak nastavit NTP server Stratum 1 přes satelitní spojení
Pro nastavení vysoce kvalitního časového serveru potřebujete pouze GPSD, NTP a GPS přijímač s výstupem 1PPS (jeden impulz za sekundu).
1. Nainstalujte gpsd a ntpd, nebo gpsd a chronyd. Verze gpsd by měla být ≥ 3.20
(1:1109)$ sudo emerge -av gpsd chrony
Místní kopie vzdáleného indexu je aktuální a bude použita.
Vypočítávám závislosti... hotovo!
[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
Celkem: 3 balíčky (3 nové, 3 binární), velikost stahování: 1275 KiB
Přejete si sloučit tyto balíčky? [Ano/Ne]2. Připojte GPS přijímač s podporou PPS k sériovému RS232 nebo USB portu.
Běžný levný GPS přijímač se nehodí; možná budete muset chvíli hledat, abyste našli vhodný.
3. Ujistěte se, že zařízení skutečně vydává PPS, pro to zkontrolujte port pomocí utilitky gpsmon.
4. Otevřete soubor /etc/conf.d/gpsd a upravte následující řádek.
Změnit
GPSD_OPTIONS=""tak, aby se stalo
GPSD_OPTIONS="-n"Tato změna je nutná, aby gpsd při spuštění ihned začal hledat zdroje GNSS.
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 konzolový výstup příkazu cgps.
Je třeba se ujistit, že data správně přicházejí ze satelitů. V konzole by mělo být něco podobného ilustraci.

Výstup konzolového příkazu cgps.
7. Nastal č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í záznam NTP0 odkazuje na univerzální časový zdroj, dostupný téměř na všech zařízeních GPS. Dolní záznam 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
- David L Mills, Protokol synchronizace času na Zemi a ve vesmíru, druhé vydání.
Zdroj: habr.com
