Pratiques et Techniques en Plaisance  | Imprimer |  Fermer la fenêtre

phrases incohérentes GPS BU353S4 : cold start 18 octobre 2016 15:53, par yvesD

et si il a été testé en Chine, il va mettre du temps pour interroger tous les satellites de sa base

Je vais tenter de décrire le processus de réinitialisation d’un récepteur qui a complètement perdu les pédales (horloge interne qui a déliré ou pas démarré, déplacement intercontinental rapide, ...)

Ca n’est pas si ardu que ça, et si vous avez souvenir de ce qu’est une convolution (ou une auto-corélation) vous êtes sauvés, mais rien n’oblige à comprendre ça pour naviguer, bien sur.

Tous les satellites de la constellation GPS émettent sur une même fréquence. Chacun émet les messages de service (éphémérides, temps selon son horloge atomique locale, ...) préfixés d’une suite de (512 je crois) bits bien choisis qui caractérise ce satellite.
Ce que reçoit un récepteur c’est le mix d’une petite dizaine de signaux émis (autant de signaux que de satellites en vue), à ceci près que chacune des 512 en-tête peut être détallée par rapport aux autres en-tête (même si les satellites démarraient en même temps, étant à des distances différentes ils apparaissent comme émettant décalés les uns par rapport au autres.
Le rôle du récepteur est d’identifier les satellites présent dans le mix, et le décalage relatif de leurs émissions.

Le décodage est éminemment simple (euh ?) : le récepteur fait l’hypothèse que dans ce brouillamini qu’il reçoit, il y a le signal du satellite 0 comme s’il émettait au temps T=0, puis au temps T=1, puis au temps T=511, puis idem avec le satellite 1, 2, ... 31
Si ces conditions sont satisfaites (’satellite=0, T=0) le signal a une force importante, sinon la force est plus faible (euh, dur d’exprimer simplement ce qu’est une convolution, dit autrement : les bits reçus et supposés présentent une analogie plus ou moins forte, plus c’est identique plus la comparaison est dite ’forte’)). Il répète ensuite cette hypothèse en supposant (511 fois) que le signal est décalé d’un 512ème de temps, de deux 512ème, ... de 511 512ème de temps et note à chaque fois la force (en gros le nombre de bits identiques) du signal (mal dit, c’est une convolution, y a de l’énergie là dedans, si quelqu’un sait mieux dire, je prend)
Bien sur, comme il y a (de l’ordre de) 32 satellites dans la constellations ce processus est à répéter 32 fois. 512 * 32 ça commence à faire pas mal de comparaison mais le silicium nous sauve.

Il suffit ensuite de prendre, par chacune des 512 hypothèses, celui qui décode le mieux (donc la convolution est la plus forte, mal dit encore) et d’utiliser la partie qui suit (le message de service, la payload décodée avec ces hypothèses) pour y retrouver par ex. une éphéméride. Bien sur si le décodage (sil a comparaison) est trop faible on en déduit que ce satellite n’est pas en vue et on ignore sa payload.
Et avec 32 hypothèses (32 satellites possibles), on arrive à identifier les satellites en vue, même lorsqu’on a perdu les éphémérides

Cette comparaison entre le signal reçu (brouillamini des émissions des satellites avec leurs décalage relatifs) et l’hypothèse d’une signal au temps t (t variant de 0 à 511) est simplissime à réaliser par une ’ti comparateur (un convolueur, montage éminemment simple et intégrable dans le silicium). Un comparateur porte le nom de ’canal’ et il y a 10000 ou 12000 canaux sur les GPs bas de gamme du commerce (“gps 12000 canaux”, dit l’étiquette) , donc 10 à 12000 comparaisons simultanées possibles, ça accélère furieusement. Chaque comparateur est bien sur configurable avec la suite de 512 bit qu’on veut tenter de voir.

Une fois déchiffrées ces éphémérides et identifiés les satellites qu’il entend, le récepteur calcule sa position - qui peut être plus ou moins approchée à ce stade. Une fois connue sa position, il sait (grâce aux éphémérides) les satellites qu’il peut voir, et c’est plutôt ceux là qu’il tente d’écouter pour entendre leur heures (celle de leur horloge atomiques embarquées). Les décalage entre les heures entendues et homogène à une distance (formellement, une pseudo distance, à un modulo près) et tout se ramène à un problème de navigation bien classique : ou est-on si on est à telles et telles distances de tels et tels points.
A un certain stade le récepteur peut même en profiter pour mettre à jour ou entretenir sa médiocre horloge interne, qui aide à simplifier les calculs

Y a bien sur des bouquins qui expliquent ça très en détail, c’est d’ailleurs là que j’ai appris.
Alors, perdu ?