WikiPrépaLivrets

X ENS Modélisation PSI 2016Sujet et corrigé

Pas encore noté
  • Méthode des moindres carrés et résolution de systèmes linéaires (pivot de Gauss)
  • Algorithmique et complexité temporelle
  • Mécanique céleste : mouvement képlérien et perturbations orbitales
  • Traitement du signal : modulation BPSK et codes pseudo-aléatoires
  • Propagation d'une onde électromagnétique dans un plasma (fréquence plasma, dispersion)
  • Traitement du signal reçu : filtrage, corrélation et rapport signal sur bruit

Téléchargements

  • Rapport du jury : non disponible

Présentation du sujet

Le fonctionnement du GPS : des satellites au récepteur
Afficher ou masquer la section

Ce sujet de modélisation retrace la chaîne complète du système GPS. Il établit d'abord l'algorithme de calcul de position, vitesse et temps par la méthode des moindres carrés et sa résolution numérique. Il modélise ensuite l'orbite des satellites, la génération de leurs signaux codés, la propagation de ces signaux à travers l'ionosphère assimilée à un plasma, puis les traitements de démodulation et de corrélation effectués par le récepteur pour reconstituer sa position.

  1. 11. Présentation de l'étudePrésente le principe général du GPS et les quatre étapes de son fonctionnement, de l'émission des signaux à l'estimation de la solution position-vitesse-temps.
  2. 22. Détermination de la solution PVTÉtablit le système de pseudo-distances liant récepteur et satellites, puis l'algorithme des moindres carrés résolu par la méthode du pivot de Gauss, avec analyse de sa complexité algorithmique en Python.
  3. 33. Modélisation du segment spatialÉtudie le mouvement képlérien d'un satellite GPS, les perturbations dues au couple Soleil-Lune et à la non-sphéricité de la Terre, puis la génération des signaux GPS par modulation BPSK et codes de Gold pseudo-aléatoires.
  4. 44. Étude de la propagation du signal entre le satellite et le récepteurModélise l'ionosphère comme un plasma pour établir l'indice de réfraction et le retard de propagation du signal GPS, et explique la correction de ce retard par l'usage de deux porteuses.
  5. 55. Étude des traitements effectués par le récepteurAnalyse le rapport signal sur bruit du signal reçu, puis les étapes de démodulation et de corrélation par lesquelles le récepteur identifie le satellite émetteur et mesure le temps de propagation du signal.
  6. 66. Synthèse de l'étudeDemande de synthétiser la démarche de modélisation complète du fonctionnement du GPS.

Ces sujets peuvent vous intéresser

Lecture du sujet en ligne

L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.
Afficher ou masquer la section
Banque commune École Polytechnique - interENS

PSI

Session 2016

Épreuve de Modélisation

Durée: 5 heures
Aucun document n'est autorisé
Aucune calculatrice n'est autorisée
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, il le signale sur sa copie et poursuit sa composition en expliquant les raisons des initiatives qu'il est amené à prendre.

Etude du fonctionnement du GPS : des satellites au récepteur

Figure 1 : illustration de la constellation des satellites GPS.

Étude du fonctionnement du GPS : des satellites au récepteur

1 Présentation de l'étude

1.1 Introduction au GPS

Le GPS (Global Positioning System) est un système de localisation par satellites conçu par les Américains dans les années 1980 pour des applications militaires. Les satellites GPS tournent en orbite autour de la Terre, comme illustré sur la figure 1, et émettent en permanence des signaux vers celle-ci, signaux qui sont reçus et décodés par le récepteur que porte l'utilisateur. Ce récepteur GPS fournit alors à ce dernier une solution dite «PVT»:
  • P, pour Position : position de l'antenne GPS du récepteur (trois coordonnées);
  • V, pour Vitesse : vitesse de l'antenne GPS du récepteur (trois coordonnées);
  • T, pour Temps : référence de temps du récepteur, synchronisée avec les horloges atomiques extrêmement précises des satellites GPS.
Figure 1 - Illustration de la constellation des satellites GPS
Depuis sa mise en service, les domaines d'application du GPS n'ont cessé de se développer et de s'étendre dans les applications militaires et surtout dans les applications civiles : transports terrestres, aériens et maritimes, opérations de secours, agriculture, géologie, prospection pétrolière, communications, et bien évidemment en tant que système intégré au téléphone mobile dans la vie de tous les jours.
L'Europe n'est pas en reste et développe son propre système de localisation par satellite : Galileo. Ce système permettra tout d'abord à l'Europe d'assurer son indépendance dans ce domaine stratégique (le GPS étant un système américain) et également de bénéficier de performances et de fonctionnalités supérieures à celles offertes actuellement par le GPS.
Cinq caractéristiques essentielles du GPS (et bientôt également de Galileo) ont permis son immense succès dans de multiples domaines :
  • la solution PVT fournie par le récepteur est disponible n'importe où dans le monde;
  • le récepteur GPS fournit une solution PVT suffisamment précise pour de nombreuses applications; en particulier l'erreur est de l'ordre de la dizaine de mètres pour la position et de quelques centimètres par seconde pour la vitesse;
  • le récepteur GPS fournit une position et une vitesse en trois dimensions;
  • le récepteur GPS fournit une solution PVT en continu et avec un taux de rafraîchissement suffisamment rapide, de l'ordre de quelques Hertz;
  • le nombre d'utilisateurs est illimité.
Q1. Donner 2 exemples concrets d'utilisation des informations fournies par un récepteur GPS.

1.2 Objectif de l'étude

L'objectif de l'étude est de comprendre comment le GPS fonctionne, c'est-à-dire de comprendre comment une position, une vitesse et un temps peuvent être estimés par un récepteur à partir de signaux émis par des satellites en orbite autour de la Terre.
Pour ce faire, le fonctionnement du GPS est modélisé comme une succession de 4 étapes, telle qu'illustrée sur la figure 2:
  • Étape 1 : génération et émission des signaux GPS par les satellites en orbite;
  • Étape 2 : propagation de ces signaux des satellites vers l'antenne du récepteur GPS;
  • Étape 3 : réception et décodage de ces signaux par le récepteur;
  • Étape 4 : estimation de la solution PVT par le récepteur.
Figure 2 - Vue d'ensemble du fonctionnement du GPS
Outre la partie 1 de présentation de l'étude, le sujet se décompose en 5 parties:
  • Partie 2 : détermination de la solution PVT à travers une approche simplifiée;
  • Partie 3 : modélisation de la trajectoire des satellites et analyse de la génération des signaux;
  • Partie 4 : étude de la propagation des signaux GPS du satellite vers l'antenne du récepteur;
  • Partie 5 : étude du décodage des signaux par le récepteur et mise en relation avec l'étude menée dans la partie 2;
  • Partie 6 : synthèse de l'étude.
Même si certaines parties peuvent être traitées séparément, il est préférable de suivre l'ordre de questionnement proposé.

2 Détermination de la solution PVT

On considère n satellites S_i, 1 ≤ i ≤ n, en orbite autour de la Terre qui émettent en permanence un signal se propageant à la vitesse c de la lumière. Ces satellites possèdent des horloges atomiques extrêmement précises et synchronisées entre elles, permettant de définir ainsi une horloge universelle dénommée «temps GPS »>. Tous les signaux sont émis à un même instant connu. Chaque satellite inclut dans son signal les informations donnant son identité (numéro de satellite) ainsi que les paramètres de son orbite nécessaires au récepteur pour que ce dernier puisse estimer précisément et en temps réel la position ( x_i, y_i, z_i ) du satellite dans le référentiel géocentrique R_G.
Ce référentiel, défini sur la figure 3, a pour origine le centre de la Terre O_T et les axes de la base ( x⃗; y⃗; z⃗ ) sont définis à partir d'étoiles lointaines. La position d'un satellite S_i de la constellation est définie par ses coordonnées sphériques O_T S_i^(→−) = r_i e_r→ ou par ses coordonnées cartésiennes O_T S_i^(→−) = x_i x⃗ + y_i y⃗ + z_i z⃗.
On considère également un récepteur GPS à une position M de coordonnées inconnues ( x, y, z ) que l'on cherche à déterminer. Ce récepteur capte les signaux des n satellites S_i. D'après le paragraphe précédent, grâce au décodage des signaux, le récepteur est capable d'identifier l'identité du satellite générateur de chaque signal et d'en déduire la position de chaque satellite S_i. On définit ρ_i la distance entre le récepteur M et le satellite S_i, comme illustré sur la figure 4.
On prend tout d'abord comme hypothèse que l'horloge du récepteur est synchronisée avec le temps GPS des satellites.
Q2. Démontrer que le récepteur est capable de déterminer la distance ρ_i. Donner l'expression de ρ_i en fonction des coordonnées de M et de S_i.
Q3. Donner les deux conditions nécessaires sur les satellites afin que le récepteur puisse déterminer les coordonnées du point M.
En réalité, l'horloge du récepteur est beaucoup moins précise que celles des satellites. L'horloge du récepteur n'est donc pas synchronisée avec le temps GPS. Ce biais Δt entre le référentiel de temps du récepteur et celui du GPS est inconnu ( Δt > 0 ). De ce fait, le récepteur ne mesure plus directement la distance ρ_i mais une «pseudo-distance» PD_i. On suppose que le temps du récepteur est en retard sur le temps GPS.
Q4. Donner l'expression de PD_i en fonction de ρ_i, c et Δt.
Q5. Donner les deux conditions nécessaires sur les satellites afin que le récepteur puisse déterminer les coordonnées du point M.
Pour la suite de cette partie, on considère que les n satellites S_i visibles par le récepteur remplissent les deux conditions précédemment déterminées. Les questions suivantes détaillent l'algorithme permettant au récepteur de déterminer sa position à partir des n mesures de pseudo-distances PD_i, 1 ≤ i ≤ n. Cet algorithme doit donc permettre de résoudre un système de n équations à 4 inconnues : x, y, z, Δt. L'algorithme considéré est celui des moindres carrés, dans lequel la minimisation de la somme des erreurs au carré est réalisée par itérations successives.
On désigne par R_(PD) le vecteur représentant les pseudo-distances PD_i, q le vecteur représentant les inconnues à déterminer, d_i le vecteur représentant les positions du satellite S_i calculées par le récepteur grâce au décodage des informations transmises par le signal, et A^T la transposée d'une matrice A quelconque.
R_(PD) = [PD_1, …, PD_n]^T; q = [x, y, z, Δt]^T; d_i = [x_i, y_i, z_i]^T
Le système considéré possède donc n équations à 4 inconnues. Afin de le résoudre, la fonction ε suivante, représentant la somme des erreurs au carré, est minimisée:
ε(q) = ∑_(i = 1)^n[PD_i − h_i(q, d_i)]^2
La fonction h_i représente le calcul de la pseudo-distance à partir du vecteur d'inconnues q et des données d_i. Comme cette fonction est non linéaire, la minimisation de ε conduit au système suivant, linéarisé autour des variations du vecteur q :
(J^T ⋅ J) ⋅ Δq = J^T ⋅ R_(PD)
Dans cette équation, J est la matrice jacobienne donnée par J_(ij) = (∂h_i)/(∂q_j)(q) et Δq = q_(k + 1) − q_k est l'évolution des valeurs du vecteur q_k entre la k^(ème) et la k + 1^(ème) itération. Le problème revient donc à résoudre, par la méthode de Newton-Raphson, le schéma numérique suivant :
{q_0 vecteur d'initialisation; J^T.J(q_k) ⋅ q_(k + 1) = J^T.J(q_k) ⋅ q_k + J^T(q_k) ⋅ R_(PD)
Afin de résoudre le schéma numérique, la méthode du pivot de Gauss avec recherche partielle du pivot est utilisée pour la résolution linéaire du problème local.
Q6. Le problème local est équivalent au système linéaire A.x = b. Expliciter la matrice A, le vecteur x et le vecteur b du problème en fonction de J, q_k, q_(k + 1) et de R_(PD).
Q7. Donner la relation que doit vérifier la matrice J pour que le système admette une solution unique.
La première étape de la résolution consiste à trouver la forme échelonnée réduite par lignes A~ de la matrice A par la méthode du pivot de Gauss avec recherche partielle du pivot. À la fin de cette étape, un système linéaire A~ ⋅ x = b~ équivalent au système linéaire A ⋅ x = b est obtenu.
Nota :
  • Une matrice est dite échelonnée par lignes si elle vérifie les deux propriétés suivantes:
  • si une ligne est nulle, toutes les lignes suivantes le sont aussi ;
  • à partir de la deuxième ligne, dans chaque ligne non nulle, le premier coefficient non nul à partir de la gauche est situé à droite du premier coefficient non nul de la ligne précédente;
  • le «pivot» est le premier coefficient non nul de chaque ligne;
  • une matrice échelonnée par lignes est dite échelonnée réduite par lignes si tous ses pivots sont égaux à 1 et sont les seuls éléments non nuls de leur colonne.
    Q8. Expliquer comment obtenir la forme échelonnée réduite par lignes A~ en précisant les opérations à effectuer sur les coefficients a_(ij) de la matrice A ou sur ses lignes L_j et en énonçant le principe de la recherche partielle du pivot. Déterminer également les relations afin de garder l'équivalence entre le système linéaire A~.x = b~ et le système linéaire A.x = b.
    Q9. Proposer une fonction écrite dans le langage Python permettant de résoudre le système linéaire A~ ⋅ x = b~ où la matrice A~ est une matrice échelonnée réduite en ligne. Cette fonction devra prendre comme arguments d'entrée la matrice A~ et le vecteur associé b~. Elle devra alors retourner la valeur x solution du système x = A~^(− 1).b~. Les coefficients de la matrice A~ sont stockés dans une liste de liste telle que A~[i][j] est le terme a~_(ij) de la matrice A~.
    On suppose dans la suite du sujet que le schéma de Newton-Raphson converge. Nous nous intéressons au coût de la résolution de ce schéma numérique. Pour cela, les hypothèses suivantes sont prises :
  • l'affectation d'une variable vaut une unité de temps, c'est-à-dire 1 UT ;
  • les opérations sur les nombres et les booléens valent chacune 1 UT;
  • l'accès à la valeur d'une variable pour les nombres et les booléens vaut chacun UT;
  • les comparaisons, les tests d'égalité ou de différence valent chacun 1 UT;
  • l'accès à l'élément d'une liste, l'accès à la longueur d'une liste, l'insertion en fin de liste valent chacun 5 UT ;
  • la suppression d'un élément d'une liste de taille n, l'insertion en début de liste de taille n, ainsi que le parcours de la liste de taille n sont en temps linéaire et valent chacun 5.n UT ;
  • la concaténation de deux listes de taille n_1 et n_2 est en temps linéaire et coûte 5.n_1 + 5.n_2 UT.
Q10. À partir des coûts d'opérations proposées, déterminer la complexité temporelle au pire des cas de la fonction proposée à la question précédente en fonction de n_p, où n_p est la dimension de la matrice A~.
L'unité de temps est d'environ 10 ns . Le coût temporel du pivot de Gauss est d'environ 15, 6μ s.
Q11. Conclure quant au coût de la résolution du système par la méthode numérique proposée.
Après la résolution du pivot de Gauss, il est possible d'écrire la suite du schéma numérique de façon plus explicite :
{q_0 vecteur d'initialisation; q_(k + 1) = q_k + (J^T.J)^(− 1).J^T.R_(PD)
Q12. Proposer un critère d'arrêt pour le schéma numérique de la suite q_k.
Il a été démontré dans cette partie que la détermination du vecteur q, c'est-à-dire des solutions P et T , est possible grâce à la réception et au décodage des signaux émis par les satellites.
L'estimation de la vitesse du récepteur se fait de façon similaire, grâce à la mesure de «pseudovitesses » (car le biais de temps Δt subit en réalité quelques variations temporelles) et la connaissance de la vitesse des satellites via les informations transmises dans les signaux. Ainsi, à partir des signaux GPS émis par les satellites, le récepteur est capable de fournir la solution PVT à l'utilisateur.

3 Modélisation du segment spatial

3.1 Etude de la constellation des satellites GPS

Afin d'assurer une bonne couverture du réseau satellite GPS, la constellation des satelittes GPS doit garantir un nombre minimum de 21 unités opérationnelles dans 98% du temps. Ces satellites sont répartis dans 6 plans orbitaux décalés de 60^∘ entre eux avec un décalage de 55^∘ par rapport au plan de l'équateur. Actuellement, la constellation comporte 31 unités opérationnelles ce qui permet pour l'utilisateur d'avoir un nombre moyen de 8 satellites visibles (ce nombre de satellites visibles est compris entre 4 et 12).
Afin d'obtenir une certaine stabilité de la couverture du réseau, un satellite de la constellation doit retrouver une position identique, dans le référentiel géocentrique R_G (voir figure 3), deux fois par jour. Dans ce cas, son orbite terrestre correspond à une période deux fois plus petite qu'un jour sidéral ( T_j = 8, 616.10^4 s ). Un point quelconque P de l'espace est représenté par le vecteur position en coordonnées sphériques:
O_T P^(→−) = re_r→
Le i^(ème) satellite de la constellation est représenté par le point S_i situé à une distance r_i de l'origine O_T :
O_T S_i^(→−) = r_i e_r→

3.1.1 Caractéristiques de l'orbite idéale d'un satellite de la constellation GPS

Dans cette première approche, nous allons considérer uniquement la Terre et un satellite de la constellation GPS: l'influence des autres astres est négligée. Ce satellite, vu comme une masse m ponctuelle, n'est donc soumis qu'au champ de gravitation de la Terre. Le mouvement du satellite est décrit dans le référentiel R_G = (O_T; x⃗; y⃗; z⃗) géocentrique. À l'instant initial, le satellite est à une altitude h du sol terrestre et possède une vitesse initiale V_0^(→−). Notre planète est considérée comme une boule solide de masse M_T et de rayon r_T. Son champ de gravitation est donné en tout point P de l'espace par l'équation suivante :
g_1^(→−)(P) = − grad^(→−)(V_1)
avec V_1(P) le potentiel de gravitation au point P : V_1(P) = − (G ⋅ M_T)/r.
Q13. Montrer que le mouvement du satellite par rapport au référentiel géocentrique est plan.
Les coordonnées polaires ( r_i, θ ) sont utilisées pour définir la position du point S_i dans un plan de normale z_c→, où l'axe ( O_T, z_c→ ) est fixe par rapport au référentiel géocentrique R_G. L'angle θ est défini par rapport à un axe ( O_T, x_c^(→−) ) de référence tel que :
x_c^(→−) = (z_∧^(→−)z_c→)/(‖z_∧^(→−)z_c→‖)
Figure 5 - Coordonnées polaires
Q14. Déterminer la norme L du moment cinétique du satellite en fonction de m, V_0 = ‖V⃗_0‖, r_T et h. Montrer également que l'on a la relation suivante:
(dr)/(dt) = − L/md/(dθ)(1/r)
Q15. À partir du principe fondamental de la dynamique, montrer que le mouvement du satellite par rapport au référentiel géocentrique décrit la trajectoire d'une courbe dont l'équation dans le plan polaire vérifie l'équation différentielle:
(d^2)/(dθ^2)(1/r) + 1/r = 1/p
où p est une constante du problème à déterminer en fonction de V_0, G, M_T, r_T et h.
Q16. Préciser pour quelle(s) condition(s) le satellite ne se libère pas de l'attraction de la Terre.
Q17. En supposant que le satellite tourne en orbite circulaire autour de la Terre, avec une période 2 fois plus petite qu'un jour sidéral, déterminer l'altitude de l'orbite du satellite en fonction de T_j, G, M_T et r_T. Donner également l'expression de sa vitesse de satellisation en fonction de T_j, G et M_T.

3.1.2 Évaluation des perturbations de positionnement du satellite dues au couple Soleil-Lune

Afin d'obtenir une modélisation plus précise de la trajectoire des satellites, l'influence de la Lune, de masse M_L, et du Soleil, de masse M_S, sur leur mouvement est désormais prise en compte. Pour cela, nous considérons le système Σ formé par les trois astres: Terre, Soleil et Lune, dont les centres d'inertie sont respectivement O_T, O_S et O_L. La Terre tourne autour de l'axe ( O, z⃗ ) où le point O est le centre d'inertie du système Σ. La Terre a également un mouvement de rotation sur elle-même autour d'un axe ( O_T, z_T^(→−) ) incliné d'un angle de 23, 44^∘ par rapport ( O_T, z⃗ ). Nous considérons également le mouvement de rotation de la Lune autour de l'axe ( O_T, z_L^(→−) ) incliné d'un angle de 5, 14^∘ par rapport à l'axe ( O_T, z⃗ ).
Figure 6 - Système Soleil-Terre-Lune
Les hypothèses simplificatrices suivantes sont prises:
  • seules les attractions du Soleil, de la Terre et de la Lune sont prises en compte;
  • toutes les orbites sont circulaires et on ne considère que les distances moyennes entre les éléments célestes ;
  • le référentiel galiléen est le référentiel R_0 lié au centre d'inertie O des trois astres considérés et dont les directions restent identiques à celles du référentiel géocentrique R_G.
    Les notations suivantes sont utilisées:
O_T O_S^(→−) = D_S u_S^(→−) O_T O_L^(→−) = D_L u_L^(→−) O_T S_i^(→−) = r_i e_r→ et r_i = r_T + h
Q18. Déterminer les caractéristiques du mouvement du référentiel R_G par rapport au référentiel galiléen R_0. Déterminer alors la vitesse V(S_i/R_0)^(→−) du point S_i par rapport au référentiel R_0 en fonction de la vitesse V(S_i/R_G)^(→−) du point S_i par rapport au référentiel R_G et de la vitesse V(O_T/R_0)^(→−) du point O_T par rapport au référentiel R_0.
Q19. Déterminer l'accélération γ(O_T/R_0)^(→−) du centre de la terre O_T par rapport au référentiel galiléen R_0.
Q20. Déterminer l'accélération γ(S_i/R_0)^(→−) du satellite S_i par rapport au référentiel galiléen R_0 en fonction de l'accélération γ(S_i/R_G)ˆ du satellite S_i par rapport à R_G et des constantes G, M_S, M_L, D_S et D_L.
Q21. Faire l'inventaire des actions mécaniques appliquées au satellite. Expliciter chacune de ces actions mécaniques en fonction des données du problème.
L'application au satellite du principe fondamental de la dynamique fait apparaître de nouveaux termes par rapport au modèle idéal étudié dans le §3.1.1. Ces termes peuvent être considérés comme des forces perturbant l'orbite du satellite.
Q22. À partir du principe fondamental de la dynamique appliqué au satellite, déterminer ΔF_S^(→−) et ΔF_L^(→−) les perturbations dues à la présence respective du Soleil et de la Lune.
Q23. Évaluer la norme maximale de ΔF_S^(→−) et de ΔF_L^(→−). Les résultats seront exprimés en fonction de G, m, M_S, M_L, D_S, D_L et de r_i.

3.1.3 Évaluation des perturbations de positionnement du satellite dues à la non-sphéricité de la Terre

Dans l'analyse qui suit, la Terre n'est plus considérée comme étant de forme sphérique mais comme une ellipsoïde avec une forme plus aplatie au niveau des pôles.
Figure 7 - Géoïde de référence
Les hypothèses simplificatrices suivantes sont prises:
  • le potentiel de gravitation de la Terre s'exprime par V_2(P), le développement zonal d'ordre 2 du potentiel précédent V_1(P) :
V_2(P) = − (GM_T)/r(1 + J_2(r_T^2)/(2r^2)(1 − 3cos^2 φ))
  • le satellite est suffisamment haut pour considérer que O_T S_i^(→−) est toujours porté par e_r→.
Pour rappel, le gradient en coordonnées sphériques s'écrit comme suit :
grad^(→−)(V) = (∂V)/(∂r)e_r→ + 1/(rsin(φ))(∂V)/(∂α)e_α^(→−) + 1/r(∂V)/(∂φ)e_φ^(→−)
Q24. Déterminer la nouvelle force de gravitation de la Terre F_(T → S_i)^(→−) issue du potentiel V_2. Déterminer également ΔF_(J2)^(→−), l'écart de force par rapport au modèle simplifié du §3.1.1.
Q25. Évaluer alors la norme maximale de ΔF_(J2)^(→−). Le résultat sera exprimé en fonction de G, m, M_T, r_T, J_2 et r_i.
Les applications numériques des résultats obtenus au §3.1.2 et au §3.1.3 donnent
  • une perturbation due au couple luni-solaire de l'ordre de 0, 00061% par rapport à l'attraction terrestre;
  • une perturbation due à la non-sphéricité du champ de gravitation terrestre de l'ordre de 0, 023% par rapport au potentiel de gravitation d'une Terre hypothétiquement ronde.
    Ces perturbations mécaniques, bien que numériquement faibles en valeurs relatives, ont une influence non négligeable sur l'orbite des satellites. En effet, par intégration temporelle, si elles ne sont pas prises en compte dans les calculs de trajectographie, elles générent des erreurs d'estimation de position des satellites trop fortes pour obtenir un système GPS performant. Par conséquent, les signaux envoyés par les satellites contiennent tous les paramètres et correctifs correspondants nécessaires pour que le récepteur GPS puisse précisément évaluer en temps réel la position des satellites.

3.2 Génération des signaux GPS

3.2.1 Expression et représentation des signaux GPS

On considère n satellites S_i, 1 ≤ i ≤ n, en orbite autour de la Terre. Les horloges embarquées à bord de ces satellites sont des horloges atomiques extrêmement précises et synchronisées entre elles, définissant ainsi le «temps GPS». Chaque satellite de la constellation émet en permanence un signal vers la Terre. Ces
signaux sont tous émis au même instant, mais leur contenu est propre à chaque satellite puisque s'y trouvent les informations sur sa trajectoire, informations essentielles pour que le récepteur puisse ensuite déterminer la position du satellite. Ces informations sont appelées « message de navigation».
Dans la suite du sujet sont utilisées les deux formulations suivantes:
  • signal «binaire»: succession de 0 et de 1 ;
  • signal «binaire NRZ» (Non Retour à Zéro) : succession de -1 et de 1 ; ce signal étant créé à partir d'un signal binaire, les valeurs -1 et 1 correspondent respectivement aux 0 et 1 du signal binaire.
    Le signal émis par le satellite S_i, noté s_i(t), est la combinaison de plusieurs signaux élémentaires :
  • le message de navigation m_i(t), signal binaire NRZ propre à chaque satellite, de fréquence f_m = 50 Hz;
  • le code pseudo-aléatoire dit «code C/A » (Coarse/Acquistion ou acquisition grossière en français) c_i(t), code binaire NRZ propre à chaque satellite, de fréquence f_(C/A) = 1, 023MHz;
  • la porteuse dite «porteuse L1» p_(L1)(t), signal sinusoïdal identique pour tous les satellites, de fréquence f_(L1) = 1575, 42MHz et d'amplitude A : p_(L1)(t) = Asin(2πf_(L1)t).
    La génération de s_i(t) est représentée sur la figure 8 . Du fait de l'utilisation de la représentation binaire NRZ, l'opération notée ⊗ sur la figure 8 est une multiplication classique de signaux : si les 2 entrées sont E_1(t) et E_2(t), la sortie de cet opérateur est S(t) = K × E_1(t) × E_2(t) avec K = 1.
Figure 8 - Génération du signal s_i(t)
Nota : compte tenu de la représentation binaire NRZ, la porteuse subit des sauts de phase de 180^∘ en fonction de la valeur du signal utile ( -1 ou 1). La modulation représentée sur la figure 8 est donc de type BPSK (Binary Phase-Shift Keying).
Q26. Donner l'expression du signal de sortie s_i(t) en fonction de c_i(t), m_i(t), A, f_(L1).
Un exemple de signaux c_i(t) et m_i(t) est donné sur la figure A du document réponse, ainsi que le début du signal s_i(t) correspondant.
Nota : pour permettre une bonne visualisation graphique, les rapports de fréquences des différents signaux n'ont pas été conservés sur cette figure.
Q27. Compléter la forme des signaux c_i ⊗ m_i et s_i.

3.2.2 Etude de la génération du code C/A

Tous les signaux s_i(t) émis par les satellites ont la même porteuse de fréquence f_(L1). Afin que le récepteur puisse distinguer les différents signaux qu'il reçoit, un code C/Ac_i(t) binaire NRZ est utilisé, comme défini précédemment. Ce code possède les propriétés suivantes:
  • P1 : chaque code c_i(t) est propre au satellite S_i;
  • P2 : tous les codes c_i(t) ont la même fréquence f_(C/A) et ont le même nombre de bits NRZ n_c = 1023 avant de se répéter;
  • P3 : la séquence de bits NRZ des codes c_i(t) n'est pas confidentielle: la structure de ces codes est connue du grand public;
  • P4 : les codes c_i(t) sont dits «orthogonaux» (codes de Gold), c'est-à-dire que leur intercorrélation est quasi-nulle, où l'intercorrélation entre deux codes c_i et c_k est définie par l'équation suivante:
    r_(ik)(p) = ∑_(l = 0)^(l = n_c − 1)c_i(l)c_k(l + p) pour tout i, k entiers naturels non nuls (i ≠ k) et tout p entier relatif ;
  • P5 : l'autocorrélation d'un code c_i(t) est quasi-nulle pour un retard d'au moins 1 bit NRZ, où l'autocorrélation d'un code c_i est définie par l'équation suivante:
r_(ii)(p) = ∑_(l = 0)^(l = n_c − 1)c_i(l)c_i(l + p) pour tout i entier naturel non nul et tout p entier relatif.
Nota : comme il le sera démontré dans la partie 5, la propriété P4 permet au récepteur de séparer les différents signaux tandis que la propriété P5 permet au récepteur de déterminer la pseudo-distance séparant l'antenne du récepteur et le satellite émettant le signal décodé.
La puissance d'un code C/A, notée P_c, est définie par P_c = r_(ii)(0). Numériquement, on considère dans cette étude que les propriétés P4 et P5 s'écrivent :
|r_(ik)(p)| = |∑_(l = 0)^(l = n_c − 1)c_i(l)c_k(l + p)| ≤ 1/(10)P_c pour tout i, k entiers naturels non nuls (i ≠ k) et tout p entier relatif;
|r_(ii)(p)| = |∑_(l = 0)^(l = n_c − 1)c_i(l)c_i(l + p)| ≤ 1/(10)P_c pour tout i entier naturel non nul et tout p entier relatif.

Q28. Déterminer la valeur numérique de P_c. Cette valeur dépend-elle du code c_i considéré?

Chaque satellite possède à son bord un générateur de code C/A qui permet de créer un code c_i(t) possédant les caractéristiques précédentes. La figure 9 illustre la génération du code c_1(t) utilisé par le satellite S_1, les autres codes étant générés de façon similaire. Pour ce faire, deux registres G1 et G2 sont utilisés, chaque registre étant un emplacement de mémoire interne à un processeur. Chacun de ces registres est constitué de 10 bits, ceux-ci étant notés b_l^(G1) et b_l^(G2), pour l entier naturel compris entre 1 et 10 .
Figure 9 - Générateur du code c_1(t)
À l'initialisation du processus de génération du code c_1(t), les registres G1 et G2 sont composés uniquement de bits valant 1 . Ensuite, au k^(ème) pas de calcul, les opérations suivantes sont réalisées successivement afin de déterminer les bits des registres G1 et G2, opérations à l'issue desquelles le nouveau bit du code binaire f_1(t) est calculé :
  • registre G1
  • b_l^(G1)(k) = b_(l − 1)^(G1)(k − 1), 2 ≤ l ≤ 10
  • b_1^(G1)(k) = b_3^(G1)(k − 1) ⊕ b_(10)^(G1)(k − 1)
  • registre G2
  • b_l^(G2)(k) = b_(l − 1)^(G2)(k − 1), 2 ≤ l ≤ 10
  • b_1^(G2)(k) = b_2^(G2)(k − 1) ⊕ b_3^(G2)(k − 1) ⊕ b_6^(G2)(k − 1) ⊕ b_8^(G2)(k − 1) ⊕ b_9^(G2)(k − 1) ⊕ b_(10)^(G2)(k − 1)
  • sortie f_1
  • f_1(k) = b_(10)^(G1)(k − 1) ⊕ b_2^(G2)(k − 1) ⊕ b_6^(G2)(k − 1)
Enfin, le code binaire f_1(t) est transformé en code binaire NRZ c_1(t) par simple passage du bit 0 à -1 .
L'opération notée ⊕ dans la figure 9 est un sommateur bit à bit modulo 2 , c'est-à-dire un «OU exclusif » dont les règles sont énoncées dans le tableau 1 .
Table 1- Règle pour l'opérateur ⊕
Entrée E1 Entrée E2 Sortie S=E1 ⊕ E2
0 0 0
0 1 1
1 0 1
1 1 0
Nota: les autres codes binaires f_i(t) pour les autres satellites sont générés en sélectionnant des bits du registre G2 différents des bits b_2^(G2) et b_6^(G2) choisis ici.
Sur la figure B du document réponse sont représentés 20 pas de temps de G_1 et G_2 parmi les 1023 au total.
Q29. Compléter sur la figure B du document réponse les séquences des registres G_1 et G_2.
Sur la figure C du document réponse sont représentés les 20 bits NRZ du code c_1 correspondant aux 20 pas de temps des registres G1 et G2 de la figure B .
Q30. Compléter sur la figure C du document réponse la séquence du code c_1.
Afin de pouvoir mener les calculs de façon simple, on considère désormais que les codes C/A possèdent au total n_c = 20 bits NRZ au lieu des 1023 en réalité. La valeur numérique de la puissance P_c, déterminée à la question Q28, doit être recalculée en conséquence.
Q31. Calculer les autocorrélations r_(11)(p) pour p = 1, 2. En exploitant le fait que le code c_1 possède par hypothèse la propriété P2, vérifier que le code c_1 satisfait bien la propriété P5.
Sur la figure 10 sont représentés 20 pas de temps correspondants à 3 codes binaires NRZ. L'un d'entre eux est celui du code c_2(t).
Code a) 1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 1 1 1 1 -1 1 -1
Code b) 1 -1 1 1 -1 1 -1 1 1 -1 1 1 1 1 -1 1 1 -1 1 -1
Code c) 1 -1 -1 1 1 -1 -1 1 -1 1 1 -1 1 1 1 1 1 1 -1 -1
Figure 10 - Codes potentiels pour c_2
Q32. En vous appuyant sur la propriété P4, déterminer lequel des 3 signaux correspond à un code c_2(t) valide.

4 Etude de la propagation du signal entre le satellite et le récepteur

Un signal radio-électrique se propageant dans le vide se déplace à vitesse constante c (célérité de la lumière) et en ligne droite, si on fait abstraction des effets relativistes. Vis-à-vis de ces hypothèses, l'évolution du signal à travers les différentes couches de l'atmosphère va provoquer un allongement du temps de propagation du signal entre le satellite et le récepteur du fait de la diminution de la vitesse de propagation et de la déviation du signal. Le récepteur GPS estime la distance le séparant des satellites via la durée de propagation du signal : cet allongement du temps de propagation doit par conséquent être modélisé finement pour obtenir une estimation précise de cette distance.
Dans notre étude, nous considérons que les deux seules couches atmosphériques pouvant entraîner un allongement du temps de propagation sont la troposphère et l'ionosphère:
  • La troposphère est la couche la plus basse de l'atmosphère. Elle s'élève jusqu'à 15 km d'altitude environ. Le retard troposphérique dépend essentiellement des conditions climatiques (température, taux d'humidité, pression de l'air). Le retard troposphérique engendre une erreur sur la pseudo-distance pouvant aller jusqu'à 30 mètres.
Figure 11 - Couches atmosphériques prises en compte
  • L'ionosphère est la couche atmosphérique située de 60 km à 700 km d'altitude environ. C'est un milieu ionisé par les radiations solaires. Cette couche atmosphérique peut être considérée comme un plasma neutre. Elle est constituée de cations de charge positive + e d'une densité volumique de charge d'environ n_0 = 5.10^(10) m^(− 3) ainsi que d'électrons de charge − e de même densité volumique n_0. Afin de déterminer le comportement du signal électrique dans l'ionosphère, on élabore un modèle dont les hypothèses sont les suivantes:
  • les cations sont immobiles du fait de leur grande masse devant celle d'un électron;
  • l'agitation thermique, les collisions entre les particules ainsi que l'interaction entre particules chargées sont négligées ;
  • la vitesse des porteurs de charges reste faible devant la vitesse de la lumière.
On se propose d'étudier dans ce milieu la propagation d'ondes du type
E⃗(M, t) = E_0 e^(iΨ(M))e_x^(→−)
où la phase Ψ s'exprime en fonction de la pulsation ω et du vecteur d'onde k⃗ par Ψ(M) = (ωt − k⃗ ⋅ r⃗), E_0 ∈ ℝ_+^∗, ω ∈ ℝ_+^∗ et k⃗ ∈ ℂ^3. Dans le plasma, les électrons ne sont soumis qu'à la force de Lorentz due aux champs électromagnétiques de l'onde.
La présente étude ne concerne que le retard ionosphérique. Le retard dû à la troposhpère est quant à lui compensé par le récepteur via des paramètres correctifs présents dans le message envoyé par le satellite.
Q33. Déterminer l'expression simplifiée de l'accélération de l'électron pour les vitesses faibles.
Q34. En supposant que l'amplitude de déplacement des porteurs de charges reste faible devant la longueur d'onde des charges, déterminer l'expression de γ défini par la relation : j⃗ = γE⃗, où j⃗ est le vecteur densité de courant. Cette expression doit être fonction de n_0, e, ω et m_e.
Q35. Écrire les équations de Maxwell à l'intérieur de l'ionosphère. Déterminer l'expression de k⃗ dans le plasma. Mettre en évidence une fréquence caractéristique dite fréquence plasma f_p : donner son expression.
Numériquement, la fréquence plasma est évaluée à f_p = 2, 009MHz.
Q36. Les fréquences de l'ensemble des signaux GPS étant comprises entre 1000 MHz et 1600 MHz , justifier ce choix de gamme de fréquences.
Q37. Déterminer l'expression de l'indice n_p du plasma défini par : n_p = c/v_φ où v_φ est la vitesse de phase, et en conclure si le milieu est dispersif ou non. Donner également l'expression de la vitesse de groupe v_g à laquelle se déplace le signal électrique émis par le satellite dans l'ionosphère en fonction de c et de n_p.
L'ionosphère a une épaisseur Δh et le nombre n_0 d'électrons reste constant dans cette épaisseur. On note θ_(el) l'angle d'élévation de l'onde électromagnétique entre la normale à la surface et la direction de propagation (voir la figure 12). En traversant l'ionosphère, la différence de vitesse retarde la réception du signal d'une durée τ_(ion), ce qui engendre une erreur de mesure ΔPD_(ion) de la distance entre le satellite et le récepteur selon la relation :
ΔPD_(ion) = c.τ_(ion)
Q38. Ecrire le retard τ_(ion) sous la forme τ_(ion) = K_(ion)/f^2, où f est la fréquence de la porteuse du signal, en exprimant K_(ion) en fonction de la fréquence plasma f_p, de la célérité c, de l'angle d'élévation θ_(el) et de l'épaisseur de l'ionosphère traversée Δh.
Figure 12 - Influence de l'ionosphère sur le trajet du signal
Dans la pratique, le satellite émet le même signal sur deux porteuses de fréquences f_(L1) et f_(L2).
Q39. En exploitant la forme de τ_(ion) de la question précédente, démontrer comment l'utilisation de ces deux porteuses permet de corriger les erreurs dues à la traversée de l'ionosphère.

5 Etude des traitements effectués par le récepteur

Soit un signal s_i(t) émis par un satellite S_i. On suppose que l'horloge du récepteur et celles des satellites sont synchrones : elles constituent même référence temporelle. D'après les parties précédentes, le signal reçu au niveau du récepteur peut s'écrire : e_i(t) = Bm_i(t − T_p)c_i(t − T_p)sin(2πf_(L1)(t − T_p)) où
  • t est le temps dans le référentiel temporel du récepteur (identique au temps GPS par hypothèse);
  • T_p est le temps de propagation du signal dans l'espace;
  • B est l'amplitude du signal reçu;
  • m_i(t) est le message de navigation contenant les informations sur la trajectoire du satellite S_i, de fréquence f_m = 50 Hz et prenant comme valeurs ± 1 (signal binaire NRZ);
  • c_i(t) est le code de Gold propre au satellite S_i, de fréquence f_(C/A) = 1, 023MHz et comprenant une succession de n_c = 1023 bits NRZ, i.e. de valeur ± 1;
  • f_(L1) est la fréquence de la porteuse sinsuoïdale, f_(L1) = 1575, 42MHz.

5.1 Analyse de la puissance des signaux reçus

Au niveau du récepteur, plusieurs éléments génèrent du bruit qui s'ajoute au signal reçu e_i(t), entre autres les câbles de liaison et les différents circuits électroniques, tels que les amplificateurs linéaires intégrés. Au final, la puissance totale du bruit générée s'écrit P_N = n_1 B, où n_1 est la densité spectrale de bruit totale et B la largeur de bande de fréquence utile du signal. La fréquence du code C/A étant d'environ 1 MHz , nous obtenons numériquement B = 2MHz. De plus, n_1 = − 200dBW.Hz^(− 1).
Nota : si X est une puissance exprimée en Watts, elle s'exprime en dBW selon la relation X = 10logX/(X_0)dBW avec X_0 = 1 W.
Q40. En prenant comme approximation 10log(2) = 3, calculer la valeur numérique de la puissance du bruit P_N, en dBW.
Q41. Sachant que la puissance des signaux reçus est P_R = − 159dBW, calculer le rapport signal sur bruit α = (P_R)/(P_N). Commenter.

5.2 Analyse des traitements effectués par le récepteur

Les différents traitements effectués par le récepteur sur le signal reçu e_i sont représentés sur la figure 13 .
Le signal reçu e_i(t) est tout d'abord transposé en fréquence afin de supprimer la porteuse et donc de récupérer un signal utile h_i(t) qui sera exploité dans la suite des traitements. Cette transposition en fréquence s'effectue grâce aux utilisations successives
  • d'un multiplieur, qui multiplie e_i(t) avec un signal sinusoïdal d'expression sin(2πf_(L1)t);
  • d'un filtre passe-bas de fréquence de coupure f_(pb).
Figure 13 - Traitements effectués par le récepteur
Q42. Préciser quelle relation doivent vérifier f_(pb), f_(L1) et f_(C/A). Les valeurs numériques de f_(L1) et f_(C/A) permettent-elles de vérifier cette relation? En supposant le filtre passe-bas idéal, écrire alors l'expression du signal de sortie du filtre passe-bas h_i(t) sous la forme B~m_i(t − T_p)c_i(t − T_p), où B~ sera exprimé en fonction de B, f_(L1) et T_p.
Un second multiplieur est ensuite utilisé, prenant comme deuxième entrée un générateur de codes de Gold identique à celui embarqué à bord des satellites GPS. L'horloge du récepteur étant supposée synchronisée aux satellites, le code généré par le récepteur est synchrone de celui généré par les satellites. Ne connaissant a priori ni l'identité du satellite émettant le signal reçu ni le temps de propagation du signal, le code généré par le récepteur est c_j(t) décalé de Δτ : les valeurs de j et de Δτ sont choisies arbitrairement par le récepteur. La sortie du multiplieur est ensuite sommée sur les 1023 bits NRZ du signal résultant de cette multiplication pour obtenir une valeur w_i.
Q43. Compte tenu de la différence de fréquence entre les signaux m_i et c_i, donner l'expression de w_i en fonction de B~, m_i(t − T_p), r_(ij), Δτ et T_p.
Q44. Indiquer pour quelles valeurs de j et Δτ la valeur maximale de la corrélation r_(ij) est atteinte. Donner alors l'expression de w_i dans ce cas-là en fonction de B~, m_i(t − T_p), et P_c.
Q45. En déduire les étapes pour que le récepteur soit capable d'identifier l'identité du satellite émetteur du signal et d'estimer le temps de propagation de celui-ci.
On retrouve ainsi les hypothèses de l'étude réalisée dans la partie 2, qui a mis en évidence la possibilité de déterminer une solution PVT.

6 Synthèse de l'étude

Q46. En exploitant la démarche de modélisation menée dans le sujet ainsi que les résultats de l'étude réalisée, synthétiser les éléments clés du fonctionnement du GPS.
Fin de l'énoncé.
Document-réponse à rendre avec votre copie
Figure A - Chronogramme des signaux générés par le satellite
1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1
1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 1
1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1
0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0
1 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 1
1 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0
1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1
1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0
0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0
1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 0
0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0
1 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 0
0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1
0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1
Figure B - Générateur de code c_1 : 20 pas de temps pour G1 (gauche) et G2 (droite)
1 1 1 -1 -1 1 -1 -1 1 1 1 1 1 -1
Figure C - Générateur de code c_1 : 20 pas de temps du code c_1

Questions fréquentes

4 questions
Sur quels chapitres porte le sujet de modélisation X-ENS PSI 2016 sur le GPS ?
Afficher ou masquer la section

Sur quels chapitres porte le sujet de modélisation X-ENS PSI 2016 sur le GPS ?

Il porte sur la méthode des moindres carrés et l'algorithmique numérique, la mécanique céleste et les perturbations orbitales, le traitement du signal par codes pseudo-aléatoires, et la propagation électromagnétique dans un plasma.

Quelles parties du sujet de modélisation sur le GPS sont indépendantes ?

Le sujet est conçu comme une progression en six parties suivant la chaîne du GPS, mais plusieurs d'entre elles, comme l'étude de l'orbite des satellites ou la propagation ionosphérique, peuvent être traitées de façon relativement autonome.

Ce sujet de modélisation sur le GPS mélange-t-il plusieurs disciplines ?

Oui, il combine mécanique céleste, électromagnétisme dans un plasma, traitement du signal et algorithmique numérique en Python, conformément à l'esprit transversal de l'épreuve de modélisation.

Quels résultats de cours faut-il connaître pour traiter ce sujet de modélisation sur le GPS ?

Il faut maîtriser le mouvement dans un champ de force centrale, la résolution de systèmes linéaires par pivot de Gauss, la propagation d'une onde dans un plasma, et les bases du traitement du signal (modulation, corrélation, rapport signal sur bruit).

Pas de description pour le moment