Neben TCP/IP gibt es viele Möglichkeiten zur Zeitsynchronisation. Einige davon erfordern lediglich ein gewöhnliches Telefon, während andere teure, seltene und empfindliche elektronische Geräte benötigen. Die umfangreiche Infrastruktur von Zeitsynchronisationssystemen umfasst Observatorien, staatliche Institute, Rundfunksender, Satellitengruppierungen und vieles mehr.
Heute erkläre ich, wie die Zeitsynchronisation ohne Internet funktioniert und wie Sie einen "satellitengestützten" NTP-Server selbst erstellen können.
Kurzwellen-Rundfunk
In den Vereinigten Staaten sendet das NIST die genaue Uhrzeit und Frequenzen über 2,5, 5, 10, 15 und 20 MHz Frequenzen von der Station WWVH in Fort Collins, Colorado, sowie auf 2,5, 5, 10 und 15 MHz von der Station WWVH in Kauai, Hawaii. Der Zeitcode wird über einen 60-Sekunden-Intervall mit einer Geschwindigkeit von 1 Bit/s unter Verwendung der breiten Impulsmodulation auf einer Trägersignal von 100 Hz übertragen.
Der Nationale Forschungsrat (NRC) Kanada verbreitet zeitliche und frequenztechnische Informationen auf 3,33, 7,85 und 14,67 MHz von der Station CHU in Ottawa, Ontario.

WWVH Rundfunkformat
Die Signalübertragung von Kurzwellensendern erfolgt typischerweise durch Reflexionen von den oberen Schichten der Ionosphäre. Die Signale können über große Entfernungen empfangen werden, jedoch beträgt die Zeitgenauigkeit etwa eine Millisekunde.
Der aktuelle Standard NTPv4 umfasst Audiotreiber für WWV, WWVH und CHU.
Langwellen-Rundfunk
NIST überträgt ebenfalls die genaue Zeit und Frequenz über Langwellen auf 60 kHz aus Boulder, Colorado. Es gibt auch andere Sender, die Zeitsteuersignale auf Langwellen verbreiten.
Rufzeichen und Standort
Frequenz (kHz)
Leistung (kW)
WWVB Fort Collins, Colorado, USA
60
50
DCF77 Mainflingen, Deutschland
77.5
30
MSF Rugby, Vereinigtes Königreich
60>
50
HBG Prangins, Schweiz
75
20
JJY Fukushima, Japan
40
50
JJY Saga, Japan
60
50
Niederfrequenz Standardzeitstationen
Der Zeitcode wird alle 60 Sekunden mit einer Geschwindigkeit von 1 b/s übertragen, ähnlich wie bei Kurzwellenstationen. Auch die Datenübertragungsformate sind bei beiden Standards vergleichbar. Die Signalverbreitung erfolgt durch die unteren Schichten der Ionosphäre, die relativ stabil sind und vorhersehbare tägliche Schwankungen in der Höhe aufweisen. Durch diese Vorhersehbarkeit der physikalischen Umgebung wird die Genauigkeit auf bis zu 50 μs erhöht.

WWVB Rundfunkformat
Geostationärer Betriebsumweltsatellit
In den USA überträgt das NIST auch Zeit- und Frequenzdaten auf etwa 468 MHz von geostationären Umweltsatelliten (GOES). Der Zeitcode wechselt mit Nachrichten, die zur Abfrage von entfernten Sensoren verwendet werden. Er besteht aus 60 BCD-Halbbytes, die im 30-Sekunden-Intervall übertragen werden. Die Zeitcode-Information ist vergleichbar mit den terrestrischen Diensten.
Globale Positionierungssysteme
Das US-Verteidigungsministerium nutzt GPS für präzise Navigation zu Land, zu Wasser und in der Luft. Dieses System bietet einen 24-Stunden-Weltabdeckungsdienst durch Satellitengruppierungen in 12-Stunden-Orbitalbahnen, die um 55° geneigt sind.
Die ursprüngliche Gruppierung von 24 Satelliten wurde auf 31 Satelliten in einer unregelmäßigen Konfiguration erweitert, sodass mindestens 6 Satelliten immer im Sichtfeld sind, während 8 oder mehr Satelliten in den meisten Teilen der Welt sichtbar sind.
Ähnliche Dienste wie GPS werden von anderen Ländern genutzt oder geplant. Das russische GLONASS-System ist bereits seit über einem Jahrzehnt in Betrieb, seit dem 2. September 2010, als die Gesamtanzahl der Satelliten auf 26 erhöht wurde — die Gruppierung war vollständig bereitgestellt für eine umfassende Abdeckung der Erde.

GPS-Satelliten um die Erde.
Das Satellitennavigationssystem der Europäischen Union heißt "Galileo". Es wurde erwartet, dass "Galileo" zwischen 2014 und 2016 in Betrieb geht, wenn alle 30 geplanten Satelliten in den Orbit gebracht werden. Bis 2018 erreichte die Satellitengruppierung "Galileo" jedoch nicht die erforderliche Anzahl von Geräten.
Es gibt auch das chinesische „Beidou“, was übersetzt „Wal“ bedeutet. Diese Gruppierung mit 16 Satelliten wurde am 27. Dezember 2012 in den kommerziellen Betrieb genommen und dient als regionale Positionierungssystem. Voll funktionsfähig soll das System bis 2020 sein. Heute wurde auf Habr eine , erfolgreiche Satellitenaussetzung dieses Systems angekündigt.
Mathematik zur Bestimmung von Koordinaten mittels GNSS
Wie bestimmt ein GPS/GLONASS-Navigator auf Ihrem Smartphone mit solch hoher Präzision den Standort über das System der Funknavigation (GNSS)? Um den Berechnungsansatz zu verstehen, sollte man sich an die Stereometrie und Algebra aus der Oberstufe der Schule oder von Mathematik- und Physik-Kursen erinnern.
Jeder Satellit sendet dem Empfänger die genaue Zeit. An den Satelliten sind Atomuhren installiert, weshalb man ihnen vertrauen kann. Mit der Lichtgeschwindigkeit lässt sich leicht der Radius der Kugel bestimmen, auf dessen Oberfläche sich der Satellit befindet. Diese Kugel berührt die Erde und bildet einen Kreis, auf dem sich der GPS/GLONASS-Empfänger befindet.
Wenn das Signal von zwei Satelliten empfangen wird, haben wir bereits den Schnittpunkt zwischen der Erde und den beiden Sphären, was nur zwei Punkte auf dem Kreis ergibt. Die Sphäre des dritten Satelliten sollte idealerweise in einen dieser beiden Punkte fallen, um die Koordinaten des Empfängers endgültig zu bestimmen.
Im Grunde kann man, selbst mit zwei Satelliten, durch indirekte Hinweise herausfinden, welcher der beiden Punkte näher an der Wahrheit liegt, und moderne Navigationsalgorithmen können diese Aufgabe bewältigen. Wozu benötigen wir also einen vierten Satelliten?

Standortbestimmung durch eine Satellitengruppierung.
Es ist leicht zu erkennen, dass es in diesem idealisierten Szenario viele Nuancen gibt, die die Genauigkeit der Berechnungen beeinflussen. Die Zeit am Empfänger ist wohl die offensichtlichste Fehlerquelle. Damit alles reibungslos funktioniert, müssen die GPS-/Glonass-Zeiten des Empfängers mit der Zeit des Satelliten synchronisiert werden. Ohne dies würde die Ungenauigkeit ± 100.000 km betragen.
Aus der Formel für Geschwindigkeit, Zeit und Entfernung S = v*t ergibt sich die grundlegende Gleichung für die Signalübertragung im GNSS. Der Abstand zum Satelliten entspricht dem Produkt aus Lichtgeschwindigkeit und der Zeitdifferenz zwischen Satellit und Empfänger.

Hauptsächlich geschieht dies, weil wir selbst nach allen Synchronisierungen die Zeit am Empfänger t_pr mit einer ausreichenden Genauigkeit kennen. Zwischen der tatsächlichen Zeit und t_pr wird es immer ein Δt geben, wodurch der Fehler in den Berechnungen unakzeptabel wird. Genau deshalb benötigen wir einen vierten Satelliten.
Um die mathematische Notwendigkeit von vier Satelliten klarer zu begründen, bauen wir ein Gleichungssystem auf.

Um die vier Unbekannten x, y, z und Δt zu bestimmen, muss die Anzahl der Beobachtungen gleich oder größer als die Anzahl der Unbekannten sein. Dies ist eine notwendige, aber nicht hinreichende Bedingung. Ist die Matrix der Normalgleichungen singulär, hat das Gleichungssystem keine Lösung.
Es sollte auch nicht über die spezielle Relativitätstheorie und die relativistischen Effekte wie die Zeitdilatation bei Satellitenatomuhren im Vergleich zu bodengestützten Uhren vergessen werden.

Wenn man davon ausgeht, dass der Satellit mit einer Geschwindigkeit von 14.000 km/h in der Umlaufbahn unterwegs ist, ergibt sich eine Zeitdilatation von etwa 7 µs (Mikrosekunden). Andererseits wirken relativistische Effekte der allgemeinen Relativitätstheorie.
Das Problem liegt darin, dass sich Satelliten in großen Höhen von der Erde befinden, wo die Krümmung des Raum-Zeit-Kontinuums geringer ist als an der Erdoberfläche aufgrund der Masse der Erde. Laut der allgemeinen Relativitätstheorie erscheinen die Uhren, die näher an einem massiven Objekt sind, langsamer zu gehen als jene, die weiter entfernt sind.

- G — die Gravitationskonstante;
- M — die Masse des Objekts, in diesem Fall der Erde;
- r — der Abstand vom Zentrum der Erde zum Satelliten;
- c — die Lichtgeschwindigkeit.
Die Berechnung nach dieser Formel ergibt eine Zeitdilatation von 45 µs am Satelliten. Insgesamt -7 µs + 45 µs = 38 µs Bilanz — Effekte der speziellen und allgemeinen Relativitätstheorie.
Bei praktischen Aufgaben zur Standortbestimmung mit GNSS sollten auch ionospherische und tropospherische Verzögerungen berücksichtigt werden. Darüber hinaus sind Korrekturen von 46 ns mit der Exzentrizität von 0,02 der GPS-Satellitenbahn verbunden.
Die Möglichkeit, Signale von mehr als vier GPS-/GLONASS-Satelliten gleichzeitig zu empfangen, erhöht die Genauigkeit der Positionsbestimmung des Empfängers erheblich. Dies wird erreicht, indem der Navigator ein System aus vier Gleichungen mit vier Unbekannten löst.
Dabei wird die Anzahl der Durchgänge und der Durchschnittswert ermittelt, was die Genauigkeit der endgültigen Schätzung gemäß den Gesetzen der mathematischen Statistik erhöht.
So richten Sie einen NTP-Server Stratum 1 über Satellitenkommunikation ein
Für die Einrichtung eines hochwertigen Zeitservers benötigen Sie lediglich GPSD, NTP und einen GPS-Empfänger mit einem 1PPS-Ausgang (ein Impuls pro Sekunde).
1. Installieren Sie gpsd und ntpd oder gpsd und chronyd. Die Version von gpsd sollte ≥ 3.20 sein.
(1:1109)$ sudo emerge -av gpsd chrony
Die lokale Kopie des Remote-Index ist aktuell und wird verwendet.
Abhängigkeiten werden berechnet... erledigt!
[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
Insgesamt: 3 Pakete (3 neu, 3 binär), Downloadgröße: 1275 KiB
Möchten Sie diese Pakete zusammenführen? [Ja/Nein]2. Verbinden Sie den GPS-Empfänger mit PPS-Unterstützung mit einem seriellen RS232- oder USB-Port.
Ein gewöhnlicher günstiger GPS-Empfänger ist nicht geeignet; es kann notwendig sein, etwas zu suchen, um einen passenden zu finden.
3. Stellen Sie sicher, dass das Gerät tatsächlich PPS ausgibt, indem Sie den Port mit dem Dienstprogramm gpsmon überprüfen.
4. Öffnen Sie die Datei /etc/conf.d/gpsd und bearbeiten Sie die folgende Zeile.
Ersetzen Sie
GPSD_OPTIONS=""durch
GPSD_OPTIONS="-n"Diese Änderung ist notwendig, damit gpsd beim Start sofort mit der Suche nach GPS-Quellen beginnt.
5. Starten oder starten Sie gpsd neu.
(1:110)$ sudo /etc/init.d/gpsd start
(1:111)$ sudo /etc/init.d/gpsd restart
Für Distributionen mit systemd verwenden Sie den entsprechenden Befehl systemctl.
6. Überprüfen Sie die Konsolenausgabe des Befehls cgps.
Es muss sichergestellt werden, dass die Daten ordnungsgemäß von den Satelliten empfangen werden. In der Konsole sollte etwas Ähnliches wie in der Abbildung angezeigt werden.

Die Ausgabe des Konsolenbefehls cgps.
7. Es ist Zeit, die Datei /etc/ntp.conf zu bearbeiten.
# 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
Der oberste Eintrag NTP0 verweist auf eine universelle Zeitquelle, die auf fast allen GPS-Geräten verfügbar ist. Der untere Eintrag NTP1 definiert eine weitaus genauere PPS-Quelle.
8. Starten Sie ntpd neu.
(1:112)$ sudo /etc/init.d/ntpd restart Für Distributionen mit systemd verwenden Sie den Befehl systemctl.
$ sudo systemctl restart ntp
Verwendete Materialien
- David L Mills, Das Network Time Protocol auf der Erde und im Weltraum, zweite Auflage.
Quelle: habr.com
