Brevet FR3104703A1 — publié le 20210618

Procédé, dispositif utilisateur et produit programme d’ordinateur, de détermination d’une localisation mis en œuvre par un dispositif utilisateur, comprenant au moins trois accéléromètres et au moins trois magnétomètres, les trois accéléromètres délivrant des premières données représentatives d’une accélération du dispositif utilisateur sur trois axes, les trois magnétomètres délivrant respectivement des deuxièmes données représentatives d’un champ magnétique sur trois axes. Le procédé comprend la détermination d’une accélération longitudinale du dispositif utilisateur en utilisant les premières données et la détermination d’une direction du nord en utilisant les deuxièmes données et la détermination de la localisation en utilisant l’accélération longitudinale et la direction du nord et une localisation précédente. L’étape de détermination d’une accélération longitudinale comprend une étape de détermination d’une première matrice de corrélation des premières données, une étape de détermination d’une première matrice de projection, permettant la projection de la première matrice de corrélation vers une première matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée, une étape de détermination de l’accélération longitudinale en utilisant la première matrice de projection et les valeurs de la diagonale de la première matrice diagonale. L’étape détermination de la direction du nord comprend une étape de détermination d’une deuxième matrice de corrélation des deuxièmes données et une étape de détermination d’une deuxième matrice de projection, permettant la projection de la deuxième matrice de corrélation vers une deuxième matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée et une étape de détermination de la direction du nord en utilisant la deuxième matrice de projection. Figure pour l’abrégé : Figure 1 PROCEDE, DISPOSITIF UTILISATEUR ET PRODUIT PROGRAMME D’ORDINATEUR DE DETERMINATION D’UNE LOCALISATION La présente invention concerne le domaine de la localisation, dans un environnement non coopératif, plus particulièrement la localisation de dispositifs portés par un utilisateur. Ces dispositifs portés par l’utilisateur permettent de réaliser la localisation de l’utilisateur via la localisation du dispositif porté par ce dernier. Un environnement coopératif est un environnement dans lequel un système de localisation, utilisant des moyens externes au dispositif, est disponible. Ce système peut être un système de localisation satellitaire de type GPS comprenant des satellites ou un réseau sans fil de type WiFi ou réseau cellulaire comprenant des stations de base, ou un système de balises locales dédiées à la localisation. Un environnement non coopératif est un environnement dans lequel un tel système n’est pas disponible. Des environnements non coopératifs sont par exemple l’intérieur de bâtiments, de gares, d’ateliers industriels, de parkings, de stations de métro, de navires. Il existe des dispositifs conçus pour réaliser une localisation dans un environnement coopératif. Ces dispositifs utilisent un système de localisation présentant des moyens externes au dispositif pour réaliser cette localisation. Ces dispositifs ont cependant l’inconvénient de ne pas pouvoir réaliser cette localisation dans le cas où les moyens externes sont absents ou sont déficients et typiquement dans le cas où l’environnement est non coopératif. Il est connu les demandes de brevet PCT publiées sous les références WO2016206119 et WO2016071759,qui présentent des dispositifs de localisation conçus pour réaliser une localisation dans un environnement non coopératif. Ces dispositifs comprennent généralement des accéléromètres et des magnétomètres. Ces dispositifs réalisent cette localisation via les étapes suivantes : détermination d’une accélération longitudinale du dispositif, l’accélération longitudinale du dispositif étant l’accélération du dispositif projetée sur un plan horizontal et détermination d’une direction du nord magnétique et détermination de la localisation du dispositif à partir de l’accélération longitudinale, de la direction du nord magnétique et d’une localisation précédente du dispositif. Cependant ces dispositifs ne permettent généralement pas une localisation précise, en particulier à cause d’erreurs réalisées durant la détermination de l’accélération longitudinale et de la direction du nord magnétique. Ces erreurs sont en particulier causées par des imprécisions dans les mesures fournies par les accéléromètres et magnétomètres utilisés couramment dans les dispositifs utilisateurs. Un but de l’invention est de proposé un procédé de localisation pouvant fonctionner dans un environnement non coopératif et qui compense les imprécisions des accéléromètres et magnétomètres intégrés dans les dispositifs utilisateurs. Selon un premier aspect, l’invention concerne un procédé de détermination d’une localisation mis en œuvre par un dispositif utilisateur, comprenant au moins trois accéléromètres et au moins trois magnétomètres, les trois accéléromètres délivrant des premières données représentatives d’une accélération du dispositif utilisateur sur trois axes, les trois magnétomètres délivrant respectivement des deuxièmes données représentatives d’un champ magnétique sur trois axes. Le procédé comprend la détermination d’une accélération longitudinale du dispositif utilisateur en utilisant les premières données et la détermination d’une direction du nord en utilisant les deuxièmes données et la détermination de la localisation en utilisant l’accélération longitudinale et la direction du nord et une localisation précédente. L’étape de détermination d’une accélération longitudinale comprend une étape de détermination d’une première matrice de corrélation des premières données, une étape de détermination d’une première matrice de projection, permettant la projection de la première matrice de corrélation vers une première matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée, une étape de détermination de l’accélération longitudinale en utilisant la première matrice de projection et les valeurs de la diagonale de la première matrice diagonale. L’étape détermination de la direction du nord comprend une étape de détermination d’une deuxième matrice de corrélation des deuxièmes données et une étape de détermination d’une deuxième matrice de projection, permettant la projection de la deuxième matrice de corrélation vers une deuxième matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée et une étape de détermination de la direction du nord en utilisant la deuxième matrice de projection. Ce procédé utilise, pour réaliser la localisation, uniquement des modules internes au dispositif, il ne nécessite pas un système externe. Il est donc apte à réaliser une localisation dans un environnement non coopératif. Les différents traitements matriciels mis en œuvre dans ce procédé, permettent d’améliorer la précision de la localisation en particulier la précision de la détermination de l’accélération longitudinale et de la direction du nord, et de compenser les imprécisions des accéléromètres et magnétomètres Selon un mode de réalisation l’étape de détermination de la première matrice de projection comprend une étape de détermination de valeurs propres associées à la première matrice de corrélation et une étape de détermination de vecteurs propres associés à la première matrice de corrélation, cette détermination étant réalisée de manière itérative, la première matrice de projection étant constituée des vecteurs propres. Selon un mode de réalisation l’étape de détermination de vecteurs propres associés à la première matrice de corrélation utilise : Où est un vecteur propre déterminé à l’instant associé à une valeur propre , est la première matrice de corrélation, est la matrice identité. Selon un mode de réalisation l’étape de détermination de la deuxième matrice de projection comprend une étape de détermination de valeurs propres associées à la deuxième matrice de corrélation et une étape de détermination de vecteurs propres associés à la deuxième matrice de corrélation, cette détermination étant réalisée de manière itérative, la deuxième matrice de projection étant constituée des vecteurs propres. Selon un mode de réalisation l’étape de détermination de vecteurs propres associés à la deuxième matrice de corrélation utilise : Où est un vecteur propre déterminé à l’instant associé à une valeur propre , est la deuxième matrice de corrélation, est la matrice identité. Selon un mode de réalisation l’étape de détermination de la localisation comprend une étape de détermination de la longueur d’un déplacement durant un intervalle temporel, par intégration d’une amplitude de l’accélération longitudinale sur l’intervalle temporel et une étape de détermination d’une direction du déplacement, à partir d’une direction de l’accélération longitudinale et la direction du nord et une étape de translation de la localisation précédente par un vecteur dont une direction est la direction du déplacement et une longueur est la longueur du déplacement, afin d’obtenir la localisation déterminée. Selon un mode de réalisation le dispositif comprend au moins trois gyroscopes, les trois gyroscopes délivrant respectivement des troisièmes données représentatives de trois positions angulaires sur trois axes et/ou au moins un baromètre délivrant des quatrièmes données représentatives d’une pression atmosphérique. L’étape de localisation utilise en outre les troisièmes données et/ou les quatrièmes données. Selon un deuxième aspect, l’invention concerne un dispositif utilisateur comprenant au moins trois accéléromètres délivrant respectivement des premières données représentatives de trois premières accélérations sur trois axes, au moins trois magnétomètres, les trois magnétomètres délivrant respectivement des deuxièmes données représentatives d’un champ magnétique sur trois axes, une unité de traitement de données configurée pour la réalisation de la détermination d’une accélération longitudinale en utilisant les premières données et la détermination d’une direction du nord en utilisant les deuxièmes données et la détermination de la localisation du dispositif en utilisant l’accélération longitudinale, la direction du nord et une localisation précédente. L’étape de détermination d’une accélération longitudinale comprend une étape de détermination d’une première matrice de corrélation des premières données, une étape de détermination d’une première matrice de projection, permettant la projection de la première matrice de corrélation vers une première matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée et une étape de détermination de l’accélération longitudinale en utilisant la première matrice de projection et les valeurs de la diagonale de la première matrice diagonale. L’étape détermination d’une direction du nord comprend une étape de détermination d’une deuxième matrice de corrélation des deuxièmes données, une étape de détermination d’une deuxième matrice de projection, permettant la projection de la deuxième matrice de corrélation vers une deuxième matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée et une étape de détermination de la direction du nord en utilisant la deuxième matrice de projection. Selon un mode de réalisation le dispositif utilisateur comprend en outre au moins trois gyroscopes, les trois gyroscopes délivrant respectivement des troisièmes données représentatives de trois positions angulaires sur trois axes et/ou au moins un baromètre délivrant des quatrièmes données représentatives d’une pression atmosphérique. L’étape de localisation utilise en outre les troisièmes données et/ou les quatrièmes données. Selon un deuxième aspect, l’invention concerne un produit programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes d’un procédé de détermination d’une localisation tel que décrit précédemment lorsque ce procédé est exécuté par un processeur. D’autres caractéristiques, buts et avantages de l’invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels : La figure 1 illustre de façon schématique le dispositif mise en œuvre dans l’invention. La figure 2 illustre un procédé de localisation conforme à la présente invention. En référence à la figure 1, un dispositif utilisateur 101 est décrit. On entend par dispositif utilisateur un dispositif apte à être porté par un utilisateur, par exemple un smartphone (téléphone intelligent en français), une tablette ou une montre connectée. Ce dispositif utilisateur comprend trois accéléromètres 102-a à 102-c et trois magnétomètres 103-a à 103-c. De manière optionnelle ce dispositif utilisateur peut comprendre et trois gyroscopes 104-a à 104-c et/ou un baromètre 105. Sur la figure 1 les éléments en traits interrompus sont des éléments optionnels. Le dispositif utilisateur comprend aussi une unité de traitement de données 106 qui comprend au moins un processeur et au moins une mémoire. Ce processeur est apte à mettre en œuvre un programme d’ordinateur. Ce programme d’ordinateur comprend des instructions de code de programme configurées pour mettre en œuvre un procédé d’une localisation du dispositif. Les trois accéléromètres 102-a à 102-c sont aptes à délivrer des premières données représentatives d’une accélération. Les trois accéléromètres sont associés respectivement à trois axes qui peuvent être orthogonaux. Les trois magnétomètres 103-a à 103-c sont aptes à délivrer des deuxièmes données représentatives d’un champ magnétique. Les trois magnétomètres sont associés respectivement à trois axes qui peuvent être orthogonaux. Les trois gyroscopes 104-a à 104-c sont aptes à délivrer des troisièmes données représentatives de trois positions angulaires. Les trois gyroscopes sont associés respectivement à trois axes qui peuvent être orthogonaux entre eux. Le baromètre 105 est apte à délivrer des quatrièmes données représentatives d’une pression atmosphérique. En référence à la figure 2 le dispositif utilisateur de la figure 1 fonctionne de la manière suivante. Dans une première étape 201 les premières données en provenance des accéléromètres et les deuxièmes données en provenance des magnétomètres sont reçues par l’unité de traitement 106 et stockées dans la mémoire de l’unité de traitement 106. De manière optionnelle les troisièmes données et/ou les quatrièmes données sont reçues par l’unité de traitement 106 et stockées dans la mémoire de l’unité de traitement 106. La période d’enregistrement des données reçues est d’environ 60ms. Cette périodicité d’enregistrement est avantageuse car elle permet un bon compromis entre la précision des informations, d’autant plus grande que le rythme est plus rapide, et les capacités de calcul de l’unité de traitement du terminal. Généralement la périodicité de la détermination de la localisation est identique à la périodicité de réception des données. La quantité de données stockées dans la mémoire est paramétrable. De manière avantageuse les données stockées dans le buffer représentent une durée de 1,2 à 1,8 secondes soit entre 20 et 30 enregistrements. De manière avantageuse cette étape de réception et de stockage peut être configurée pour corriger les biais et les sensibilités des différents capteurs (accéléromètres, magnétomètres, gyroscopes et baromètre) et pour interpoler si nécessaire les données absentes. Les données en provenance des accéléromètres, des magnétomètres sont d’abord traitées indépendamment. Concernant les données en provenance des accéléromètres, l’unité de traitement 107 réalise une étape 202 de détermination d’une accélération longitudinale en utilisant ces premières données. Cette détermination d’une accélération longitudinale est réalisée via une étape 202-a de détermination d’une première matrice de corrélation à partir de N premières données reçues de chaque accéléromètre (les données reçues à l’instant considéré et durant les N-1 instants temporels précédents). Dans le cas de la présence de trois accéléromètres, la première matrice de corrélation sera de taille 3x3. De manière avantageuse le nombre de premières données N est de 20 à 30 soit une durée de 1,2 secondes à 1,8 secondes. L’unité de traitement 107 réalise ensuite une étape 202-b de détermination d’une première matrice de projection, permettant la projection de la première matrice de corrélation vers une première matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée. Cette plus grande valeur de la diagonale est fonction de l’accélération terrestre (g=9,80665 m·s -2 ). Enfin l’unité de traitement 107 réalise une étape 202-c de détermination de l’accélération longitudinale en utilisant la première matrice de projection et les valeurs de la diagonale de la première matrice diagonale. Cette étape 202-b peut être décomposée en les sous-étapes suivantes : une étape de détermination de valeurs propres associées à la première matrice de corrélation en prenant l’hypothèse que la plus grande des valeurs propres est fonction de l’attraction terrestre et une étape de détermination de vecteurs propres associés à la première matrice de corrélation, cette détermination étant réalisée de manière itérative. La première matrice de projection est constituée des vecteurs propres et les éléments diagonaux de la première matrice diagonale sont les valeurs propres. Dans cette détermination itérative, la formule suivante est utilisée : est un vecteur propre déterminé à l’instant associé à la valeur propre , est la première matrice de corrélation, est la matrice identité. Ainsi les vecteurs propres associés à la première matrice de corrélation sont calculés en fonction des vecteurs propres précédents. Avantageusement l’étape de détermination de valeurs propres est configurée pour prendre en compte la connaissance de la valeur de l’accélération terrestre, et le fait que cette accélération terrestre est la composante principale de l’accélération délivrée par les accéléromètres. Ainsi cette valeur de l’accélération terrestre est utilisée de manière avantageuse pour initialiser la recherche des valeurs propres de la première matrice de corrélation. Pour ce faire on initialise la valeur de la plus grande valeur propre à une valeur légèrement supérieure au carré de l’amplitude de l’accélération terrestre. L’initialisation de ce processus itératif est réalisée de la manière suivante. Pour le vecteur propre, associée à la valeur propre la plus grande, un premier vecteur propre est calculé par une méthode traditionnelle, par exemple par la résolution du système d’équations linéaires Av-µv=0 en utilisant la règle de Cramer ou en utilisant la méthode du pivot de Gauss. Ensuite un produit scalaire entre ce vecteur propre déterminé de manière traditionnelle et le vecteur moyenne des accélérations sur un nombre prédéterminé d’instants temporels antérieurs est réalisé. Si le signe du produit scalaire est positif alors le sens du vecteur propre est correct, si le produit scalaire est négatif le sens du vecteur propre n’est pas correct et il faut donc inverser le sens de ce vecteur propre. Ce vecteur propre, dont le sens a été inversé si besoin, représente le sens de gravite terrestre dans le repère formé par les axes des accéléromètres du terminal. Durant ce processus itératif l’initialisation du vecteur propre, il est pris l’hypothèse que la deuxième plus grande valeur propre correspond à l’accélération dans le sens de la marche. Pour initialiser le sens du vecteur propre associé à cette deuxième valeur propre, on détermine un vecteur propre en utilisant une méthode traditionnelle. Ensuite la direction du vecteur propre déterminé est comparée avec la projection orthogonal normalisé du vecteur moyenne des accélérations sur un nombre prédéterminé d’instants temporels antérieurs sur le plan horizontal perpendiculaire au vecteur propre associé à la valeur propre de la plus grande valeur. De manière avantageuse ce nombre prédéterminé d’instants temporels antérieurs représentent une durée de 1,2 à 1,8 secondes soit entre 20 et 30 enregistrements. Le procédé de localisation peut aussi comprendre une étape de comparaison de l’accélération longitudinale courante avec l’accélération longitudinale précédente. Cette comparaison peut être réalisée par la détermination du produit scalaire du vecteur de l’accélération longitudinale courante avec le vecteur propre de l’accélération longitudinale précédente. Si ce produit scalaire est nettement positif le déplacement est normal. Si le produit scalaire est voisin de 0, cela signifie que le nouveau vecteur est quasi orthogonal au précédent. Cela traduit le fait qu’un déplacement latéral du dispositif (via le déplacement du piéton) s’est produit, pour éviter un obstacle par exemple un autre piéton et que par suite l’accélération transversale est devenue temporairement supérieure à l’accélération dans le sens de la marche. Dans ce cas, l’amplitude de l’accélération longitudinale est déterminée à partir de la valeur propre la plus petite de la première matrice de corrélation. Et la direction de l’accélération longitudinale est déterminée comme étant celle minimisant le produit scalaire avec la direction de l’accélération longitudinale précédente. Enfin, lors d’un arrêt brusque de du dispositif, l’accélération instantanée change brutalement de signe et le produit scalaire entre le vecteur précédent et le vecteur courant devient largement négatif. Dans ce cas on changera le sens du vecteur courant. Dans le cas où les deux valeurs propres les plus petites de la première matrice de la corrélation sont de valeurs proches, voir quasi indique, cela indique un arrêt prolongé du dispositif. Nous noterons delta la différence entre les deux valeurs propres les plus petites de la première matrice de la corrélation, et si delta est inférieur à un seuil prédéterminé, par exemple 0.5, on détermine que le dispositif utilisateur est statique. La direction de l’accélération longitudinale et l’amplitude de cette accélération longitudinale seront déterminées par les valeurs correspondantes de la projection des accélérations en provenance de la pluralité des accéléromètres sur le plan horizontal. Par ailleurs, la période où le terminal est estimé statique est neutralisée lors de la détermination de la localisation qui restera inchangée pendant ce temps. L’étape 202-c de détermination de l’accélération longitudinale utilise la première matrice de projection et les valeurs des éléments de la diagonale de la première matrice diagonale. L’accélération longitudinale ayant comme amplitude la valeur de la deuxième plus grande valeur de la diagonale de la première matrice diagonale et la direction est donnée par la colonne de la première matrice de projection associée à cette deuxième plus grande valeur. Dans le cas de l’utilisation des valeurs propres et des vecteurs propres l’amplitude de l’accélération longitudinale correspond à la deuxième plus grande valeur propre et la direction correspond au vecteur propre associé à la deuxième valeur propre la plus grande. Ainsi l’étape de détermination de l’accélération longitudinale, permet de déterminer l’amplitude de cette accélération longitudinale, la direction de cette accélération longitudinale et de manière avantageuse, la différence entre les deux valeurs propres les plus petites de la première matrice de la corrélation. Cette différence permet en particulier de déterminer l’état de mouvement du dispositif. Concernant les données en provenance des magnétomètres, l’unité de traitement 107 réalise une étape 203 de détermination d’une direction du Nord magnétique en utilisant les deuxièmes données. Cette étape 203 de détermination d’une direction du Nord magnétique comprend les sous-étapes suivantes : Une étape 203-a de détermination d’une deuxième matrice de corrélation à partir de N deuxièmes données reçues de chaque magnétomètre (les données reçues à l’instant considéré et durant les N-1 instants temporels précédents). Dans le cas de la présence de trois magnétomètres, la deuxième matrice de corrélation sera de taille 3x3. De manière avantageuse le nombre de premières données N est de 20 à 30 soit une durée de 1,2 secondes à 1,8 secondes. Une étape 203-b de détermination d’une deuxième matrice de projection, permettant la projection de la deuxième matrice de corrélation vers une première matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée. Cette plus grande valeur de la diagonale est fonction du champ magnétique terrestre de 48µTesla. Enfin l’unité de traitement 107 réalise une étape 203-c de détermination de la direction du Nord magnétique en utilisant la deuxième matrice de projection de la deuxième matrice de corrélation et éventuellement les valeurs de la diagonale de la deuxième matrice diagonale. Cette étape 203-b peut être décomposée en les sous-étapes suivantes :. une étape de détermination de valeurs propres associées à la deuxième matrice de corrélation en prenant l’hypothèse que la plus grande des valeurs propres est fonction du champ magnétique terrestre et une étape de détermination de vecteurs propres associés à la deuxième matrice de corrélation, cette détermination étant réalisée de manière itérative. La deuxième matrice de projection est constituée des vecteurs propres et les éléments diagonaux de la deuxième matrice diagonale sont les valeurs propres. Dans cette détermination itérative, la formule suivante est utilisée : Où est un vecteur propre déterminé à l’instant associé à la valeur propre , est la deuxième matrice de corrélation, est la matrice identité. Ce processus itératif est initialisé de manière identique à l’initialisation du process itératif de détermination des vecteurs propres de la première matrice de corrélation. Dans ce cas les données utilisées seront les deuxièmes données en provenance des magnétomètres. Ainsi les vecteurs propres associés à la deuxième matrice de corrélation sont calculés en fonction des vecteurs propres précédents. Avantageusement l’étape de détermination de valeurs propres est configurée pour prendre en compte la connaissance de la valeur du champ magnétique terrestre, et le fait que ce champ magnétique terrestre est la composante principale du champ magnétique déterminé par les magnétomètres. Ainsi cette valeur du champ magnétique terrestre est utilisée de manière avantageuse pour initialiser la recherche de la plus grande des valeurs propres de la deuxième matrice de corrélation. Pour ce faire on initialise la valeur de la plus grande valeur propre à une valeur légèrement supérieure au carré de l’amplitude du champ magnétique terrestre. Le traitement des données des magnétomètres permet d’orienter le terminal par rapport au repère géographique en donnant la direction du Nord. Le champ magnétique terrestre dont on connait en un lieu donné l’intensité, la déclinaison (écart actuellement négligeable avec le Nord géographique) et l’inclinaison par rapport au plan horizontal est souvent perturbé dans les bâtiments où même à l’extérieur par des masses métalliques aimantés. Les étapes 203-a à 203-b permettent un traitement avantageux des deuxièmes données en provenance des magnétomètres afin de limiter les effets de ces champs parasites. En effet elles permettent de compenser les effets des champs parasites créés par des masses magnétiques voisines telles que voitures, locomotives électriques et décorrélées du champ magnétique terrestre lorsque le mobile se déplace. L’étape 202-c de détermination de la direction du nord magnétique utilise la deuxième matrice de projection ou les vecteurs propres de la deuxième matrice de corrélation. La direction du champ magnétique est donnée par la colonne de la deuxième matrice de projection associée à la plus grande valeur de la diagonale de la deuxième matrice diagonale, ou dans le cas de l’utilisation des valeurs propres et des vecteurs propres la direction du champ magnétique correspond au vecteur propre associé à la plus grande valeur propre. La direction du nord magnétique N est alors obtenue par la projection normalisée du champ magnétique sur le plan horizontal. La direction estimée du vecteur Est E est le produit vectoriel normalisé de la direction de la gravité terrestre G et de la direction du nord magnétique N. En projetant les déplacements dans le sens de la marche sur les vecteurs N et E on obtiendra les coordonnées du mobile dans le repère géographique estimé ENG. Ceci permet d’obtenir un repère géométrique fourni par les magnétomètres et obtenu à partir du vecteur unitaire vertical de la gravité terrestre et du vecteur unitaire du champ magnétique terrestre, en projetant le vecteur du champ magnétique terrestre sur le plan horizontal perpendiculaire au vecteur unitaire vertical de la gravité terrestre. De manière avantageuse et lorsque la valeur trouvée de la plus grande valeur propre est anormalement différente de la valeur nominale du champ magnétique terrestre (48 µTesla) on considèrera que l’estimation du champ magnétique est mauvaise. Contrairement à la déclinaison, l’intensité du champ magnétique terrestre varie peu d’un point à un autre du globe. On utilise cette propriété pour valider les données. Dans ce cas on considère que la direction du nord magnétique est la direction précédente du nord magnétique à laquelle on applique une rotation élémentaire correspondant à une rotation du dispositif utilisateur réalisée depuis la détermination précédente de la direction du nord magnétique. Cette rotation du dispositif est obtenue à partie des troisièmes données des gyroscopes. L’unité de traitement 107 est configuré pour réaliser une étape 204 de localisation du dispositif utilisateur. Cette localisation est réalisée en fonction de l’accélération longitudinale, de la direction du nord magnétique et d’une localisation précédente du dispositif utilisateur. L’étape 204 de détermination de la localisation comprend : - une étape 204-a de détermination de la longueur d’un déplacement durant un intervalle temporel, par intégration d’une amplitude de l’accélération longitudinale sur l’intervalle temporel et - une étape 204-b de détermination d’une direction du déplacement, à partir d’une direction de l’accélération longitudinale et la direction du nord magnétique et - une étape 204-c de translation de la localisation précédente par un vecteur dont une direction est la direction du déplacement et une longueur est la longueur du déplacement, afin d’obtenir la localisation déterminée. Cette étape 204 de détermination de la localisation du dispositif est donc configurée pour déterminer une longueur de déplacement réalisée durant un intervalle temporel. Pour ce faire l’amplitude de l’accélération déterminée est multipliée par la durée de l’intervalle temporel, ce qui permet d’obtenir la longueur du déplacement du dispositif utilisateur durant l’intervalle temporel. La direction de ce déplacement dans le repère du terminal est donnée par le vecteur propre de l’accélération. Cette étape 204 de détermination de localisation du dispositif utilisateur est également configurée pour projeter le vecteur de déplacement dans le repère fourni par les magnétomètres (généralement le Nord et l’Est), afin de d’obtenir la direction de déplacement du dispositif utilisateur dans le repère géométrique. Cette étape de détermination de localisation est finalement configurée pour ajouter vectoriellement à une dernière localisation connue du dispositif le vecteur représentatif du déplacement horizontal du dispositif. L’unité de traitement 107 peut aussi être configurée pour comprendre une étape, préalable à l’étape 204 de détermination de la localisation, de détermination d’un état de mouvement du dispositif utilisateur. La détermination de cet état est fonction de l’amplitude de l’accélération longitudinale, de la différence entre la valeur des deux plus petites valeurs propres de la première matrice de corrélation. La détermination de l’état de mouvement du dispositif utilisateur peut être réalisée par la comparaison de ces données avec des seuils ou des fenêtres prédéfinies. Les valeurs de ces seuils et ces fenêtres peuvent être stockées dans des fichier de configuration. Concernant les seuils inférieurs, ceux-ci peuvent être obtenus par le produit de l’écart-type de la donnée provenant du fichier de calibration par la donnée de configuration pour tenir compte de la qualité des capteurs du terminal. Six états différents son possibles et les paramètres prise en compte pour déterminer chaque état sont résumées dans le tableau ci-dessous : Amplitude acc longitudinale Différence deux plus petites valeurs propres Vitesse de rotation Pente Erreur sur la pente Statique Rotation rapide > NA > Déplacement horizontal > >& Ascenseur >& > Escalateur >& > Escalier > > > Les lignes représentent les différents états possibles (statique, rotation rapide, déplacement horizontal, ascenseur, escalateur et escalier). Les colonnes représentent les paramètres pris en compte pour la détermination de chaque état (amplitude de l’accélération longitudinale, différence des deux plus petites valeurs propres de la première matrice de corrélation, vitesse de rotation, pente obtenue avantageusement par les données du baromètres et erreur sur cette pente). « « > » signifie que la valeur du paramètre doit être supérieure à un seuil prédéterminé. « >& La détermination de l’état de mouvement, pour chaque état possible et en prenant les états possibles dans l’ordre des lignes du tableau, est réalisée ainsi : , détermination si les critères de sélection de l’état, décrits sur la ligne associée à cet état, sont respectés. Si les critères sont respectés, l’état du mouvement est celui respectant ces critères. Si les critères ne sont pas respectés, itération des étapes précédentes avec le critère suivant dans l’ordre des lignes du tableau. Après avoir déterminé l’état de mouvement, l’étape 204 de détermination de la localisation peut être configurée différemment pour charque état. Si l’état est « statique » ou « rotation rapide » le vecteur déplacement est considéré comme étant nul et la localisation inchangée. Si l’état est « déplacement horizontale » la détermination de la localisation est réalisée ainsi que décrit précédemment. Si l’état est « escalier », le traitement est le même pour l’état « déplacement horizontal », la seule différence avec cet état précédent est la variation d’altitude causée par cet escalier. Cette différence d’altitude est obtenue avantageusement à partir des quatrièmes données de pression atmosphérique obtenues à partir du baromètre. Si l’état est « ascenseur », le déplacement horizontal est nul, seule l’altitude variera selon les données barométriques. Si l’état est « escalator », la distance horizontale parcourue est proportionnelle à la différence de hauteur entre l’entrée et la sortie de l’escalator dans la mesure ou la pente des escalators publics est normalisée. La direction estimée est celle de l’accélération longitudinale du dispositif à l’entrée de l’escalator. Procédé de détermination d’une localisation mis en œuvre par un dispositif utilisateur (101), comprenant au moins trois accéléromètres (102-a à 102-c) et au moins trois magnétomètres (103-a à 103-c), les trois accéléromètres (102-a à 102-c) délivrant des premières données représentatives d’une accélération du dispositif utilisateur (101) sur trois axes, les trois magnétomètres (103-a à 103-c) délivrant respectivement des deuxièmes données représentatives d’un champ magnétique sur trois axes, le procédé comprenant les étapes suivantes: - détermination (202) d’une accélération longitudinale du dispositif utilisateur (101) en utilisant les premières données et - détermination (203) d’une direction du nord en utilisant les deuxièmes données et - détermination (204) de la localisation en utilisant l’accélération longitudinale et la direction du nord et une localisation précédente ; le procédé étant caractérisé en ce que l’étape de détermination (202) d’une accélération longitudinale comprend les étapes suivantes : - une étape (202-a) de détermination d’une première matrice de corrélation des premières données et - une étape (202-b) de détermination d’une première matrice de projection, permettant la projection de la première matrice de corrélation vers une première matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée et - une étape (202-c) de détermination de l’accélération longitudinale en utilisant la première matrice de projection et les valeurs de la diagonale de la première matrice diagonale ; et/ou l’étape détermination (203) de la direction du nord comprend : - une étape (203-a) de détermination d’une deuxième matrice de corrélation des deuxièmes données et - une étape (203-b) de détermination d’une deuxième matrice de projection, permettant la projection de la deuxième matrice de corrélation vers une deuxième matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée et - une étape (203-c) de détermination de la direction du nord en utilisant la deuxième matrice de projection. Procédé de détermination de la localisation selon la revendication 1 dans lequel l’étape (202-b) de détermination de la première matrice de projection comprend : - une étape de détermination de valeurs propres associées à la première matrice de corrélation et - une étape de détermination de vecteurs propres associés à la première matrice de corrélation, cette détermination étant réalisée de manière itérative, la première matrice de projection étant constituée des vecteurs propres. Procédé de détermination de la localisation selon la revendication 2 dans lequel l’étape de détermination de vecteurs propres associés à la première matrice de corrélation utilise : Où est un vecteur propre déterminé à l’instant n associé à une valeur propre λ, C est la première matrice de corrélation, I est la matrice identité. Procédé de détermination de la localisation selon la revendication 1 dans lequel l’étape (203-b) de détermination de la deuxième matrice de projection comprend : - une étape de détermination de valeurs propres associées à la deuxième matrice de corrélation et - une étape de détermination de vecteurs propres associés à la deuxième matrice de corrélation, cette détermination étant réalisée de manière itérative, la deuxième matrice de projection étant constituée des vecteurs propres. Procédé de détermination de la localisation selon la revendication 4 dans lequel l’étape de détermination de vecteurs propres associés à la deuxième matrice de corrélation utilise : Où est un vecteur propre déterminé à l’instant n associé à une valeur propre λ, C est la deuxième matrice de corrélation, I est la matrice identité. Procédé de détermination de la localisation selon l’une des revendications 1 à 5 dans lequel l’étape (204) de détermination de la localisation comprend : - une étape (204-a) de détermination de la longueur d’un déplacement durant un intervalle temporel, par intégration d’une amplitude de l’accélération longitudinale sur l’intervalle temporel et - une étape (204-b) de détermination d’une direction du déplacement, à partir d’une direction de l’accélération longitudinale et la direction du nord et - une étape (204-c) de translation de la localisation précédente par un vecteur dont une direction est la direction du déplacement et une longueur est la longueur du déplacement, afin d’obtenir la localisation déterminée. Procédé de détermination de la localisation selon l’une des revendications 1 à 6 le dispositif comprenant en outre : - au moins trois gyroscopes (104-a à 104-c), les trois gyroscopes (104-a à 104-c) délivrant respectivement des troisièmes données représentatives de trois positions angulaires sur trois axes et/ou - au moins un baromètre (105) délivrant des quatrièmes données représentatives d’une pression atmosphérique ; l’étape (204) de localisation utilise en outre les troisièmes données et/ou les quatrièmes données. Dispositif utilisateur (101) comprenant : - au moins trois accéléromètres (102-a à 102-c) délivrant respectivement des premières données représentatives de trois premières accélérations sur trois axes - au moins trois magnétomètres (103-a à 103-c), les trois magnétomètres (103-a à 103-c) délivrant respectivement des deuxièmes données représentatives d’un champ magnétique sur trois axes, - une unité de traitement de données (106) configurée pour la réalisation des étapes suivantes : - détermination (202) d’une accélération longitudinale en utilisant les premières données et - détermination (203) d’une direction du nord en utilisant les deuxièmes données et - détermination (204) de la localisation du dispositif en utilisant l’accélération longitudinale, la direction du nord et une localisation précédente ; le dispositif étant caractérisé en ce que l’étape de détermination (202) d’une accélération longitudinale comprend les étapes suivantes : - une étape (202-a) de détermination d’une première matrice de corrélation des premières données et - une étape (202-b) de détermination d’une première matrice de projection, permettant la projection de la première matrice de corrélation vers une première matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée et - une étape (202-c) de détermination de l’accélération longitudinale en utilisant la première matrice de projection et les valeurs de la diagonale de la première matrice diagonale ; et/ou l’étape détermination (203) d’une direction du nord comprend : - une étape (203-a) de détermination d’une deuxième matrice de corrélation des deuxièmes données et - une étape (203-b) de détermination d’une deuxième matrice de projection, permettant la projection de la deuxième matrice de corrélation vers une deuxième matrice diagonale ayant une plus grande valeur de la diagonale prédéterminée et - une étape (203-c) de détermination de la direction du nord en utilisant la deuxième matrice de projection. Dispositif utilisateur (101) selon la revendication 8 comprenant en outre : - au moins trois gyroscopes (104-a à 104-c), les trois gyroscopes (104-a à 104-c) délivrant respectivement des troisièmes données représentatives de trois positions angulaires sur trois axes et/ou - au moins un baromètre (105) délivrant des quatrièmes données représentatives d’une pression atmosphérique ; l’étape (204) de localisation utilise en outre les troisièmes données et/ou les quatrièmes données. Produit programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes d’un procédé de détermination d’une localisation selon l’une des revendications 1 à 7 lorsque ce procédé est exécuté par un processeur.