Synchronisation de l'heure sans Internet

Synchronisation de l'heure sans Internet

En plus de TCP/IP, il existe de nombreuses façons de synchroniser l'heure. Certains d’entre eux ne nécessitent qu’un téléphone ordinaire, tandis que d’autres nécessitent du matériel électronique coûteux, rare et sensible. La vaste infrastructure des systèmes de synchronisation temporelle comprend des observatoires, des institutions gouvernementales, des stations de radio, des constellations de satellites et bien plus encore.

Aujourd'hui, je vais vous expliquer comment fonctionne la synchronisation de l'heure sans Internet et comment créer un serveur NTP « satellite » de vos propres mains.

Diffusion radio sur ondes courtes

Aux États-Unis, le NIST transmet l'heure et la fréquence précises sur les ondes radio de 2.5, 5, 10, 15 et 20 MHz depuis le WWVH de Fort Collins, au Colorado, et sur les ondes radio de 2.5, 5, 10 et 15 MHz depuis le WWVH de Kauai. . Le code temporel est transmis à intervalles de 60 secondes à 1 bps. utilisant la modulation de largeur d'impulsion sur une sous-porteuse de 100 Hz.

Le Conseil national de recherches (CNRC) du Canada distribue des informations sur l'heure et la fréquence sur 3.33, 7.85 et 14.67 MHz depuis le CHU d'Ottawa, en Ontario.

Synchronisation de l'heure sans Internet
Format de diffusion WWVH

La propagation du signal provenant des stations à ondes courtes se produit généralement par réflexion depuis les couches supérieures de l'ionosphère. Les transmissions de signaux peuvent être reçues sur de longues distances, mais la précision du timing est de l'ordre d'une milliseconde.

La norme NTPv4 actuelle inclut des pilotes audio pour WWV, WWVH et CHU.

Diffusion radio à ondes longues

Le NIST transmet également l'heure et la fréquence précises par radio à ondes longues à 60 kHz depuis Boulder, Colorado. Il existe d'autres stations qui transmettent des signaux horaires sur ondes longues.

Indicatifs d'appel et emplacement
Fréquence (kHz)
Puissance (kW)

WWVBFort Collins, Colorado, États-Unis
60
50

DCF77 Mainflingen, Allemagne
77.5
30

MSF Rugby, Royaume-Uni
60>
50

HBG Prangins, Suisse
75
20

JJY Fukushima, Japon
40
50

JJY Saga, Japon
60
50

Stations horaires standard à basse fréquence

Le code temporel est transmis toutes les 60 secondes à 1 bps, tout comme les stations à ondes courtes. Les formats de transmission de données sont également similaires pour les deux normes. Le signal se propage à travers les couches inférieures de l’ionosphère, qui sont relativement stables et présentent des variations d’altitude quotidiennes prévisibles. Grâce à cette prévisibilité de l'environnement physique, la précision augmente jusqu'à 50 μs.

Synchronisation de l'heure sans Internet
Format de diffusion WWVB

Satellite environnemental opérationnel géostationnaire

Aux États-Unis, le NIST transmet également des données précises de temps et de fréquence sur environ 468 MHz à partir de satellites géostationnaires opérationnels environnementaux (GOES). Le code temporel alterne avec les messages utilisés pour interroger les capteurs distants. Il se compose de 60 quartets BCD transmis à intervalles de 30 s. Les informations du code temporel sont similaires à celles des services terrestres.

Systèmes de positionnement global

Le ministère américain de la Défense utilise le GPS pour une navigation précise sur terre, sur mer et dans les airs. Le système assure une couverture du globe 24 heures sur 12 grâce à une constellation de satellites sur des orbites de 55 heures inclinées à XNUMX°.

La constellation originale de 24 satellites a été étendue à 31 satellites dans une configuration hétérogène de sorte qu'au moins 6 satellites soient toujours en vue et qu'au moins 8 satellites soient en vue sur la majeure partie du monde.

Des services similaires au GPS sont exploités ou prévus par d'autres pays. Le GLONASS russe fonctionne depuis une douzaine d'années, à compter du 2 septembre 2010, date à laquelle le nombre total de satellites a été porté à 26 - la constellation a été entièrement déployée pour couvrir complètement la Terre.

Synchronisation de l'heure sans Internet
Satellites GPS dans le monde entier.

Le système de navigation par satellite de l'Union européenne s'appelle Galileo. Il était prévu que Galileo commencerait à fonctionner entre 2014 et 2016, lorsque les 30 satellites prévus seraient mis en orbite, mais en 2018, la constellation de satellites Galileo n'avait pas atteint le nombre requis de satellites.

Il existe aussi le chinois « Beidou », qui signifie « baleine ». La constellation de 16 satellites a été lancée en exploitation commerciale le 27 décembre 2012 en tant que système de positionnement régional. Il est prévu que le système atteigne sa pleine capacité d’ici 2020. Aujourd'hui encore, je suis sorti sur Habré article, sur le lancement réussi d'un satellite de ce système.

Mathématiques de détermination des coordonnées à l'aide de SRNS

Comment le navigateur GPS/GLONASS de votre smartphone détermine-t-il l'emplacement avec une telle précision à l'aide du système de radionavigation et de communication (SRNS) ? Pour comprendre le principe des calculs, il faut se souvenir de la stéréométrie et de l'algèbre au lycée, ou en école de physique et de mathématiques.

Chaque satellite indique l'heure exacte au récepteur. Le satellite possède une horloge atomique et on peut donc lui faire confiance. Connaissant la vitesse de la lumière, il n'est pas difficile de déterminer le rayon de la sphère à la surface de laquelle se trouve le satellite. Cette même sphère, en contact avec la Terre, forme un cercle sur lequel se trouve le récepteur GPS/Glonass.

Lorsque le signal arrive de deux satellites, on a déjà l'intersection de la Terre et de deux sphères, ce qui ne donne que deux points sur le cercle. La sphère du troisième satellite devrait idéalement tomber dans l'un de ces deux points, déterminant finalement les coordonnées du récepteur.

En principe, même à partir de deux satellites, sur la base de preuves indirectes, on peut comprendre lequel des deux points est le plus proche de la vérité, et les algorithmes des logiciels de navigation modernes peuvent faire face à cette tâche. Pourquoi alors avons-nous besoin d’un quatrième satellite ?

Synchronisation de l'heure sans Internet
Détermination de l'emplacement à l'aide de la constellation de satellites.

Il est facile de voir que dans cette image idéalisée, il existe de nombreuses nuances dont dépend la précision des calculs. L’heure du récepteur est peut-être la source d’erreur la plus évidente. Pour que tout fonctionne comme il se doit, l'heure du récepteur GPS/Glonass doit être synchronisée avec l'heure du satellite. Sans cela, l'erreur serait de ∓ 100 XNUMX km.

À partir de la formule pour la vitesse, le temps et la distance S = v*t, nous obtenons l'équation de base pour transmettre le signal SRNS. La distance au satellite est égale au produit de la vitesse de la lumière et du décalage horaire entre le satellite et le récepteur.

Synchronisation de l'heure sans Internet

Cela est principalement dû au fait que même après toutes les synchronisations, nous connaissons l'heure tpr au niveau du récepteur avec un degré de précision suffisant. Entre le temps vrai et tpr, il y aura toujours Δt, ce qui rend l'erreur de calcul inacceptable. C'est pourquoi tu as besoin le quatrième Satellite.

Pour une justification mathématique plus claire de la nécessité de quatre satellites, nous construirons un système d’équations.

Synchronisation de l'heure sans Internet

Pour déterminer les quatre inconnues x, y, z et Δt, le nombre d'observations doit être égal ou supérieur au nombre d'inconnues. C’est une condition nécessaire mais pas suffisante. Si la matrice des équations normales s’avère singulière, le système d’équations n’aura pas de solution.

Nous ne devons pas non plus oublier la théorie de la relativité restreinte et les effets relativistes liés à la dilatation du temps sur les horloges atomiques des satellites par rapport à celles au sol.

Synchronisation de l'heure sans Internet

Si nous supposons que le satellite se déplace en orbite à une vitesse de 14 7 km/h, nous obtenons alors une dilatation du temps d'environ XNUMX μs (microsecondes). D’un autre côté, les effets relativistes de la Théorie Générale de la Relativité opèrent.

Le fait est le suivant : les satellites en orbite se trouvent à une grande distance de la Terre, où la courbure du continuum espace-temps est moindre qu'à la surface de la Terre en raison de la masse terrestre. Selon la relativité générale, les horloges situées plus près d’un objet massif apparaîtront plus lentes que celles qui en sont plus éloignées.

Synchronisation de l'heure sans Internet

  • G est la constante gravitationnelle ;
  • M est la masse de l'objet, en l'occurrence la Terre ;
  • r est la distance du centre de la Terre au satellite ;
  • c est la vitesse de la lumière.

Le calcul utilisant cette formule donne une dilatation temporelle de 45 μs sur le satellite. Total -7μs +45μs = solde 38μs - effets de STR et GTR.

Dans les applications de positionnement SRNS, les retards ionosphériques et troposphériques doivent également être pris en compte. De plus, les corrections de 46 ns sont dues à l'excentricité de 0.02 de l'orbite des satellites GPS.

La possibilité de recevoir simultanément des signaux de plus de quatre satellites GPS/GLONASS vous permet d'augmenter encore la précision de la détermination des coordonnées du récepteur. Ceci est obtenu grâce au fait que le navigateur résout un système de quatre équations à quatre inconnues Synchronisation de l'heure sans Internet nombre de fois et prend la valeur moyenne, augmentant ainsi la précision de l'estimation finale selon les lois des statistiques mathématiques.

Comment configurer le serveur NTP Stratum 1 via une connexion satellite

Pour configurer un serveur de temps de haute qualité, vous n'avez besoin que de GPSD, NTP et d'un récepteur GPS avec une sortie 1PPS (une impulsion par seconde).

1. Installez gpsd et ntpd, ou gpsd et chronyd. La version GPSD doit être ≥ 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. Connectez un récepteur GPS prenant en charge PPS au port série RS232 ou USB.

Un récepteur GPS bon marché ordinaire ne fonctionnera pas ; Vous devrez peut-être faire une petite recherche pour trouver le bon.

3. Assurez-vous que l'appareil émet réellement du PPS, pour ce faire, vérifiez le port avec l'utilitaire gpsmon.

4. Ouvrez le fichier /etc/conf.d/gpsd et modifiez la ligne suivante.

Remplacer

GPSD_OPTIONS=""

pour que cela devienne

GPSD_OPTIONS="-n"

Ce changement est requis pour que gpsd commence immédiatement à rechercher les sources SRNS au démarrage.

5. Démarrez ou redémarrez gpsd.

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

Pour les distributions avec systemd, utilisez la commande systemctl appropriée.

6. Vérifiez la sortie de la console de la commande cgps.

Vous devez vous assurer que les données sont reçues correctement des satellites. La console devrait avoir quelque chose de similaire à l'illustration.

Synchronisation de l'heure sans Internet
Sortie de la commande de console cgps.

7. Il est temps de modifier le fichier /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

L'entrée NTP0 supérieure indique une source de temps universelle disponible sur presque tous les appareils GPS. L'entrée NTP1 inférieure définit une source PPS beaucoup plus précise.

8. Redémarrez ntpd.

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

Pour les distributions avec systemd, utilisez la commande systemctl.
$ sudo systemctl redémarrer ntp

Matériaux utilisés

Synchronisation de l'heure sans Internet

Synchronisation de l'heure sans Internet

Source: habr.com

Ajouter un commentaire