Partage
  • Partager sur Facebook
  • Partager sur Twitter

GPS : Equation de navigation

Anonyme
    24 janvier 2014 à 14:03:27

    Bonjour à tous,

    Je suis étudiant en première année de Maths/Physique et je suis amené à rédiger un document concernant le fonctionnement du GPS.

    J'ai une question concernant le calcul de coordonnées du récepteur, plus précisément sur la résolution de l'équation de navigation par la méthode de Bancroft.

    La méthode de Bancroft est détaillée dans l'article de Wikipédia concernant le GPS à cette adresse : http://fr.wikipedia.org/wiki/Global_Positioning_System#R.C3.A9solution_de_l.27.C3.A9quation_de_navigation

    Je comprends comment on arrive à déterminer les 4 équations :

    \rho_{i}=\sqrt{\left(x_{i}-x\right)^{2}+\left(y_{i}-y\right)^{2}+\left(z_{i}-z\right)^{2}}+c\Delta t=c\cdot\left(t_{r_{i}}-t_{e_{i}}\right)


    La méthode de Bancroft nous ramène à trouver les racines d'un polynôme du second degré :

    \Lambda^{2}\left\langle B^{+}\mathbf{e},B^{+}\mathbf{e}\right\rangle +2\Lambda\left(\left\langle B^{+}\mathbf{a},B^{+}\mathbf{e}\right\rangle -1\right)+\left\langle B^{+}\mathbf{a},B^{+}\mathbf{a}\right\rangle =0

    Par contre, je ne comprends pas bien comment trouver les racines de ce polynôme et finalement comment on en déduit les coordonnées du récepteur GPS.

    J'en ai parlé avec mon professeur qui m'a réorienté vers un autre type de résolution plus simple : www.genie-des-maths.polymtl.ca/exemple.php?no=19

    Cependant, cette méthode part du fait que l'heure à laquelle le signal a été émis par le satellite est connue, et l'heure à laquelle le récepteur le reçoit est inconnue.

    Or, d'après ce que j'ai compris, le temps de propagation du signal est connu, à une petite erreur due au décalage entre l'horloge atomique du satellite et l'horloge interne du récepteur près.

    Je voulais savoir si vous pouviez m'aider à comprendre la méthode de Bancroft ou s'il existe des alternatives. Sinon, est-ce que la méthode évoquée dans le document PDF est suffisante, même s'il elle n'est pas tout à fait exacte si j'ai bien compris ?

    Merci, j'espère que vous pourrez m'aider ! :)

    -
    Edité par Anonyme 25 janvier 2014 à 23:19:43

    • Partager sur Facebook
    • Partager sur Twitter
      24 janvier 2014 à 16:16:41

      J'ai du mal à envisager le fait que tu comprennes comment on passe de l'équation de navigation à la résolution d'un polynôme du second degrés (ce qui demande quand même certaines notions un poil avancées en math, disons après le bac) mais que tu ne soit pas capable de trouver les racine de ce type de polynôme (niveau 2nd. Malheureusement, si tu bloques là, il faudrait plutôt demander en math qu'en physique.

      Une fois que tu as \(\Lambda\) grâce au polynôme que tu donnes ici, c'est pas compliqué de trouver les coordonnées du récepteur puisque c'est la seule inconnue qu'il manquait pour trouver \(u = [x y z c\Delta t]^T\).

      Le pdf ne présente qu'une approximation du système. Résoudre un système de 4 équation de cette façon marche aussi (c'est moins optimisé par contre) mais dans ce pdf, il y a trop d'approximation, c'est juste pour montrer le principe je pense.

      • Partager sur Facebook
      • Partager sur Twitter
        24 janvier 2014 à 16:42:07

        C'est quoi première année de Maths/Physique  ? (MP ? MPSI ? Fac ?)

        Le premier point à clarifier c'est que les coordonnée (x,y,z) sont exprimé depuis le centre de la terre, donc en simplifiant (terre sphérique) un point à la surface de la terre est décrit par des coordonnées qui satisfont \( x^2 + y^2 +z^2 = R_{Terre}\)

        Ensuite dans la notation utilisé sur wikipedia \( \langle,\rangle \) signifie le produit scalaire que toi tu as sans doute apprit avec un point donc \(\vec{u}.\vec{v} = \langle\vec{u},\vec{v}\rangle \). Et donc \( \langle\vec{u},\vec{u}\rangle = \vec{u}.\vec{u} = ||\vec{u}||  \).

        En fait dans la méthode Bancroft on peut exprimer la solution \( \vec{u} = B^+(\vec{a} + \Lambda \vec{e}) \) Le problème c'est que \( \Lambda = ||\vec{u}|| \).

        Donc l'idée c'est de trouver une équation qui donne une ou plusieurs solutions de la norme de \( \vec{u}\). Dans ce cas on a une équation polynomiale d'ordre 2 avec donc 2 solutions, mais la seul qui est physique est celle qui vaut environs le rayon de la terre (le gps étant sur terre).

        La polynôme que tu montres est un bête polynôme sur second degré, car tous ce qui est un produit scalaire \( \langle,\rangle \) est un scalaire et lambda est ta variable qui est egalement un scalaire, car provient d'un produit scalaire (norme de \( \vec{u} \)

        PS: Le wiki est très mal expliqué, on pourrait en effet croire que la solution final vient du polynôme mais non, la solution final vient de \( \vec{u} = B^+(\vec{a} + \Lambda \vec{e}) \) qui est noté \( \textbf{u*} = B^+( \textbf{a} + \Lambda \textbf{e} ) \) dans le wiki.
        Le polynôme sert uniquement à déterminer la valeur de lambda à injecter dans cette équation.

        -
        Edité par Vael 26 janvier 2014 à 11:18:02

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          25 janvier 2014 à 23:57:18

          Merci à vous deux pour vos réponses rapides et très claires ! :)

          @Akio :

          Je n'ai pas dit que je comprenais comment on passait de l'équation de navigation à la résolution d'un polynôme du second degré. Et je sais trouver les racines d'un polynôme du second degré. Ce qui me bloquait, c'est que je pensais qu'il fallait utiliser

          \Lambda=\frac{1}{2}\left\langle \mathbf{u},\mathbf{u}\right\rangle =\frac{1}{2}\left\langle B^{+}\left(\mathbf{a}+\Lambda\mathbf{e}\right),B^{+}\left(\mathbf{a}+\Lambda\mathbf{e}\right)\right\rangle

          dans l'expression du polynôme, et que les racines donnaient directement les coordonnées du récepteur GPS. C'est pour cela que je ne savais pas comment m'y prendre pour trouver les racines...

          @Vael : Je suis en à la Fac, en filière M2IPC plus précisément.

          Et une fois que l'on a trouvé lambda et calculé u, on obtient bien les coordonnées du récepteur dans le système ECEF ?

          Mais finalement, la valeur de c\Delta t importe peu ?

          -
          Edité par Anonyme 26 janvier 2014 à 0:00:57

          • Partager sur Facebook
          • Partager sur Twitter
            26 janvier 2014 à 11:43:32

            MontBlanc86 a écrit:

            Et une fois que l'on a trouvé lambda et calculé u, on obtient bien les coordonnées du récepteur dans le système ECEF ?

            Mais finalement, la valeur de c\Delta t importe peu ?


            Oui c'est en ECEF.

            Encore une fois le wiki est fait avec les pieds, ce terme est important car quand dans le wiki il est noté:

            \( \rho_i = \sqrt{(x-x_i)^2 + (y-y_i)^2 + (z-z_i)^2 } + c\Delta  t = c(t_{ri} - t_{ei}) \)
            Avec pour explication :

            t_{r_{i}} le temps de réception du signal émis à t_{e_{i}} par le satellite i.

            En fait ce qu'il faut comprendre c'est :

            \( t_{ri} = \) temps de réception du signal dans l'horloge du récepteur.
            \( t_{ei} = \) temps d'émission du signal dans l'horloge de l’émetteur.

            Donc le terme \( c\Delta t \) est très important !

            Exemple:

            L'horloge du récepteur (GPS) est décalée de 2 secondes par rapport à celle du satellite. Le signal du satellite met 2 secondes à parcourir la distance satellite/GPS. Le signal du satellite est émis à 12h00m00s (donc à ce moment le GPS est à l'heure : 11h59m58s. Le GPS reçoit le signal du satellite à 12h00m00s. Le signal du satellite contient en fait basique "Bonjour je suis émis par le satellite à 12h00m00s"

            Donc dans cette situation si on fait : \( \rho_i = c(t_{ri} - t_{ei})  = c(12h00m00s - 12h00m00s) = 0 \) => Le satellite et le GPS sont séparé par une distance de 0m ... Un peu farfelue.

            Hors si on connait le déphasage des 2 horloges (émetteur - récepteur) c'est à dire 2 secondes : on a : \( \rho_i = c(t_{ri} - t_{ei}) - c \Delta t  = c(12h00m00s - 12h00m00s) + 2c = 600 000 km \).

            Ici on ajoute ou soustrait detla t en fonction des conventions choisis sur le décalage des horloges. (le GPS est en retard de 2 secondes : \( \Delta t = -2s\) ou le satellite avance de 2 secondes \( Delta t = +2s \). Je pense que de manière général le satellite est pris comme référence , donc ici c'est le GPS qui est en retard.

            Tous ça pour dire que la distance \( \rho_i \) du wiki est une pseudo-distance car mesuré avec l'expression \( c(t_{ri} - t_{ei} \)  où les 2 temps ne sont pas exprimé à partir de la même horloge. Donc si tu enlèves le \( \Delta t \) de ton système d’équations (c'est ce qui est fait dans le pdf que tu présentes) tu auras un résultat faux (disons moins exact), car tu considéras \( \rho_i \) comme la distance réel entre le satellite et le gps.

            PS: oui 2 secondes c'est sans doute légèrement sur-évalué  pour le temps mis par le signal à parcourir la distance mais c’était pour l'exemple ! :-°

            -
            Edité par Vael 26 janvier 2014 à 11:46:54

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              28 janvier 2014 à 20:24:45

              Merci pour les explications complémentaires ! :)

              Mais une fois que l'on connaît u, on connaît bien les coordonnées du récepteur GPS qui ont été calculées en prenant en compte le décalage entre l'horloge interne du récepteur et l'horloge atomique du satellite ?

              Il n'y a plus de calculs supplémentaires à faire pour avoir les coordonnées "réelles" ?

              • Partager sur Facebook
              • Partager sur Twitter
                28 janvier 2014 à 22:05:56

                Le recepteur calcul son décalage avec les satellites grâce au message de correction donné par les satellites.

                Quand tu le met en marche, il commence par se mettre par défaut un décalage de quelques ms avec le signal d'un satellite qu'il reçoit (70 ms je crois). Puis il cherche les signaux d'au minimum 3 satellites. Dans ces signaux, il se sert des coordonnées des satellites pour calculer les cercles d'intersection entre les sphère correspondant à la propagation du signal après le décalage qu'il s'est fixé et la terre.

                Si il le temps qu'il s'est mis par défaut est trop grand, les cercles le seront aussi et le récepteur se trouvera au milieu d'un triangle (si il n'utilise que 3 satellites) formés par l'intersection des sphères. son but ça va donc être de réduire au minimum la surface de ce triangle en réduisant le décalage qu'il s'était fixé.

                Si le temps fixé est trop court, les cercles sont trop petit et le récepteur ne se trouve pas dans tous les cercles, il retarde donc un peut plus son horloge.

                Si on s'arrête là, on obtiens des coordonnées dans un repère géocentrique, il faut convertir ça en latitude, longitude et altitude ensuite. Je crois que c'est la transformation de Helmert qui permet ça (à vérifier). En fait c'est même un poil plus compliqué, les satellites n'utilisent pas un repère orthonormé comme le laisse penser wikipedia, il faut d'abords convertir les coordonnées géographique du satellite en coordonnée géocentrique, appliquer la transformée pour changer de base et reconvertir en coordonnées géographiques (on fait un changement de systèmes géodésiques en fait).

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  31 janvier 2014 à 18:02:29

                  OK, merci pour ces précisions, c'est beaucoup plus clair maintenant ! :)

                  Pour ce qui concerne les différents changements de bases, je pense avoir bien compris.

                  Il faut d'abord convertir les coordonnées (orbitales) émises par le satellite dans le système ECEF.

                  Ensuite, en résolvant l'équation de navigation on obtient les coordonnées du récepteur GPS dans le système ECEF. Il faut alors les convertir  dans le système géodésique WGS84 pour finalement avoir les coordonnées en latitude longitude et altitude.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  GPS : Equation de navigation

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown