module · GPS & trilatération · 12 min

Comment savoir où tu es à 5 mètres près avec quelques boîtes en orbite.

Un récepteur GPS mesure le temps de vol des signaux jusqu'à plusieurs satellites. Trois distances suffisent pour intersecter trois sphères et n'obtenir qu'un point. Bouge ta position, change l'altitude, vois ce qui marche.

vue équatoriale · coupe 2D2/6 en vue · position 2D
chargement…
clique sur la planète pour changer ta position
contrôles
20 200 km

≈ 3.17 × R⊕ · arc visible ±76°

6
scénarios réels
défi · le ciel et la trame
palier 1 / 3

Tu n'as que 2 satellites : insuffisant pour un point en 3D. Augmente leur nombre jusqu'à ce que TA position passe en « position 3D ». Combien en faut-il visibles, au minimum ?

TA position en 3D

manipule le planisphère ci-dessus · l'état se met à jour ici

satellites en vue

2 / 6

couverture

position 2D

couverture théorique · coupe équatoriale

Pour qu'au moins k satellites soient toujours visibles depuis n'importe quel point de l'équateur, il en faut au minimum ⌈ k · π / α ⌉α est le demi-angle de visibilité depuis un satellite. Plus l'orbite est basse, plus α est petit, plus il faut de satellites.

α visibilité

76.1°

min. k=2 (2D)

5

min. k=3 (3D)

8

situation actuelle

2 / 6

pourquoi Starlink demande tant de satellites

orbite basse = arc visible petit

À 550 km, un satellite ne voit qu'une calotte étroite — sur cette coupe équatoriale il en faudrait au moins 24 pour une couverture 3D continue. Pour couvrir la planète entière sans trou, il en faut des milliers — actuellement ≈ 6 500.

orbite haute = latence et fragilité

Une orbite à 20 000 km (GPS) permet à 24 satellites de couvrir la Terre, mais le signal met ~70 ms à l'aller-retour. Mauvais pour la 4G.

zoom · décoder une trame NMEA

Un récepteur GPS ne produit pas une position toute faite. Il émet des phrases ASCII normalisées — les trames NMEA 0183 — que ton smartphone, ton drone ou ta puce u-blox décodent ensuite. La plus utile est $GPGGA : « où je suis, quand, avec quelle qualité de fix ». Saisis une trame pour en extraire la latitude.

latitude :48° 7.038′ N48.1173°
$GPGGA
type de trame — Global Positioning System Fix Data
123519
heure UTC — 12 h 35 min 19 s
4807.038,N
latitude — 48° 07.038′ Nord (= 48,1173° N)
01131.000,E
longitude — 11° 31.000′ Est (= 11,5167° E)
1
qualité du fix — 0 = aucun, 1 = GPS, 2 = DGPS, 4 = RTK fixe
08
nombre de satellites utilisés
0.9
HDOP — dilution horizontale de la précision (plus c'est petit, mieux c'est)
545.4,M
altitude — 545,4 m au-dessus du niveau de la mer
46.9,M
hauteur géoïdale (correction MSL ↔ ellipsoïde WGS84)
*47
checksum XOR de tous les caractères entre $ et *

Note sur le format des coordonnées : ddmm.mmmm — les deux premiers chiffres sont des degrés, le reste des minutes décimales. Pour obtenir des degrés décimaux : deg + min/60. C'est l'héritage maritime du standard (1983).

retour au labo