Sincronizzazione dell'ora senza Internet

Sincronizzazione dell'ora senza Internet

Oltre a TCP/IP, esistono molti modi per sincronizzare l'ora. Alcuni di essi necessitano solo di un normale telefono, mentre altri necessitano di apparecchiature elettroniche costose, rare e sensibili. L'ampia infrastruttura dei sistemi di sincronizzazione dell'ora comprende osservatori, istituzioni governative, stazioni radio, costellazioni satellitari e molto altro.

Oggi ti dirò come funziona la sincronizzazione dell'ora senza Internet e come creare un server NTP “satellitare” con le tue mani.

Trasmissione radiofonica ad onde corte

Negli Stati Uniti, il NIST trasmette l'ora e la frequenza precise su onde radio a 2.5, 5, 10, 15 e 20 MHz dal WWVH di Fort Collins, Colorado, e su 2.5, 5, 10 e 15 MHz dal WWVH a Kauai. . Il codice temporale viene trasmesso a intervalli di 60 secondi a 1 bps. utilizzando la modulazione di larghezza di impulso su una sottoportante a 100 Hz.

Il Consiglio Nazionale delle Ricerche (NRC) del Canada distribuisce informazioni su tempo e frequenza su 3.33, 7.85 e 14.67 MHz dal CHU di Ottawa, Ontario.

Sincronizzazione dell'ora senza Internet
Formato di trasmissione WWVH

La propagazione del segnale dalle stazioni a onde corte avviene solitamente per riflessione dagli strati superiori della ionosfera. Le trasmissioni del segnale possono essere ricevute su lunghe distanze, ma la precisione della temporizzazione è dell'ordine di un millisecondo.

L'attuale standard NTPv4 include driver audio per WWV, WWVH e CHU.

Trasmissione radiofonica a onde lunghe

Il NIST trasmette anche l'ora e la frequenza precise tramite radio a onde lunghe a 60 kHz da Boulder, in Colorado. Ci sono altre stazioni che trasmettono segnali orari su onde lunghe.

Segnali di chiamata e posizione
Frequenza (kHz)
Potenza (kW)

WWVB Fort Collins, Colorado, Stati Uniti
60
50

DCF77 Mainflingen, Germania
77.5
30

MSF Rugby, Regno Unito
60>
50

HBG Prangins, Svizzera
75
20

JJY Fukushima, Giappone
40
50

JJY Saga, Giappone
60
50

Stazioni orarie standard a bassa frequenza

Il codice temporale viene trasmesso a intervalli di 60 secondi a 1 bps, proprio come le stazioni a onde corte. Anche i formati di trasmissione dei dati sono simili per entrambi gli standard. Il segnale si propaga attraverso gli strati inferiori della ionosfera, che sono relativamente stabili e presentano variazioni giornaliere prevedibili in altitudine. Grazie a questa prevedibilità dell'ambiente fisico, la precisione aumenta fino a 50 μs.

Sincronizzazione dell'ora senza Internet
Formato di trasmissione WWVB

Satellite ambientale operativo geostazionario

Negli Stati Uniti, il NIST trasmette anche dati precisi su tempo e frequenza su circa 468 MHz da satelliti ambientali operativi geostazionari (GOES). Il codice temporale si alterna ai messaggi utilizzati per interrogare i sensori remoti. Consiste di 60 bocconcini BCD trasmessi a intervalli di 30 s. Le informazioni sul codice temporale sono simili ai servizi terrestri.

Sistemi di posizionamento globale

Il Dipartimento della Difesa degli Stati Uniti utilizza il GPS per una navigazione precisa su terra, mare e aria. Il sistema fornisce una copertura 24 ore su 12 del globo utilizzando una costellazione di satelliti in orbite di 55 ore inclinate di XNUMX°.

La costellazione originale di 24 satelliti è stata ampliata a 31 satelliti in una configurazione eterogenea in modo che almeno 6 satelliti siano sempre in vista e 8 o più satelliti siano in vista sulla maggior parte del mondo.

Servizi simili al GPS vengono gestiti o pianificati da altri paesi. Il GLONASS russo è operativo da una dozzina di anni, se si conta dal 2 settembre 2010, quando il numero totale di satelliti è stato aumentato a 26: la costellazione è stata completamente dispiegata per coprire completamente la Terra.

Sincronizzazione dell'ora senza Internet
Satelliti GPS in tutto il mondo.

Il sistema di navigazione satellitare dell'Unione europea si chiama Galileo. Si prevedeva che Galileo avrebbe iniziato a funzionare nel 2014-2016, quando tutti i 30 satelliti previsti sarebbero stati lanciati in orbita, ma nel 2018 la costellazione di satelliti Galileo non aveva raggiunto il numero richiesto di satelliti.

Esiste anche il cinese “Beidou”, che significa “balena”. La costellazione di 16 satelliti è stata messa in servizio commerciale il 27 dicembre 2012 come sistema di posizionamento regionale. Si prevede che il sistema raggiungerà la piena capacità entro il 2020. Proprio oggi ho fatto coming out su Habré articolo, sul lancio riuscito di un satellite di questo sistema.

Matematica per determinare le coordinate utilizzando SRNS

Come fa il navigatore GPS/GLONASS del tuo smartphone a determinare la posizione con tale precisione utilizzando il sistema di comunicazione radionavigazione (SRNS)? Per comprendere il principio dei calcoli, è necessario ricordare la stereometria e l'algebra al liceo, o alla scuola di fisica e matematica.

Ogni satellite comunica al ricevitore l'ora esatta. Il satellite ha un orologio atomico e quindi ci si può fidare. Conoscendo la velocità della luce, non è difficile determinare il raggio della sfera sulla superficie su cui si trova il satellite. Questa stessa sfera, a contatto con la Terra, forma un cerchio su cui è posizionato il ricevitore GPS/Glonass.

Quando il segnale arriva da due satelliti, abbiamo già l'intersezione tra la Terra e due sfere, che dà solo due punti sul cerchio. La sfera del terzo satellite dovrebbe idealmente ricadere in uno di questi due punti, determinando infine le coordinate del ricevitore.

In linea di principio, anche da due satelliti, sulla base di prove indirette, si può capire quale dei due punti è più vicino alla verità, e i moderni algoritmi dei software di navigazione possono far fronte a questo compito. Perché allora abbiamo bisogno di un quarto satellite?

Sincronizzazione dell'ora senza Internet
Determinazione della posizione utilizzando la costellazione di satelliti.

È facile vedere che in questo quadro idealizzato ci sono molte sfumature da cui dipende l'accuratezza dei calcoli. L'ora del ricevitore è forse la fonte di errore più ovvia. Affinché tutto funzioni come dovrebbe, l'ora del ricevitore GPS/Glonass deve essere sincronizzata con l'ora del satellite. Senza questo l'errore sarebbe ∓ 100mila km.

Dalla formula per velocità, tempo e distanza S = v*t si ottiene l'equazione base per la trasmissione del segnale SRNS. La distanza dal satellite è uguale al prodotto della velocità della luce per la differenza oraria tra il satellite e il ricevitore.

Sincronizzazione dell'ora senza Internet

Ciò è dovuto principalmente al fatto che anche dopo tutte le sincronizzazioni conosciamo con sufficiente precisione l'ora tpr del ricevitore. Tra l'ora reale e il tpr ci sarà sempre Δt, per cui l'errore di calcolo diventa inaccettabile. Ecco perché ti serve il quarto satellitare.

Per una giustificazione matematica più chiara della necessità di quattro satelliti, costruiremo un sistema di equazioni.

Sincronizzazione dell'ora senza Internet

Per determinare le quattro incognite x, y, z e Δt, il numero di osservazioni deve essere uguale o maggiore del numero di incognite. Questa è una condizione necessaria ma non sufficiente. Se la matrice delle equazioni normali risulta singolare, il sistema di equazioni non avrà soluzione.

Non dovremmo inoltre dimenticare la teoria della relatività speciale e gli effetti relativistici con la dilatazione del tempo sugli orologi atomici satellitari rispetto a quelli terrestri.

Sincronizzazione dell'ora senza Internet

Se assumiamo che il satellite si muova in orbita alla velocità di 14mila km/h, otteniamo una dilatazione del tempo di circa 7 μs (microsecondi). D'altra parte operano gli effetti relativistici della Teoria della Relatività Generale.

Il punto è questo: i satelliti in orbita si trovano a grande distanza dalla Terra, dove la curvatura del continuum spazio-temporale è inferiore a quella della superficie terrestre a causa della massa terrestre. Secondo la relatività generale, gli orologi situati più vicini a un oggetto massiccio appariranno più lenti di quelli situati più lontano da esso.

Sincronizzazione dell'ora senza Internet

  • G è la costante gravitazionale;
  • M è la massa dell'oggetto, in questo caso la Terra;
  • r è la distanza dal centro della Terra al satellite;
  • c è la velocità della luce.

Dal calcolo effettuato con questa formula si ottiene una dilatazione temporale sul satellite di 45 μs. Totale -7μs +45μs = saldo 38μs - effetti di STR e GTR.

Nelle applicazioni di posizionamento SRNS, dovrebbero essere presi in considerazione anche i ritardi ionosferici e troposferici. Inoltre le correzioni di 46 ns sono dovute all'eccentricità di 0.02 dell'orbita dei satelliti GPS.

La capacità di ricevere segnali contemporaneamente da più di quattro satelliti GPS/GLONASS consente di aumentare ulteriormente la precisione nel determinare le coordinate del ricevitore. Ciò si ottiene grazie al fatto che il navigatore risolve un sistema di quattro equazioni con quattro incognite Sincronizzazione dell'ora senza Internet numero di volte e assume il valore medio, aumentando la precisione della stima finale secondo le leggi della statistica matematica.

Come configurare il server NTP Stratum 1 tramite connessione satellitare

Per configurare un server temporale di alta qualità, sono necessari solo GPSD, NTP e un ricevitore GPS con uscita 1PPS (un impulso al secondo).

1. Installa gpsd e ntpd o gpsd e chronyd. La versione GPSD deve essere ≥ 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. Collegare un ricevitore GPS con supporto PPS alla porta seriale RS232 o USB.

Un normale ricevitore GPS economico non funzionerà; Potrebbe essere necessario fare una piccola ricerca per trovare quello giusto.

3. Assicuratevi che il dispositivo emetta realmente PPS, per fare questo controllate la porta con l'utility gpsmon.

4. Apri il file /etc/conf.d/gpsd e modifica la riga seguente.

sostituire il

GPSD_OPTIONS=""

in modo che diventi

GPSD_OPTIONS="-n"

Questa modifica è necessaria affinché gpsd inizi immediatamente a cercare le fonti SRNS all'avvio.

5. Avvia o riavvia gpsd.

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

Per le distribuzioni con systemd, utilizzare il comando systemctl appropriato.

6. Controlla l'output della console del comando cgps.

È necessario assicurarsi che i dati vengano ricevuti correttamente dai satelliti. La console dovrebbe avere qualcosa di simile all'illustrazione.

Sincronizzazione dell'ora senza Internet
Output del comando della console cgps.

7. È ora di modificare il file /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

La voce NTP0 in alto indica una fonte temporale universale disponibile su quasi tutti i dispositivi GPS. La voce NTP1 inferiore definisce una sorgente PPS molto più accurata.

8. Riavviare NTPD.

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

Per le distribuzioni con systemd, utilizzare il comando systemctl.
$ sudo systemctl riavvia ntp

Materiali utilizzati

Sincronizzazione dell'ora senza Internet

Sincronizzazione dell'ora senza Internet

Fonte: habr.com

Aggiungi un commento