Aller au contenu

Comment est calculé la position par gps sous android ?


Drébon

Recommended Posts

Bonjour,

Une chose m'a étonné récemment à propos du gps sous android. C'est qu'il utilise l'heure. Ce détail fait que certains pensent améliorer les performances (temps avant d'acquisition de la position) en changeant le serveur ntp du fichier gps.conf...

Mais pourquoi un GPS aurait besoin du temps ?

Une explication simpliste consiste à dire que le gps se place sur des sphères de centre les satellites qu'il voit et dont il mesure les rayons avec le décalage heure d'envoi du signal/heure locale. C'est effectivement une méthode qui marche(rait) mais elle demande une précision monstrueuse sur l'heure locale... que même un serveur ntp est incapable de fournir... Du coup on tatonne et le gps utilisant cette méthode ajuste son heure locale pour faire converger les sphères...

Je me demande alors si la position est calculée par le driver du gps ou par les applica[color=red]tion[/color] utilisant le gps... Car il existe une autre méthode pour calculer la position gps qui n'a pas besoin d'heure locale :

Dès que l'on a deux satellites, leurs signaux permettent de se localiser sur un hyperboloïde de révolution. Du coup, avec 4 satellites, on obtient en théorie un point. Cette méthode est peut-être un peu plus coûteuse en temps cpu (intersection d'hyperboloïdes au lieu de sphère) mais me smeble bien plus rigoureuse.

Quelqu'un connaîtrait-t-il une application android qui utilise cette méthode ou bien est-ce le driver qui donne la position directement ?

Merci bien.

Lien vers le commentaire
Partager sur d’autres sites

Je crois comprendre que le module AGPS :

- télécharge les éphéméride depuis Internet d'une part

- évalue sa position approximative grâce aux réseau mobiles

- récupère l'heure

et recoupe ces 3 informations pour prédire l'emplacement des satellites présents au dessus de sa tête, afin d'accéder le fix.

Pour moi, l'application récupère directement la position, fournie par le driver.

L'application Z-Device test pourrait t'intéresser, on peut entre autres y voir les données échangées avec le module GPS (norme NMEA) :

snap20101007012357resiz.jpg

Lien vers le commentaire
Partager sur d’autres sites

Le GPS c'est de la triangulation pure et dure:

Tu envoi un signal vers le satellite, tu connais la vitesse du signal donc en mesurant le temps qu'il faut pour revenir tu connais la distance à laquelle tu trouve du satellite. Ensuite il suffit de répéter ça avec au moins 3 satellites et tu connais ta position dans l'espace par rapport à ces satellites. Ces derniers ayant une position connue tu peux alors en déduire la tienne.

Donc pour déterminer la position en elle-même ta puce GPS n'a pas besoin de connaitre son heure exacte (par contre les satellites eux doivent être réglés au quart de poil sinon tout le systeme est OUT) parce qu'elle ne fait que mesurer un temps relatif et non absolue (temps de l'aller-retour du signal).

Par contre comme dit Electrocut: une puce aGPS améliore le temps du fix en téléchargeant au préalable les éphémérides des satellites qui seront "à vue". Or pour cela il lui faut un minimum de synchronisation pour pouvoir demander les bonnes informations sinon ça ne sert à rien et la puce se retrouve à chercher les mauvais satellites.

Lien vers le commentaire
Partager sur d’autres sites

Le GPS c'est de la triangulation pure et dure:

Tu envoi un signal vers le satellite, tu connais la vitesse du signal donc en mesurant le temps qu'il faut pour revenir tu connais la distance à laquelle tu trouve du satellite. Ensuite il suffit de répéter ça avec au moins 3 satellites et tu connais ta position dans l'espace par rapport à ces satellites. Ces derniers ayant une position connue tu peux alors en déduire la tienne.

Donc pour déterminer la position en elle-même ta puce GPS n'a pas besoin de connaitre son heure exacte (par contre les satellites eux doivent être réglés au quart de poil sinon tout le systeme est OUT) parce qu'elle ne fait que mesurer un temps relatif et non absolue (temps de l'aller-retour du signal).

Par contre comme dit Electrocut: une puce aGPS améliore le temps du fix en téléchargeant au préalable les éphémérides des satellites qui seront "à vue". Or pour cela il lui faut un minimum de synchronisation pour pouvoir demander les bonnes informations sinon ça ne sert à rien et la puce se retrouve à chercher les mauvais satellites.

Un GPS n'envoie pas de signal vers de satellite !!!

Lien vers le commentaire
Partager sur d’autres sites

Effectivement, j'ai pas trop réfléchi ce matin :rolleyes:

En fait il semble bien que l'heure du recepteur GPS ai une importance capatiale pour le positionnement vu que le recepteur compare l'heure d'envoi du signal (inclue dans celui-ci) par le satellite, et sa propre heure.

C'est (semblerait-il) pour ça qu'il faut minimum 4 satallites pour un minimum de précision.

cd wikipedia:

http://fr.wikipedia.org/wiki/Global_Positioning_System

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...