MyTrails Home Maps

Oscillations anormales dans le dénivelé / Large oscillations in altitude

Bonjour,

depuis un moment, les deniveles que j’enregistre sont localement tres bruites bien que j’utilise comme avant dans les preferences Altitude GPS, les options : Stabilisation d’altitude, filtre de denivele’ 10m valeur par defaut et Corriger l’altitude pour etre au dessus du niveau de la mer. Bruite’ veut dire que lorsque je regarde la courbe des altitudes a certains endroits du trace’ les valeurs oscillent de maniere anormales en augmentant et diminuant brusquement relativement a une altitude correcte. Puis l’altitude redevient correcte jusqu’a un autre endroit ou le phenomene se reproduit.

J’ai essaye’ sans succes l’option cachee << set kalman filter n >> avec plusieurs valeurs allant de 1 a 7 sachant qu’en VTT on depasse rarement les 25KMH. Le filtre de Kalman n’a aucun effet car ces oscillations sont trop importantes pour lui et trop localisees ce qui l’empeche de faire une correction efficace.

Quand j’ai commence’ a utiliser l’application en 2014, version payante, je n’avais pas ce probleme. Actuellement j’utilise la version 2.1.5-pro. De plus l’enregistrement de la position, elle, n’est pas bruitee ce qui semble dire que le GPS n’est pas en cause, cela d’autant plus que le phenomene est localise’. La distance parcourue comparee a un compteur VTT est identique alors que le denivele’ donne des valeurs tres elevees par rapport au compteur VTT, pour un parcours ou le denivele’ que je connais bien est de l’ordre de 500m le denivele’ donne’ par MyTrails est superieur a 2000m. Cela correspond bien a l’addition des oscillations positives.

J’en profite pour dire que moi aussi je suis victime des fameuses << lignes parasites >> mais cela depuis toujours avec un Samsung Note 2 et maintenant avec un Huawei Mate 7. Je pense que les deux problemes sont independants.

Merci de me repondre.

Pat

Il faut savoir que l’altitude indiquée par le GPS comporte une erreur environ 5x pire que l’erreur sur la longitude et latitude. C’est pourquoi l’enregistrement de l’altitude peut être plus bruitée. L’autre possibilité est que votre ancien terminal comporte un capteur de pression atmosphérique et que ce ne soit pas le cas du nouveau.

Plus d’informations https://www.frogsparks.com/fr/cumulated-altitude-difference/

Bonjour,

comme je disais dans mon precedent post, le probleme n’est pas une erreur systematique de denivele’ qui serait liee a un bruit constant du au GPS. Je sais que tous les capteurs sont bruites en particulier l’altitude du GPS. Le denivele’ est la plupart du temps correct, je le compare regulierement a l’altitude donnee par un compteur VTT. Le probleme est qu’il apparait des oscillations tres importantes de parfois 50 ou 60 metres de denivele’ positif ou negatif qui se produisent localement sur quelques metres de distance. Cela augmente donc de facon importante, et de maniere artificielle, le denivele’ global de l’enregistrement GPX de la sortie.

D’autre part comme je le disais dans mon precedent post, j’ai effectue’ les reglages qui sont donnes sur la page web que vous indiquez et de plus j’ai essaye’ l’option cachee << set kalman filter n >> sans succes. Au passage le lien << cette discussion va tres en details sur les calculs de deniveles >> donne’ dans cette page web, est casse’.

Ci-joint une copie d’ecran d’un graphique (distance, altitude) pour un enregistrement ou le probleme se produit aux kilometres 10, 11,5, 22 et 25. A ces endroits des oscillations de plus de 100 metres ont lieu, faussant necessairement le denivele’ global. Vous pouvez constater que le reste du denivele’ est parfaitement correct et relativement peu bruite’, en tout cas bruite’ comme avant que j’ai ce probleme d’oscillations locales.

Merci pour votre aide.

Pat

Merci pour la copie d’écran, c’est bien clair comme ça.

L’implémentation actuelle du filtre de Kalman dans MyTrails utilise uniquement la longitude et latitude, or pour de grosses variations comme celles que vous observez un filtre en moyennes mobiles est moins efficace. Le mieux serait de pouvoir détecter et ignorer ces variations de très grande amplitude mais faible durée.

Je vous recommande pour le moment d’utiliser la normalisation d’altitude (en fin d’enregistrement). Ça ne corrigera pas la dénivelée indiquée par MyTrails pendant l’enregistrement.

Bjr.
Essayer de faire une MAJ de la version. Actuellement 2.1.6 depuis juin 2019.
J’ai paramétré Mytrails sur un mobile LG doté d’un capteur de pression, l’enregistrement donne des chiffres situés entre ceux donné par le site Openrunner et ceux du site Visurando.
Mais n’ayant pas de capteur de température, il faut paramétrer manuellement et régulièrement pendant chaque rando. Sinon les chiffres annoncés du D+ seront faussés.
Cdlt.
HP

Voyez ce commentaire à propos du capteur de température: Altitude problem on Galaxy S10+

Bonjour et merci pour vos reponses.

Je reponds dans l’ordre a Leader et Romuald.

Je suis d’accord sur l’inutilite’ du filtre de Kalman si celui-ci s’applique uniquement a la longitude et latitude. De plus, comme je l’avais evoque’ dans un precedent post, ce type de filtre n’est pas capable de filtrer des variations aussi brusques, donc non lineaires. Il faudrait utiliser un filtre a particules mieux adapte’ a des variations non lineaires. Comme vous le suggerez, l’ideal serait de ne filtrer que localement quand on repere des variations de denivele’ importantes comme c’est mon cas. Il est evident qu’un marcheur, biker, ou meme une automobile ne peut pas s’elever brusquement de 100m sur une aussi faible distance. Mais pour cela il faudrait modifier le code de l’application MyTrails, car je pense avoir utilise’ toutes les ressources accessibles simplement dans l’application. En plus du filtre de Kalman j’ai utilise’ dans les preferences tout ce qui permettait d’ameliorer l’altitude : preferences/capteurs/altitude GPS/stabilisation d’altitude, filtre de denivele’ par defaut a 10m et correction du GPS au dessus du niveau de la mer.

J’avais oublie’ de le preciser mais, bien sur, j’ai fait la mise a jour de juin (version 2.1.6). Mon probleme n’est pas des altitudes incorrectes. La plupart du temps les altitudes enregistrees sont correctes. Chaque fois que je compare l’altitude affichee sur le HUD a celle affichee sur le compteur VTT d’un ami ou sur un point de carte TOP25, les deux sont proches. Ce n’est que ponctuellement que j’ai des oscillations aberrantes et seulement quelques fois lors d’une sortie. Mais ces variations etant importantes, voir copie d’ecran, cela fausse completement le denivele’ global. Par ailleurs, sur mon Huawei Mate 8, je n’ai pas de capteur de pression (barometre) donc pas d’altimetre. Donc au niveau des preferences j’ai desactive’ l’enregistrement de la pression barometrique.

Pat

Avez-vous des suggestions d’implémentation pour le filtre à particules que vous évoquez? Je n’ai rien trouvé de probant…

Je ne suis pas spécialiste de traitement du signal (je devrais, mes mes cours sont un peu lointains), mais ma compréhension du filtre de Kalman est qu’il tente en effet de réduire l’incidence des mesures qui sont l’indication d’une vitesse très au-delà de la vitesse moyenne indiquée.

MyTrails a également un système pour exclure les points aberrants mais là encore en lat,lon. Je pourrais ajouter l’altitude à ce système, la difficulté étant que ce système un peu brutal ignore complètement les mesures considérées aberrantes, ce qui crée un effet de seuil.

Je suis dans un club de montagne où nous sommes nombreux à utiliser mytrails depuis longtemps. Ces oscillations de dénivelé sont apparues sur les téléphones récents alors que la localisation progresse je l’ai constatée aussi sur un honor 10 le dernier note de Samsung et mon redmi 6 pro ainsi que le redmi 7.
Avant j’avais un LG g4 sans problème et sans utiliser le baromètre.
J’ai observé que ayant oublié d’arrêter la trace les oscillations ne se produisent pas pendant le trajet en voiture.
Ces oscillations ne sont pas liées à Mytrails elles se produisent aussi avec d’autres logiciels

Bjr. Il semblerait que le problème se situe du côté des versions récentes d"android. Me trompé-je ?
Cdlt.

Bonjour,

je reponds dans l’ordre a Leader, joseph et romuald.

Il y a une litterature importante sur les filtres a particules. Je pourrais vous envoyer quelques articles si vous le souhaitez. Mais peut etre que la premiere piste consisterait a implementer le filtre de Kalman sur l’altitude puisque, comme vous l’avez dit, pour l’instant il n’est applique’ que sur la longitude et la lattitude. Est-ce que cela serait envisageable ? La possibilite’ d’exclure les points aberrants serait tres utile, mais comme vous le dites il faudrait le faire sur l’altitude. Si cela est possible nous pouvons discuter hors forum, pour ne pas le polluer, afin de reflechir a un algorithme adapte’.

Comme je le disais dans mon premier post, ces oscillations tres importantes et localisees sur une faible distance, sont apparues il y a a peu pres un an. Sous Android 4.4 Samsung Note 2, il y a trois ans, je n’avais pas le probleme. Au debut sous sous Android 6, Huawei Mate 8, je n’avais pas le probleme et depuis plus d’un an le probleme est apparu sous Android 6. Depuis que je suis passe’ sous Android 7, il y a deux mois, toujours avec mon Huawei Mate 8, le probleme persiste sans etre pire. Vous dites que vous avez aussi des oscillations avec d’autres logiciels, pouvez-vous nous dire quelles applications Android produisent les memes effets ?

Les versions ou j’ai constate’ le probleme sont Android 6 et 7 qui ne sont pas si recentes que ca :wink: Malheureusement, vous n’etes pas sans savoir que Huawei avait du mal a avoir les mises a jour Android et que cela ne va qu’empirer avec ce que l’on entend dans les medias. Mais difficile de revenir a Android 4.4 qui etait TRES stable. Il est d’ailleurs encore installe’ sur de nombreux malinphone bas de gamme qui fonctionnent parfaitement bien. J’en aurai bien achete’ un mais le probleme est que je tiens a avoir un ecran de diagonale egale ou superieure a 6" ce que l’on trouve rarement sur les telephones bas de gamme.

Pat

Bonsoir.
Vous allez dire que la critique est aisée…j’ai peut-êre incriminé Android un peu vite!
Mais en tant que candide et pas du tout spécialiste, j’émets quelques hypothèses qui pourraient être matière à réflexion :

  • les smartphones récents sont pour la plupart équipés d’une puce Galiléo (en principe meilleure que le GPS états-unien).
    oui mais voilà, on sait que sur les “n” satellites prévus au lancement de Galiléo, seulement “n-x” sont fonctionnels
  • Et quid du phénomène “urban canyon” bien décrit dans cet article (qui par ailleurs détaille les smartphones équipés de la puce Galiléo)
    https://www.google.fr/amp/s/www.numerama.com/tech/412030-comment-savoir-si-son-smartphone-est-compatible-avec-galileo-le-gps-europeen.html/amp
    Ceci pourrait expliquer celà…dans la mesure où les itinéraires vtt passent souvent le long de falaises hautes, ou dans des gorges étroites, forêts denses…etc…l’interropérabilité Galiléo/GPS (avec le décalage connu du GPS) a vite fait de nous emmener quelques courbes de niveau + haut (ou + bas) quand on décroche un satellite Galiléo (à cause du relief) et que son homologue d’outre-atlantique prend le relais quelques secondes le temps de récupérer les 4 satellites Galiléo (minima nécessaires à l’établissement d’une position).
    Qu’en pensez vous ?
    Cdlt.
    HP

N’ayant pas plus de problèmes de précision (ou bruit) GPS avec mes deux derniers téléphones, je ne sais pas si c’est pire depuis Android KitKat (côté développement c’est sûr que ça correspond avec le début des ennuis :slight_smile:).

Pour tester un autre système de filtre (Kalman 3D ou particules) j’ai besoin de trouver une implémentation Java (ou si ce n’est pas trop compliqué un autre langage), n’ayant pas le temps nécessaire à me replonger dans les algorithmes de traitement du signal, qui même pendant mes études n’ont pas été mon fort… Or je ne trouve rien de concret.

Bonjour,

concernant les satellites que voit mon GPS, j’ai verifie’ avec l’appli GPS-Test, au demeurant tres utile pour reinitialiser son GPS de temps en temps et/ou etre sur qu’il fonctionne bien, que je voyais suffisamment de satellites, toujours un minimum de 4. J’ai eu ces problemes d’oscillations importantes sur une faible distance dans toutes les circonstances. Que ce soit en montagne ou, bien sur, le phenomene << urban canyon >> se produit, mais aussi en faible montagne (Ventoux, Luberon) et surtout dans le cas ou le relief est faible de l’ordre de 200M sans obtacles a part des arbres qui ne sont pas genant en general, comme dans des forets de la region parisienne. Samedi dernier nous avons fait une balade de VTT dans l’Essone de 30KM pour laquelle j’ai eu un denivele’ positif de 1200 metres ! alors que celui-ci mesure’ sur l’altimetre d’un compteur et verifie’ sur une carte au 25000eme etait en realite’ de 600 metres. Il apparait sur l’enregistrement des altitudes de MyTrails un certain nombre d’oscillations variant brusquement de 80 a 180 metres alors que l’altitude mesuree a cet endroit avec un altimetre etait de 140 metres. Je precise qu’a l’arret l’application MyTrails donne en une altitude correcte, la meme que celle affichee par l’appli GPS-Test ou par l’altimetre d’un compteur.

Je confirme que je n’avais pas ces problemes d’ocillations importantes sur une faible distance avec Android Kikat tournant sur mon Samsung Note 2. Lorsque je suis passe’ au Huawei Mate 8 sous Android 6, au debut je n’avais pas le probleme puis celui-ci est apparu et n’a pas disparu lorsque je suis passe’ sous Android 7 avec le meme malinphone.

Je vais regarder si je trouve une implantation en Java, mais plus vraisenblablement en C++ du filtre de kalman etendu tout d’abord, car celui-ci est mieux adapte’ aux systemes non lineaires que le filtre de Kalman classique et ensuite je verrai pour le filtre a particules dont on peut augmenter le nombre de particules en fonction des non linearites.

Une question IMPORTANTE dans un de mes precedents post (4 juillet) a laquelle vous n’avez pas repondu : << Mais peut etre que la premiere piste consisterait a implementer le filtre de Kalman sur l’altitude puisque, comme vous l’avez dit, pour l’instant il n’est applique’ que sur la longitude et la lattitude. Est-ce que cela serait envisageable ? >>

Pat

J’y avais répondu, mais peut-être de façon sibylline (Kalman 3D).

Effectivement je n’avais pas vu le 3D :wink:

Je ne connais pas bien le domaine, mais il me semble que si le GPS fournit uniquement les deux informations latitude et longitude, le passage du 2D au 3D ne doit pas etre evident car il faut calculer l’altitude a partir des deux autres informations. En revanche, si le GPS fournit les trois je pense que l’on doit pouvoir etendre naturellement les calculs en 2D au 3D, en utilisant des vecteurs et matrices a 3 au lieu de 2 dimensions. Mais c’est probablement plus complique’ que ca :wink:

Pat

Oui, le GPS fournit les trois dimensions, mais avec environ 5x moins de précision verticale.

5 fois moins de precision verticale c’est effectivement important. Mais peut etre que ca vaut le coup d’etentre le filtre de Kalman actuel a la 3eme dimension si ce n’est pas trop complexe. Cela peut etre utile a tout le monde meme si ca ne reglera probablement pas le probleme des oscillations locales importantes.