FR 3071051 A1 20190315 FR 1700903 A 20170908 Procédé de compensation d'un champ magnétique, dispositif et programme d'ordinateur associés La présente invention concerne le domaine de la compensation d'un champ magnétique dans la détermination du cap magnétique d'un engin, sur la base des mesures d'un capteur de champ magnétique embarqué à bord de l'engin. Un tel engin est par exemple un aéronef. Les mesures d'un capteur de champ magnétique embarqué sont généralement entachées d'erreurs, dues à des perturbations magnétiques (perturbations dites de fer doux et perturbations dites de fer dur) et/ou à un problème d'alignement entre le trièdre référentiel de l'engin et le trièdre référentiel du capteur de champ magnétique. C'est pourquoi il s'avère nécessaire, pour obtenir des valeurs de cap de bonne qualité, de procéder, à partir des valeurs mesurées de champ magnétique, à une opération de compensation de ces erreurs, pour déterminer des valeurs compensées de champ magnétique, ainsi affranchies, au moins partiellement, de ces erreurs. L'opération de compensation comprend généralement une phase de calibration de compensation définissant une matrice A correspondant aux perturbations dites de fer doux et au problème d'alignement, et un vecteur B correspondant aux perturbations dites de fer dur. On connaît par exemple le document EP 0 718 598 B1 proposant une solution de compensation d'un magnétomètre. Plus précisément, la présente invention concerne un procédé de compensation d'un champ magnétique déterminé à l'aide d'un capteur de champ magnétique embarqué à bord d'un engin en vue de calculer le cap magnétique dudit engin, ledit procédé comprenant les étapes mises en oeuvre par ordinateur et consistant à : pour chaque temps de mesure Ti, i= 1 à N avec N>1, on collecte les valeurs du champ magnétique 3D Hm, en provenance du capteur de champ magnétique et celles des angles 9, et et cp' où 0, est le tangage de l'engin et cp, est le roulis de l'engin ; on détermine une matrice A et un vecteur B en fonction au moins desdites valeurs collectées de champ magnétique Hm, et des angles 0; et (p' i= 1 à N, la matrice A représentant les perturbations de fer doux et de non-alignement entre l'engin et le capteur de champ magnétique et le vecteur B représentant les perturbations de fer dur. 2 La calibration de compensation est toutefois difficile à réaliser à haute latitude (par exemple, les latitudes supérieures à 60° ou à 70°), du fait d'un rapport signal à bruit alors réduit (en effet, à haute latitude, les valeurs des deux composantes horizontales du champ magnétique deviennent très inférieures à la valeur de la composante verticale du 5 champ magnétique). Le problème est généralement contourné en calibrant la compensation à latitude faible, mais cela n'est pas toujours possible, notamment lorsque le capteur de champ magnétique doit être remplacé dans un aéroport à haute latitude. A cet effet, suivant un premier aspect, l'invention propose un procédé de compensation d'un champ magnétique du type précité caractérisé en ce que la 10 détermination de la matrice A et du vecteur B comprend une étape d'estimation du couple (A,B) minimisant l'expression 2 2 1 E,,41A(Hm,- B)II-- Ei-1 à N 41 I in - Mil)) V - à N (V, A(Hmi- B))j N ;4 à N(ViAU-bni- N où V, = [-sin(0,) ; sin(q),).cos(0,) ; cos(q),).cos(0,)]. 15 L'invention permet de fournir une solution de compensation de bonne qualité, même calibrée à haute latitude. Dans des modes de réalisation, le procédé de compensation d'un champ magnétique suivant l'invention comporte en outre une ou plusieurs des caractéristiques 20 suivantes : .- une opération de filtrage passe-bas, dont la fréquence de coupure est supérieure à la bande passante de la trajectoire de l'engin, est appliquée sur les valeurs des champs magnétiques Hm, et des angles e et cpb ladite étape d'estimation du couple (A,B) étant réalisée en fonction desdites valeurs filtrées ; 25 l'étape d'estimation du couple (A,B) minimisant ladite expression est réalisée par un algorithme itératif de descente de gradient de ladite expression ; - on détermine un cap magnétique de l'engin en fonction d'un champ magnétique compensé, ledit champ magnétique compensé étant fonction d'au moins un champ magnétique déterminé à l'aide du capteur de champ magnétique, de ladite matrice A et 30 dudit vecteur B précédemment déterminés. Suivant un deuxième aspect, la présente invention propose un dispositif de compensation d'un champ magnétique déterminé à bord d'un engin, ledit dispositif étant adapté pour collecter pour chaque temps de mesure T1, i= 1 à N avec N>1, des valeurs du champ magnétique 3D mesuré Hm, et celles des angles 0, et et cp,, où 0, est le tangage de 35 l'engin et cp, est le roulis de l'engin et pour déterminer une matrice A et un vecteur B en 3 fonction au moins desdites valeurs collectées de champ magnétique Hm, et des angles a et (pi, i= 1 à N, la matrice A représentant les perturbations de fer doux et de non-alignement entre l'engin et le capteur de champ magnétique et le vecteur B représentant les perturbations de fer dur ; ledit dispositif étant caractérisé en ce que, lors de la 5 détermination de la matrice A et du vecteur B, il est adapté pour estimer le couple (A,B) en minimisant l'expression 2 2 1 à N - -1y z_d i=1 à Ndleihni- B)I1)jEi, à A(Hm;-B) à N (Vi 411mi- le») N où VI = [-sin(a) ; sin(q)i).cos(ei) ; cos(q).cos(ei)]. 10 Suivant un troisième aspect, la présente invention propose un programme d'ordinateur comportant des instructions logicielles qui, lorsqu'elles sont exécutées par un ordinateur, mettent en oeuvre un procédé suivant le premier aspect. Ces caractéristiques et avantages de l'invention apparaîtront à la lecture de la 15 description qui va suivre, donnée uniquement à titre d'exemple, et faite en référence aux dessins annexés, sur lesquels : la figure 1 représente une vue schématique d'un système de détermination de cap d'un avion dans un mode de réalisation de l'invention ; la figure 2 est un organigramme d'étapes mises en oeuvre dans un mode de 20 réalisation de l'invention ; les figures 3 et 4 illustrent le résultat de compensations différentes effectuées à partir des mêmes données initiales. La figure 1 représente une vue schématique d'un système 1 de détermination de cap dans un mode de réalisation de l'invention, embarqué dans le cas considéré, à bord 25 d'un avion (non représenté). Ce système 1 de détermination de cap est adapté pour déterminer le cap de l'avion. Il comprend un capteur de champ magnétique 2, une centrale à inertie 3 et un bloc de calcul de cap 4. Le capteur de champ magnétique 2 est adapté pour, de façon connue, mesurer, dans un référentiel Ra qui lui est associé et qui est théoriquement identique à celui 30 associé à l'avion (c'est-à-dire avec un axe X, longitudinal passant par la tête et la queue de l'avion, un axe Y . perpendiculaire à X dirigé vers l'aile droite et un axe Za perpendiculaire aux deux précédents axes pour former un trièdre direct, la valeur du vecteur H de champ magnétique présent localement et pour fournir, au bloc de calcul de cap 4, les valeurs du champ magnétique mesurées à des temps de mesure successifs. 35 Dans le cas considéré, le capteur de champ magnétique 2 est un magnétomètre. 4 La centrale à inertie 3 comporte, de façon connue, 3 gyromètres et 3 accéléromètres et est adaptée pour intégrer les mouvements de l'avion (accélération et vitesse angulaire) et pour estimer, dans un référentiel de base R comportant un axe Z orienté vers le centre de la Terre donnant donc la verticale locale, un axe X dirigé vers le 5 nord et un axe Y dirigé vers l'est, localement perpendiculaires entre eux et à l'axe Z, son orientation (angles de roulis, de tangage et de cap), sa vitesse linéaire et sa position. La centrale à inertie 3 est adaptée pour fournir, au bloc de calcul de cap 4, les valeurs des angles de roulis, de tangage et de cap estimées à l'issue des mesures à des temps de mesure successifs. 10 Le bloc de calcul de cap 4 est adapté pour effectuer la compensation, dans les champs magnétiques mesurés par le magnétomètre 2, des perturbations suivantes : perturbations de fer doux, correspondant à l'influence à proximité du magnétomètre 2, d'éléments ferromagnétiques non complètement magnétisés qui se magnétisent sous l'influence du champ externe ; 15 perturbations dites de fer dur, dues à la présence de matériaux ferromagnétiques magnétisés de l'avion ; et problème d'alignement entre le référentiel de l'avion et celui du magnétomètre, du fait de défauts d'installation. Le champ magnétique mesuré compensé Hc exprimé dans le référentiel Ra se 20 déduit du champ magnétique mesuré Hm à partir de la relation suivante : Hc = A(Hm- B), avec Hm = H + n, où H est le champ magnétique (non bruité) présent à l'endroit de mesure, ainsi Hc = A(11 + n - B), où : A, matrice de taille 3*3, représente la matrice de fer doux, correspondant aux 25 perturbations de fer doux et prenant aussi en compte les problèmes d'alignement ; B, vecteur de taille 3*1, représente le vecteur de fer dur correspondant aux perturbations de fer dur. Cette composante tourne avec le magnétomètre 2 et donc avec l'avion ; n représente le bruit et les autres perturbations locales non modélisées sur le 30 champ magnétique mesuré. Avant la description des étapes mises en oeuvre dans le mode de réalisation décrit ici, quelques observations préliminaires et hypothèses considérées sont données ci-dessous. L'opération de compensation du champ magnétique vise à annuler l'influence des 35 problèmes d'alignement, fers doux et des fers durs et obtenir le champ compensé local (ou un champ proportionnel au champ local puisque seul le ratio entre les composantes 5 du champ est utile pour calculer le cap) à partir du champ mesuré, et d'en déduire le cap de l'avion. Les hypothèses retenues pour le calcul du champ magnétique compensé sont les suivantes : 5 Hypl : la norme du champ réel compensé est constante ; Hyp2 : le champ vertical compensé est constant dans le référentiel de base R. La matrice A et le vecteur B qui seront utilisés pour déterminer le champ compensé local, sont, selon l'invention et comme détaillé ci-après en référence à la figure 2 dans un mode particulier de mise en oeuvre de l'invention, estimés comme minimisant 10 l'expression suivante nommée Cl, dont le premier groupe de termes traduit la première hypothèse, Hypl , tandis que le second groupe de termes traduit la deuxième hypothèse, Hyp2 : C1= 15 ( A(Hmi- 1 à NeHnii- B)I 2\ 2 E i=1 à N à N(ViA(Hmi- B)- à N(ViA(Hmi- B)) Le système 1 présente l'avantage de ne pas mettre en oeuvre un procédé amont de compensation des harmonisations] où Hmi, i= 1 à N, avec N>1, représentent les valeurs de champ magnétique 20 exprimées dans le référentiel Ra aux temps de mesure Ti et Vi est le vecteur de projection sur l'axe vertical du référentiel de base R, i.e. Vi = [-sin(6i) ; sin(cpi).cos(ei) ; cos(q),).cos(0,)], où e représente la valeur de tangage de l'engin et q), celle de roulis de l'avion aux temps de mesure T. Dans le mode de réalisation décrit ci-dessous, une méthode itérative d'estimation 25 du minimum de Cl est utilisée. Le bloc de calcul de cap 4 comprend un sous-bloc de pré-traitement 4.1 et un sous-bloc de traitement 4.2, adaptés pour mettre en oeuvre les étapes du procédé 100 de calcul de cap décrites ci-dessous en référence à la figure 2. Le procédé 100 comprend un premier sous-processus 101 de pré-traitement, comprenant les étapes 102 à 105, puis 30 une étape 106 de traitement de compensation et une étape 107 de calcul de cap. Le bloc de calcul de cap 4 est adapté pour collecter les valeurs de champ magnétique fournies par le magnétomètre 2 et les valeurs des angles de roulis, de tangage et de cap fournies par la centrale à inertie 3, et les mémoriser, dans une mémoire, en association avec les temps de mesure successifs. 6 Dans un mode de réalisation, le bloc de calcul de cap 4 comprend un processeur et les opérations, ou certaines au moins de ces opérations, réalisées par le bloc de calcul de cap 4 et décrits ci-dessous en référence à la figure 2 notamment, sont mis en oeuvre suite à l'exécution, sur le processeur, d'instructions logicielles stockées dans la mémoire. 5 Ainsi, en référence à la figure 2, dans une étape 102 du sous-processus de pré- traitement 101, le sous-bloc de pré-traitement 4.1 collecte les valeurs de N vecteurs 3D exprimés dans le référentiel de l'avion Rade champ magnétique mesurées par le magnétomètre 2 à des temps de mesure T' i= 1 à N, N>1, au cours du vol de l'avion (par exemple avec une trajectoire comportant au moins deux virages avec prise de roulis dans 10 un sens et dans l'autre et un décollage, pour la prise de tangage). Le sous-bloc de calibration de compensation 4.1 collecte en outre les 2N valeurs d'angle de roulis, de tangage fournies par la centrale à inertie 3 pour l'avion pour ces temps de mesure Th i= 1 à N. Dans une étape 103, les valeurs des N vecteurs 3D de champ magnétique et les 15 2N valeurs d'angle de roulis et de tangage pour les instants T' i= 1 à N, collectées sont filtrées par le sous-bloc de pré-traitement 4.1, à l'aide d'un filtre passe-bas. La fréquence de coupure du filtre passe-bas est choisie supérieure à la bande passante de la trajectoire de l'avion. Les caractéristiques de trajectoire de l'avion dont le spectre est considéré comprennent le roulis, le tangage, le cap. Les valeurs de champ et d'angles considérées 20 par la suite sont celles issues de ce filtrage. Puis dans une étape 104, le sous-bloc de pré-traitement 4.1 définit une solution initiale (Ao, Bo) pour le couple (A, B) qui servira de point de départ à la recherche itérative d'un minimum de l'expression C1. Dans un mode de réalisation, la solution initiale est déterminée par la méthode de l'estimateur des moindres carrés exploitant également les 25 hypothèses Hypl et Hyp2 et les valeurs de champ magnétique et d'angles filtrées issues de l'étape 103. Dans une étape 105, le sous-bloc de pré-traitement 4.1 estime la valeur du couple (A, B) minimisant l'expression C1. Dans le cas considéré, il effectue une descente de gradient à partir de la solution initiale obtenue à l'étape 104 avec la minimisation du 30 critère C1: 1 1 2 \2 I/.1 à NIA(11111i-B11---N à NqA(linli- + i=1 à NViA(Ihni-B)--N_iàN(Kelmi-B)) où : - Hm;, i= 1 à N, avec N>1, sont les valeurs de champ magnétique (après filtrage de l'étape 103) correspondant aux temps de mesure T, et 7 - V, est le vecteur de projection sur l'axe vertical du référentiel de base R, i.e. V, = [-sin(0,) ; sin(q),).cos(0,) ; cos((plcos(0,)], où e, est la valeur de tangage de l'engin et cp, celle de roulis de l'avion aux temps de mesure T, (après filtrage de l'étape 103). Ce critère de minimisation prend en compte les erreurs fers dur et doux ainsi que l'harmonisation des alignements du référentiel avion et du référentiel magnétomètre en même temps. Contrairement aux méthodes classiques qui minimisent le premier groupe de termes du critère Cl vis-à-vis d'une valeur fixe à la place de la moyenne de la norme de A(Hm-B) (1 par exemple dans le critère suivant : C2 = E(A(Hm-B)1 -1)2) et pour 10 lesquelles on ne peut plus (sans connaissance supplémentaire) se donner de valeur fixe pour le champ magnétique Z une fois que l'on a fixé la valeur de la norme à 1. Dans le critère C1, on satisfait les deux critères à la fois sans faire d'hypothèses sur les valeurs du champ mis à part que celui-ci est constant en norme et en valeur verticale. Bien entendu on voit que si l'on prend A et B nuls, le critère Cl est pleinement satisfait. C'est pourquoi 15 on contraint une ou plusieurs composantes à une valeur fixe. Par exemple dans le mode de réalisation considéré, la valeur A(1,1) est fixée égale à 1 (ou autre constante) dans la résolution : il y aura donc au final 11 inconnues (8 pour la matrice A et 3 pour la matrice B). 20 La descente de gradient est alors effectuée de manière classique par le sous-bloc de pré-traitement 4.1 à l'aide d'un algorithme réitérant l'ensemble d'étapes El à E5, étant donné un couple (A, B) précédemment calculé : El : on calcule le gradient de Cl par rapport à A et B. Le calcul du gradient de Cl peut se faire de manière analytique dans ce cas et 25 s'exprime à partir des termes ci-dessous, en notant : u. = (H - B) , 2 -- Au. (11/14) ( ( N = 2t11A u u. Au. 1 N u. Au. 1 r (pull)) , )\ aA N N = (VA (Nr 12 Al Au 1 N Al Au. \ = 2(1121 u (11,4u, )Au`aB 8 N N 2 N a(ViAtli (ViAui) (ViAuilu,OVit (ui0Vit)) aA (ViAui)j2 N = 1 N = 2(ViAUi 2.4.ç"N A`Vit +- Ei (AtVii) aB N 1=4 N = où désigne le symbole de kronecker. E2 : On calcule la direction de descente optimale locale à partir de l'inverse de la Hessienne de Cl calculée à l'itération précédente (et qu'on aura pu initialiser à l'identité). E3 : On recherche le pas optimal suivant la direction optimale (recherche linéaire), 10 avec la méthode algorithmique d'Armijo par exemple. On en déduit une nouvelle estimation de (A, B) pour l'itération courante. E4 : On estime l'inverse de la Hessienne de Cl à partir d'une méthode existante : méthode DFP (Davidon-Fletcher-Powell) ou BFGS (Broyden-Fletcher-Goldfarb-Shanno) par exemple. 15 E5 : on réitère le procédé de El à E4 jusqu'à ce qu'un critère de convergence (C1 inférieur à une valeur-seuil) ou un nombre-seuil d'itérations soit atteint. Le couple (A, B) estimé est alors obtenu. La calibration étant ainsi achevée, les calculs de compensation de champ mesuré et de calcul du cap correspondant peuvent être effectués. 20 Dans une étape 106 de compensation mise en oeuvre sur la base de la précédente phase de calibration, le sous-bloc de traitement 4.2 reçoit une nouvelle valeur (3D) de champ mesuré Hm qui lui est fournie par le magnétomètre 2 et détermine le champ compensé Hc correspondant en fonction de cette valeur Hm, et de A et B estimés à l'étape 105: Hc = B). 25 Dans une étape 107, le sous-bloc de traitement 4.2 calcule le cap magnétique Cap de l'avion à partir des composantes du champ magnétique mesuré compensé Hc déterminé à l'étape 106: Cap = atan2(Hcy,Hcx) où Hcx, Hcy sont les composantes sur les axes X et Y du champ magnétique mesuré compensé projeté dans le plan horizontal terrestre. La projection se fait en utilisant les angles d'attitude issus de la centrale à inertie 30 3 pour le temps de mesure correspondant à la mesure du champ Hm. La calibration de compensation proposée pourra se faire en vol avec un modèle à 11 états ou au sol avec un modèle réduit pour garantir l'observabilité du système. 9 Les figures 3 et 4 illustrent les résultats obtenus sur une simulation théorique à partir de mesures communes initiales de champ magnétique et d'angles avec les hypothèses suivantes : la calibration de compensation se fait à 70° de latitude, 5 les mesures de roulis et de tangage sont exactes le bruit de mesure est de 0,005 Oe lorsqu'on réalise un filtrage sur le champ, le même filtrage est également appliqué sur les angles de roulis et tangage. Sur chacune des figures 3 et 4, sur le graphe en partie haute de la figure, les 10 valeurs de cap vrai et compensé sont indiquées en ordonnée en fonction du temps indiqué en abscisse tandis que sur le graphe en partie basse de la figure, l'erreur entre cap vrai et compensé figure en ordonnée. La figure 3 correspond à une compensation sur la base d'une calibration de compensation avec un estimateur des moindres carrés (i.e A et B déterminés par la seule solution initiale), tandis que la figure 4 correspond à une 15 compensation sur la base d'une calibration de compensation avec une estimation des moindres carrés ayant initiée une descente de gradient avec filtrage comme décrit plus haut. La présente invention offre une solution de compensation de bonne qualité pour toutes les latitudes. Elle est robuste aux bruits de mesure, corrige simultanément les 20 perturbations de fer doux, de fer dur et d'alignement, harmonisant ainsi l'avion et le magnétomètre. Elle ne pré-suppose aucune connaissance sur le champ magnétique réel ou théorique, ni aucune connaissance sur le cap vrai (i.e. par rapport au Nord géographique), ou le cap magnétique local (i.e. par rapport au Nord magnétique). L'invention est particulièrement avantageuse pour des latitudes élevées et est bien 25 évidemment aussi intéressante pour toute valeur de latitude. On notera que l'opération de calibration dans un autre mode de réalisation de l'invention, est effectuée sans l'étape de filtrage 103. Dans des modes de réalisation, d'autres méthodes que celles proposées sont retenues pour définir une solution initiale pour l'algorithme itératif d'approximation du minimum de Cl ou pour estimer un minimum 30 de l'expression C1. Le mode de réalisation décrit ci-dessus en référence aux figures se référait à un avion. L'invention est bien sûr utilisable dans d'autres types d'engins, tels que des drones, REVENDICATIONS1.- Procédé de compensation (100) d'un champ magnétique déterminé à bord d'un engin à l'aide d'un capteur (2) de champ magnétique embarqué à bord de l'engin en vue de calculer le cap magnétique dudit engin, ledit procédé comprenant les étapes mises en oeuvre par ordinateur et consistant à : pour chaque temps de mesure T,, i= 1 à N avec N>1, on collecte les valeurs du champ magnétique 3D Hm, en provenance du capteur (2) de champ magnétique et celles des angles 0, et et cp,, où 0; est le tangage de l'engin et cp, est le roulis de l'engin ; on détermine une matrice A et un vecteur B en fonction au moins desdites valeurs collectées de champ magnétique Hm, et des angles 0, et p,, i= 1 à N, la matrice A représentant les perturbations de fer doux et de non-alignement entre l'engin et le capteur de champ magnétique et le vecteur B représentant les perturbations de fer dur ; et ledit procédé étant caractérisé en ce que la détermination de la matrice A et du vecteur B comprend une étape d'estimation (105) du couple (A,B) minimisant l'expression Ei.12,411A(Hmi-B)11--N 22 -1à101 1 A(Hni-B11)) N(V,A(Hin,- B)- -NE ,.iàN(VAIII11,- B» où V1 = [-sin(0i) ; sin(cpi).cos(0i) ; cos((p).cos(0;)]. 2.- Procédé de compensation (100) d'un champ magnétique selon la revendication 1, selon lequel une opération (103) de filtrage passe-bas, dont la fréquence de coupure est supérieure à la bande passante de la trajectoire de l'engin, est appliquée sur les valeurs des champs magnétiques Hm; et des angles 0; et (pi, ladite étape d'estimation du couple (A,B) étant réalisée en fonction desdites valeurs filtrées. 3.- Procédé de compensation (100) d'un champ magnétique selon la revendication 1 ou 2, selon lequel l'étape d'estimation (105) du couple (A,B) minimisant ladite expression est réalisée par un algorithme itératif de descente de gradient de ladite expression. 4.- Procédé de compensation (100) d'un champ magnétique selon l'une des revendications précédentes, selon lequel on détermine un cap magnétique de l'engin en 11 fonction d'un champ magnétique compensé, ledit champ magnétique compensé étant fonction d'au moins un champ magnétique déterminé à l'aide du capteur (2) de champ magnétique, de ladite matrice A et dudit vecteur B précédemment déterminés. 5 5.- Dispositif de compensation (4) d'un champ magnétique déterminé à bord d'un engin, ledit dispositif étant adapté pour collecter pour chaque temps de mesure Ti, i= 1 à N avec N>1, des valeurs du champ magnétique 3D mesuré Hm; et celles des angles el et et (pi, où 0, est le tangage de l'engin et cp, est le roulis de l'engin et pour déterminer une matrice A et un vecteur B en fonction au moins desdites valeurs collectées de champ 10 magnétique Hm, et des angles 0; et (ph i= 1 à N, la matrice A représentant les perturbations de fer doux et de non-alignement entre l'engin et le capteur de champ magnétique et le vecteur B représentant les perturbations de fer dur ; ledit dispositif étant caractérisé en ce que, lors de la détermination de la matrice A et du vecteur B, il est adapté pour estimer le couple (A,B) en minimisant l'expression 15 E,,, à NA(1-11ni- 1v^ 2 ( 1 x-1 2 i=1 Ar A(Hmi- M)) Y i=1 à N ViA(Hrni- M-T à N(ViA(Hmi- B))j où V, = [-sin(9,) ; sin(q),).cos(0,) ; cos(q),).cos(0,)]. 6.- Dispositif de compensation (4) d'un champ magnétique selon la revendication 20 5, comprenant un filtre passe-bas, dont la fréquence de coupure est supérieure à la bande passante de la trajectoire de l'engin, étant adapté pour filtrer les valeurs des champs magnétiques Hm, et des angles eiet (pi, l'estimation du couple (A,B) étant réalisée en fonction desdites valeurs filtrées. 25 7.- Dispositif de compensation (4) d'un champ magnétique selon la revendication 5 ou 6, adapté pour mettre en oeuvre un algorithme itératif de descente de gradient de ladite expression pour estimer le couple (A,B) minimisant ladite expression. 8.- Dispositif de compensation (4) d'un champ magnétique selon l'une des 30 revendications 5 à 7, adapté pour déterminer un cap magnétique de l'engin en fonction d'un champ magnétique compensé, ledit champ magnétique compensé étant fonction d'au moins un champ magnétique mesuré, de ladite matrice A et dudit vecteur B précédemment déterminés. 35 12 9.- Programme d'ordinateur comportant des instructions logicielles qui, lorsqu'elles sont exécutées par un ordinateur, mettent en oeuvre un procédé de compensation (100) d'un champ magnétique selon l'une des revendications 1 à 4.