Si on enregistre pendant un peu plus d'une demi-heure la position GPS sans le déplacer, la position rapportée varie : Le GPS est posé sur un mur entre deux maisons. La vue est plus dégagée en est-ouest qu'en nord-sud. Le GPS semble, en effet avoir plus de mal à déterminer la latitude.
Dans un endroit plus dégagé : La précision nord-sud est améliorée.
Le module donne toute une série de lignes NMEA toutes les secondes à 9600 bps (8N1). La latitude apparaît sous la forme DDMM.yyyyy et la longitude sous la forme DDDMM.xxxxx ('D' pour degré; 'M' pour minute; xxxxx & yyyyy sont des décimales de minutes). Ces coordonnées sont extraites des lignes GPGGA. La traduction en mètres est approximative : 40 000 km/360°; un offset est soustrait pour rendre la lecture plus aisée.
Si on s'intéresse à l'évolution de l'altitude, on obtient le graphe suivant : On s'aperçoit également que les variations sont moins grandes lorsque la vue sur le ciel est plus dégagée.
La suite des mesures n'est pas la position réelle plus quelque chose d'aléatoire comme on aurait pu s'y attendre si les positions avaient été calculées indépendamment. On a affaire soit à une précision diabolique à la merci d'un phénomène physique continu non maîtrisé, soit, plus vraisemblablement, à un filtrage du genre xn+1 = αX + (1-α)xn (?).
Il faudrait regarder les autres informations (comme le HDOP), étudier l'évolution à plus long terme, essayer de déterminer la position moyenne par les moindres carrés, regarder si elle converge et si elle est stable dans le temps. Les graphes semblent déjà dire qu'il ne suffit pas de faire la moyenne sur cinq minutes pour avoir une meilleure précision. C'est plus complexe que cela...
Avec deux GPS
Une question que l'on pourrait se poser est de savoir si deux modules GPS posés l'un à côté de l'autre se baladent de la même manière... On s'approcherait d'un GPS différentiel à peu de frais. Cela serait plus ou moins le cas si les variations de la vitesse de propagation des signaux était dominante. Mais, il semble que non : les deux GPS se baladent indépendamment : Une trace en vert, l'autre en rouge...La différence entre les deux positions n'est pas meilleure que les positions individuelles.
À noter que l'on trouve pas mal de documentation sur ces modules :