Brevet FR3115608A1 — publié le 20220429

Procédé de détection d’un masquage d’un ou plusieurs satellites , dispositif électronique de détection et produit programme d’ordinateur associé La présente invention concerne un procédé de détection d’un masquage d’un ou plusieurs satellites par un obstacle pour un récepteur GNSS embarqué sur un porteur mobile, le procédé comprenant les étapes suivantes : - réception (110) d’une mesure de pseudo-distance de code et d’une variation de pseudo-distances de porteuse; - calcul (120) d’une position résolue du récepteur et d’une position calculée de chaque satellites ( ) ; - détection (170) d’un masquage d’au moins un satellite à partir des sous-étapes suivantes : - calcul (171), à un instant de calcul, d’une pseudo-distance calculée et d’une pseudo-distance reconstituée à un instant antérieur ; - détection (174) d’un masquage d’au moins un satellite par analyse d’une grandeur dite résidu calculée par application d’un algorithme de moindre carré. Figure pour l'abrégé : Figure 2 Procédé de détection d’un masquage d’un ou plusieurs satellites, dispositif électronique de détection et produit programme d’ordinateur associé La présente invention concerne un procédé de détection d’un masquage d’un ou plusieurs satellites par un obstacle pour un récepteur GNSS embarqué sur un porteur mobile. La présente invention concerne également un dispositif électronique de détection et un produit programme d’ordinateur associé à ce procédé. L’invention est applicable au domaine du suivi de position d’objet(s) mobile(s) par satellites. Plus particulièrement, l’invention est applicable pour des véhicules terrestres automobiles et ferroviaires, des véhicules maritimes, des véhicules aériens, et pour un objet porté par un utilisateur. De manière connue en soi, le positionnement d’un objet est réalisable à partir d’un récepteur GNSS recevant des signaux GNSS issus de satellites. La dénomination GNSS fait référence à la Géolocalisation et Navigation par un Système de Satellites. Un exemple d’un tel système est le système GPS (de l’anglais Global Positionning System ) ou encore le système GALILEO. Un satellite est dit visible pour un récepteur GNSS, si le récepteur GNSS reçoit des signaux GNSS issus de ce satellite. Un satellite est dit visible et accroché si le récepteur GNSS produit des mesures de pseudo-distance entre son antenne et celle du satellite et démodule un message de navigation contenu dans un signal du satellite . Lorsque le récepteur GNSS évolue dans un milieu dégagé, la réception, par le récepteur, de signaux GNSS issus de 4 satellites distincts est généralement suffisante pour déterminer la position du récepteur GNSS dans l’espace. La détermination de cette position est notamment effectuée en fonction du temps de trajets des signaux GNSS issus de chaque satellite. Dans un environnement dégagé, c’est-à-dire dépourvu d’obstacles, un trajet parcouru par les signaux GNSS, émis par chaque satellite et reçus par le récepteur GNSS, est sensiblement linéaire et direct. Dans un tel cas, les signaux sont dits directs. Le terme « direct » qualifie ici un trajet, parcouru par des signaux, sans rebond sur une quelconque surface avant d’atteindre sa cible. Cependant, lorsque l’environnement est encombré par au moins un obstacle, tel qu’un immeuble ou tout autre objet présent notamment dans le milieu urbain, la réception de signaux GNSS n’est plus uniquement directe. Plus précisément, les signaux GNSS issus d’au moins un satellite sont susceptibles de rebondir sur au moins une surface du ou des obstacles, avant d’atteindre le récepteur GNSS. De tels signaux sont dits indirects, en opposition aux signaux directs. Dans le cas où le récepteur reçoit, d’un même satellite, à la fois des signaux directs et indirects, le récepteur est dans une situation dite de multi-trajets (de l’anglais multipath ). En situation de multi-trajets, si l’amplitude des signaux indirects est faible devant celle des signaux directs, alors des procédés connus, notamment basés sur des multi-corrélateurs, permettent de rejeter les signaux indirects et donc de s’extirper de la situation de multi-trajets. Toutefois, lorsque l’amplitude des signaux indirects domine celle des signaux directs, les procédés précités sont inefficaces. Une telle situation est nommée NLOS (de l’anglais Non Line of Sight ). Les situations de NLOS apparaissent notamment lorsque le porteur mobile, embarquant le récepteur GNSS, évolue dans un environnement encombré. Comme expliqué précédemment, un environnement encombré peut comprendre toute structure, naturelle ou artificielle, susceptible de s’interposer sur le trajet entre le récepteur GNSS et un satellite. Ainsi, la structure masque le satellite, du point de vue du récepteur GNSS. Cela conduit alors à une forte atténuation de l’amplitude des signaux directs relativement à celle des signaux indirects. Une telle situation de NLOS est représentée en où les signaux directs sont notés D et les signaux indirects sont notés M. Dans une situation de NLOS, la détermination de la position du récepteur est altérée. En effet, la distance, entre le satellite masqué et le récepteur, est fictivement allongée à cause de la ou des rebonds des signaux issus du satellite masqué sur une ou des surfaces des structures. Dans l’exemple de la , la position déterminée du récepteur est alors la position P’. L’homme du métier notera qu’il est impossible pour un récepteur GNSS de savoir a priori si les signaux GNSS reçus sont directs ou indirects. Les documents “ An unscented Kalman filter-based maximum likelihood ratio for NLOS bias detection, A.Giremus et al, EUSIPCO 2008 ” et “ Detecting, estimating and correcting multipath biases affecting GNSS signals using a marginalized likelihood ratio-based method, C. Cheng et al, ISAE, 2016 ” décrivent des procédés de détection de situation NLOS et de détermination, d’un ou des satellites, parmi une constellation de satellites, responsable de la situation NLOS. Pour cela, ces procédés évaluent un rapport de vraisemblance logarithmique (de l’anglais log-likelihood ratio ) associé à l’apparition d’un biais dans les signaux GNSS reçus de la part d’un satellite respectif. Cependant, ce procédé induit une grande charge de calcul. Une telle charge de calcul est notamment discriminante pour des systèmes embarqués ayant une puissance de calcul modérée. Le but de l’invention est donc de fournir un procédé de détection d’un masquage d’un ou plusieurs satellites. À cet effet, l’objet de l’invention est un procédé de détection d’un masquage d’un ou plusieurs satellites par un obstacle pour un récepteur GNSS embarqué sur un porteur mobile, le procédé comprenant les étapes suivantes : réception en continu, à chaque instant d’acquisition et pour chacun de satellites, d’une mesure de pseudo-distance de code et d’une variation de pseudo-distances de porteuse, étant un nombre entier ; calcul d’une position résolue du récepteur et d’une position calculée de chaque satellites ; détection d’un masquage d’au moins un satellite à partir des sous-étapes suivantes : pour chaque satellite et pour chaque instant de réception, calcul, à un instant de calcul, d’une pseudo-distance calculée à partir de la position résolue du récepteur et de la position calculée de chaque satellite et calcul d’une pseudo-distance reconstituée à un instant antérieur à partir de la pseudo-distance de code et de chaque variation de pseudo-distances de porteuse entre l’instant antérieur et l’instant de calcul ; détection d’un masquage d’au moins un satellite par analyse d’une grandeur dite résidu calculée par application d’un algorithme de moindre carré, à partir de la mesure de pseudo-distances de code à l’instant de calcul, des positions résolues du récepteur et des positions calculées de chacun des satellites à l’instant de calcul et à l’instant antérieur, des pseudo-distances calculées et de la pseudo-distance reconstituée. Suivant d’autres aspects avantageux de l’invention, le procédé de détection comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : le procédé comprend préalablement à la sous-étape de calcul, les étapes suivantes : génération à un instant, dit instant de génération, d’au moins un groupe de satellites, les satellites du ou de chaque groupe de satellites étant choisis parmi les satellites, étant un nombre entier inférieur ou égal à , et pour le ou chaque groupe de satellites, association d’un instant de naissance précédant l’instant de génération à partir duquel les signaux GNSS issus de chacun des satellites de ce groupe de satellites ont tous été reçus de manière ininterrompue, l’étape de détection étant itérée pour chaque groupe, lors de la sous-étape de calcul, l’instant de calcul étant égal à l’instant de génération et l’instant antérieur étant égal à l’instant de naissance du groupe ; - l’étape de détection comprend pour chaque groupe, les sous-étapes suivantes, postérieur à la sous étapes de calcul : si, pour au moins un groupe de satellites, le résidu est supérieur à un premier seuil, alors détection d’un masquage d’au moins un satellite dans ce groupe et réitération de la sous-étape de calcul du résidu pour chaque sous-groupe de ce groupe, chaque sous-groupe comprenant chaque satellite du groupe sauf un ; et si, pour un sous-groupe, le résidu est inférieur à un deuxième seuil, alors détermination d’un satellite masqué comme étant le satellite absent du sous-groupe ; - l’étape de calcul comprend en outre et pour chaque instant d’acquisition, le calcul : d’un rapport signal sur bruit estimé ; d’un angle d’élévation de chaque satellite à partir de la position résolue du récepteur GNSS et de la position calculée de ce satellite ; l’étape de génération comprend une sous-étape de sélection, pour chaque satellite, de signaux GNSS à chaque instant d’acquisition pour lequel : le rapport signal sur bruit des signaux GNSS issus de ce satellite à cet instant respecte un premier critère ; et l’angle d’élévation de ce satellite à cet instant respecte un deuxième critère l’étape de génération comprend en outre les sous-étapes suivantes : génération d’un premier groupe comprenant les satellites dont les signaux GNSS sont sélectionnés, lors de la sous-étape de sélection, depuis un instant le plus antérieur à l’instant de génération; génération d’un deuxième groupe à partir du premier groupe, le deuxième groupe comprenant chaque satellite du premier groupe et le satellite, absent du premier groupe, dont les signaux GNSS sont sélectionnés, lors de la sous-étape de sélection, depuis un instant le plus antérieur à l’instant de génération; et si au moins un satellite dont les signaux GNSS ont été sélectionnés lors de la sous-étape de sélection à l’instant de génération et est absent de chaque groupe déjà généré, alors réitération de la deuxième sous-étape de génération à partir du dernier groupe généré; - la sous-étape de calcul du résidu comprend en outre pour chaque groupe de satellites : calcul d’une pseudo-distance reconstituée pour chaque satellite, à partir de la pseudo-distance de code à l’instant de génération et des variations de pseudo-distance de porteuse entre l’instant de naissance et l’instant de génération, calcul d’une première, respectivement d’une deuxième, solution approchée d’un premier, respectivement d’un deuxième, système linéaire, chaque système linéaire dépendant respectivement de la première et de la deuxième pseudo-distances calculées, de la pseudo-distance de code à l’instant de génération et de la pseudo-distance reconstituée ; et calcul du résidu à partir des première et deuxième solutions approchées ; - les étapes de génération, d’association et de détection sont répétées périodiquement. L’invention a également pour objet un produit programme d’ordinateur comportant des instructions logicielles qui, lorsque mises en œuvre par un équipement informatique, mettent en œuvre le procédé de détection, tel que défini ci-dessus. L’invention concerne également un dispositif électronique de détection comprenant des moyens techniques adaptés pour implémenter le procédé de détection, tel que défini ci-dessus. Ces caractéristiques et avantages de l’invention apparaitront à la lecture de la description qui va suivre, donnée à tire d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : - La est une vue schématique expliquant le problème de multi-trajets lors de la géolocalisation d’un porteur en milieu encombré ; - la est une vue schématique d’un dispositif électronique de détection, embarqué sur un porteur, selon l’invention ; - la est un organigramme d’un procédé de détection mis en œuvre par le dispositif de détection de la ; et - la est un schéma explicatif d’une étape de génération du procédé de la , illustré sur un exemple. En référence à la , un porteur 5 est mobile dans un environnement. Le porteur 5 embarque un récepteur GNSS 10 apte à recevoir des signaux GNSS et un dispositif électronique de détection 15 configuré pour détecter un masquage d’un ou plusieurs satellites et, le cas échéant déterminer une liste de satellite(s) masqué(s) par un obstacle, lors de la réception des signaux GNSS par le récepteur GNSS 10. Le porteur 5 est par exemple un aéronef, tel qu’un drone, se déplaçant dans l’espace selon trois dimensions, ou alors un véhicule terrestre ou maritime se déplaçant dans un plan selon deux dimensions, ou alors par exemple un véhicule ferroviaire se déplaçant selon une seule direction en suivant une voie ferrée. Le récepteur GNSS 10 est configuré pour recevoir des signaux GNSS de la part de satellite(s) appartenant à un même système GNSS, tel que par exemple le système GPS. Le récepteur GNSS 10 comprend par exemple une antenne de réception 12 connue en soi et un module de calcul 13. L’antenne 12 est configurée pour recevoir des signaux GNSS issus d’une pluralité de satellites et les transmettre sous forme de signaux électriques au module de calcul 13. Les signaux GNSS comprennent pour chaque satellite visible et accroché, un identifiant du satellite , un temps d’émission des signaux par le satellite et les éphémérides du satellite . Chaque information des signaux GNSS est codée sur une porteuse qui est émise par le satellite. Le module de calcul 13 est par exemple apte à déterminer la position du récepteur 10 à partir des signaux GNSS en utilisant des techniques connues en soi. Le module de calcul 13 est également configuré pour calculer et transmettre au dispositif de détection 15, à chaque instant d’acquisition et pour chaque satellite visible et accroché, des informations suivantes: une mesure de pseudo-distance de code , une mesure de variation de pseudo distance de porteuse entre l’instant d’acquisition et un instant précédent par exemple selon l’équation: où est une pseudo-distance de porteuse à l’instant d’acquisition . Le module de calcul 13 est également configuré pour transmettre au dispositif de détection 15, les éphémérides de chaque satellite et le temps d’émission des signaux de la part de chaque satellite . Les instants d’acquisition sont périodiquement espacés selon une première fréquence prédéterminée. Le dispositif de détection 15 comprend un module d’entrée 17, un module de traitement 20 et un module de sortie 25. Selon un mode de réalisation privilégié, le module d’entrée 17, le module de traitement 20 et le module de sortie 25 sont réalisés chacun sous la forme d’un logiciel stocké dans un ou plusieurs moyens de stockage (tel qu’un disque dur ou un disque flash) et implémentés par un ou plusieurs processeurs, mémoire (RAM) et autres composants d’ordinateur connus en soi. Ces composants sont alors inclus dans un même ordinateur ou dans différents ordinateurs/serveurs. Dans ce dernier cas, les ordinateurs/serveurs sont connectés par un réseau local ou global. En outre ou de manière alternative, au moins une partie de ces modules 17, 20, et 25 prennent la forme, au moins partiellement, d’un composant électronique indépendant, tel que par exemple un circuit logique programmable de type FPGA (de l’anglais field-programmable gate array ) ou autre. Le module d’entrée 17 est configuré pour recevoir, à chaque instant d’acquisition , les informations calculées par le module de calcul 13, à savoir des signaux représentatifs. Le module d’entrée 17 est configuré pour transmettre au module de traitement 20 les informations reçues. Le module de traitement 20 est configuré pour traiter les signaux, issus du récepteur GNSS 10, afin de détecter la présence d’un satellite masqué. Le module de traitement 20 est configuré pour déterminer, le cas échéant, la liste de satellite(s) masqué(s). Pour cela, le module de traitement 20 est configuré pour procéder au traitement des signaux GNSS tels que décrits ci-après en relation avec le procédé de détection selon l’invention. Le module de sortie 25 est connecté au module de traitement 20. Le module de sortie 25 est configuré pour transmettre à un utilisateur ou à un autre dispositif électronique non représenté, une information relative à la présence, ou l’absence, de satellite(s) masqué(s), et le cas échéant une liste de satellite(s) masqué(s). Si le module de sortie 25 est configuré pour communiquer avec un utilisateur, cette communication s’effectue, par exemple, à l’aide d’un écran non-représenté. Dans le cas où le module de sortie 25 est destiné à communiquer avec un autre dispositif électronique, le module de sortie 25 est par exemple destiné à communiquer avec le module de calcul 13. Le module de sortie 25 est alors, par exemple, configuré pour envoyer un signal d’alerte au module de calcul 13 en cas de détection de satellites masqués, et le cas échéant pour envoyer au module de calcul 13 la liste de satellite(s) masqué(s). Le procédé de détection mis en œuvre par le dispositif électronique de détection 15 selon l’invention sera désormais expliqué en référence à la présentant un organigramme de ce procédé et à la illustrant une étape du procédé sur un exemple. Initialement, le porteur 5 se déplace dans un environnement encombré et le récepteur GNSS 10 reçoit, par son antenne 12, des signaux GNSS issus d’une pluralité de satellites. Le module de calcul 13 calcule les informations mentionnées ci-dessus et les transmet au dispositif de détection 15. Lors d’une étape de réception 110, le module d’entrée 17 reçoit à chaque instant d’acquisition et pour chacun des satellites , la mesure de pseudo-distance de code et la variation de pseudo-distances de porteuse . Les satellites correspondent aux satellites visibles et accrochés par le récepteur GNSS 10. Les satellites visibles sont entendus ici au sens de satellites dont des signaux GNSS atteignent le récepteur GNSS 10, sans considérer si les signaux GNSS, issus de ces satellites, parcourent un trajet direct ou indirect. L’étape d’acquisition 110 est par exemple mise en œuvre par le module d’entrée 17. Les étapes suivantes sont, sauf mention explicite contraire, mises en œuvre par le module de traitement 20. Lors d’une étape de calcul 120, le module de traitement 20 calcule, pour chaque instant d’acquisition : - une position calculée ( ) de chaque satellite à partir des mesures de pseudo-distances de code et des éphémérides de ce satellite contenus également dans les signaux GNSS reçus, selon une technique connue en soi ; - une position résolue ( ) du récepteur GNSS, selon également une technique connue en soi ; - un rapport signal sur bruit estimé pour chaque satellite ; - un angle d’élévation de chaque satellite à partir de la position résolue ( ) du récepteur GNSS et de la position calculée ( ) dudit satellite , en utilisant une technique connue en soi. Ainsi, à l’issue de l’étape de calcul 120, le module de traitement 20 dispose des grandeurs calculées à chaque instant d’acquisition pour lequel les signaux GNSS ont été reçu par le récepteur 10. En variante, l’étape de calcul 120 est réalisée par le module de calcul 13 non-inclus dans le dispositif de détection 15. Les éléments calculés précités sont alors reçus par le module d’entrée 17, depuis le module de calcul 13, et transmis au module de traitement 20. Lors d’une étape de génération 130, le module de traitement 20 génère, à un instant de génération , au moins un groupe de satellites, et avantageusement une pluralité de groupes de satellites. Pour cela, le module de traitement 20 applique par exemple les sous-étapes suivantes, détaillées à titre d’exemple en référence à la . Lors d’une sous-étape de sélection 131, le module de traitement 20 sélectionne pour chaque satellite , les données des signaux GNSS à chaque instant d’acquisition pour lequel : le rapport signal sur bruit des signaux GNSS issus de ce satellite à cet instant d’acquisition respecte un premier critère ; et l’angle d’élévation de ce satellite à cet instant d’acquisition respecte un deuxième critère. Le premier critère est par exemple que le rapport signal sur bruit soit supérieur à 30 dBHz. Le deuxième critère est par exemple que l’angle d’élévation soit supérieur à 5°. Ainsi, les signaux GNSS issus d’un satellite ne seront pris en compte dans les sous-étapes suivantes, qu’aux instants d’acquisition pour lesquels le rapport signal sur bruit du satellite respecte le premier critère et l’angle d’élévation du satellite respecte le deuxième critère. Lors d’une sous-étape de classement 132, le module de traitement 20 ordonne les satellites par ordre décroissant de durée de réception valide sans discontinuité. Une réception valide est entendue ici au sens d’une réception de signaux GNSS ayant été sélectionnés lors de la sous-étape de sélection 131. La durée de réception sans discontinuité correspond à une durée depuis laquelle le module d’entrée 17 reçoit les signaux GNSS de manière ininterrompue. Autrement dit, lors de la sous-étape de classement 132, le module de traitement 20 classe les satellites par durée décroissante depuis laquelle leurs signaux GNSS sont sélectionnés de manière ininterrompue. Ainsi, le satellite, nommé par la suite , correspond au satellite ayant la durée de réception valide sans discontinuité la plus longue. Au contraire, le satellite nommé par la suite correspond au satellite ayant la durée de réception valide sans discontinuité la plus courte. L’homme du métier notera que, si les signaux GNSS issus d’un satellite respectif à l’instant de génération ne sont pas sélectionnés ou si aucun signal n’est reçu de ce satellite à l’instant de génération , alors la durée de réception valide sans discontinuité du satellite est égale à 0. Lors d’une première sous-étape de génération 133, le module de traitement 20 génère un premier groupe de satellites. Le premier groupe de satellites comprend satellites, étant un entier prédéterminé, avantageusement égal à 5 ou à 6. Pour cela, le module de traitement 20 génère le premier groupe comme comprenant les premiers satellites à , après leur classement lors de la sous-étape de classement 132, comme représenté sur la au point a. La figure 4 représente plusieurs tableaux à double entrées, dont une abscisse représente les instants d’acquisition successifs et une ordonnée représente les satellites classés selon leur durée de réception valide sans discontinuité. Chaque case du tableau est associé à un instant d’acquisition et un satellite . Chaque case est soit remplie par une mention indiquant qu’une variation de pseudo-distance d’un signal GNSS valide a été reçue à l’instant d’acquisition pour le satellite , soit par une croix dans le cas contraire. Sur la figure 4 au point a, le premier groupe , dont les données sont encadrées par un tracé en gras, inclut les cinq premiers satellites. Sur la figure 4 au point a, la durée de réception valide sans discontinuité de chacun des cinq premiers satellites correspond à la différence entre l’instant de génération et l’instant . La durée de réception valide sans discontinuité du sixième satellite S 6 est égale à la différence entre l’instant de génération et l’instant . Enfin, pour le septième et dernier satellite S 7 , la durée valide de réception sans discontinuité est égale à la différence entre l’instant de génération et l’instant . Lors d’une sous-étape de génération 134, le module de traitement 20 génère un deuxième groupe de satellites, à partir du premier groupe de satellites. Pour cela, le module de traitement 20 génère un groupe comportant les satellites du premier groupe et le satellite, absent du premier groupe , ayant la durée de réception valide sans discontinuité la plus longue. Autrement dit, le deuxième groupe comprend les premiers satellites, et le satellite correspondant au satellite absent du premier groupe ayant la durée de réception valide sans discontinuité la plus longue. Dans l’exemple de la figure 4, le deuxième groupe de satellites comprend donc six satellites, à savoir les six premiers satellites, après la sous-étape de classement 132, comme encadré en gras au point b. Lors d’une sous-étape de réitération 135, si aucun groupe ne comprend l’ensemble de satellites pour lesquels des données ont été sélectionnées lors de l’étape de sélection 131, alors le module de traitement 20 réitère la deuxième sous-étape de génération 135 à partir du dernier groupe généré. Dans l’exemple de la figure 4, des données de signaux issus de chaque de satellites ont été sélectionnées, or le deuxième groupe ne comprend que six satellites, alors la deuxième sous-étape de génération 134 est réitérée à partir du deuxième groupe de satellites. Ainsi, un troisième groupe est généré. Le troisième groupe comprend chacun des satellites du deuxième groupe et le satellite restant ayant la durée de réception valide sans discontinuité la plus longue, à savoir le septième satellite . Le troisième groupe comprend donc les sept satellites pour lesquels des données issues des signaux GNSS ont été sélectionnées, comme représenté en gras au point c. La deuxième sous-étape de génération 134 n’est donc pas réitérée une troisième fois. Lors d’une étape d’association 140, le module de traitement 20 associe à chaque groupe de satellites un instant de naissance . L’instant de naissance correspond à un instant à partir duquel des signaux GNSS valides, issus de chacun des satellites, ont été reçus sans discontinuité. Autrement dit, l’instant de naissance d’un groupe respectif correspond à l’instant de génération moins la durée de réception valide sans discontinuité la plus courte parmi celles de chacun des satellites du groupe . Dans l’exemple de la figure 4, l’instant de naissance du premier groupe est donc car des signaux valides issus de chacun des satellites ont été reçus, par le module d’entrée 17, sans discontinuité depuis cet instant . L’instant de naissance associé au deuxième groupe est l’instant car des signaux valides ont été reçus sans discontinuité de la part de cinq de ces satellites à partir de l’instant et des signaux valides ont été reçus sans discontinuité de la part du sixième satellite , uniquement à partir de l’instant . Concernant le troisième groupe , pour des raisons similaires au deuxième groupe l’instant de naissance est l’instant . Lors d’une étape de détection 170, le module de traitement 20 détecte la présence d’au moins un satellite masqué, et le cas échéant, détermine la liste de satellite(s) masqué(s). Pour cela, le module de traitement 20 analyse pour chaque groupe , une grandeur, dite résidu , propre à ce groupe , par comparaison à un premier seuil. Le résidu est obtenu à partir des signaux GNSS reçus des satellites de ce groupe depuis l’instant de naissance de ce groupe . Plus précisément, l’étape de détection 170 comprend les sous-étapes suivantes. Lors d’une sous-étape de calcul 171, le module de traitement 20 calcule, pour chaque groupe de satellites le résidu représentatif d’une incohérence des signaux GNSS reçus de la part d’au moins un satellite de ce groupe relativement aux autres satellites de ce groupe . Pour un groupe comprenant satellites, étant un nombre entier inférieur ou égal à , dont l’instant de naissance est l’instant , le module de traitement 20 calcule, à l’instant de génération et à l’instant de naissance , une pseudo-distance calculée respectivement et , liée à chaque satellite du groupe , par exemple selon les formules : ; ; où, pour rappel : ( ) et ( ) correspondent aux positions résolues du récepteur GNSS 10, respectivement aux instants de génération et de naissance ; et ( ) et ( ) correspondent aux positions calculées du satellite , respectivement aux instants de génération et de naissance . Toujours lors de la sous-étape de calcul 171, le module de traitement 20 calcule une première position estimée, valable à l’instant de génération , par application d’un algorithme PVT (de l’anglais Position Velocity Time ) connu en soit, à partir des pseudo-distances de code et des pseudo-distances calculées de chaque satellite . Le module de traitement 20 calcule, pour chaque satellite , un pseudo-distance reconstituée , valable à l’instant de naissance , à partir des variations de pseudo-distance de porteuse entre l’instant de naissance et l’instant de génération et à partir de la pseudo-distance de code à l’instant de génération , par exemple selon la formule suivante : Le module de traitement 20 calcule également une deuxième position estimée, valable à l’instant de naissance , par application de l’algorithme PVT, à partir des pseudo-distances reconstituées et des pseudo-distances calculées de chaque satellites . Toujours lors de la sous-étape de calcul 171, le module de traitement 20 calcule un premier vecteur de différence de pseudo-distance dont chaque composante correspond, pour chaque satellite du groupe , à la différence entre la pseudo-distance de code issue des signaux GNSS reçus et la pseudo-distance calculée à l’instant de génération ; et un deuxième vecteur de différence de pseudo-distance dont chaque composante correspond, pour chaque satellite du groupe , à la différence entre la pseudo-distance reconstituée et la pseudo-distance calculée à l’instant de naissance . Les premiers et deuxièmes vecteurs de différence de pseudo-distance sont alors obtenus selon la formule suivante : ; et . Le module de traitement 20 calcule également, pour l’instant de génération et pour l’instant de naissance , respectivement une première et une deuxième matrices d’observation, par exemple selon les formules suivantes : ; et ; où : ; ; . Les premiers , respectivement les deuxièmes , vecteurs de différence de pseudo-distance et matrices ( et ) d’observation permettent de définir un système d’équations linéaires dont une inconnue est un premier , respectivement un deuxième , vecteur d’écart de position du récepteur GNSS à l’instant de génération , respectivement à l’instant de naissance . Le système d’équations linéaires s’écrit alors sous la forme suivante : ; et ; où : et . Les coefficients des premier et deuxième vecteurs d’écart de position sont les inconnues du système d’équations linéaire. L’homme du métier notera que si le groupe comprend plus de quatre satellites, ledit système d’équations linéaires ne possède pas toujours de solution. Toutefois, une solution approchée peut être obtenue par application d’un algorithme de moindres carrés, connu en soi, conduisant dans le cas présent aux formules suivantes : ; et ; où : et sont respectivement les solutions approchées des premier et deuxième vecteurs d’écart de position ; correspond l’opérateur de transposée matricielle ; et correspond à l’opérateur d’inverse matricielle. Le module de traitement 20 calcule le résidu comme étant la différence entre des erreurs d’approximation commises lors du calcul de la solution de chacun des systèmes d’équations linéaires par l’algorithme de moindres carrés. Pour cela le module de traitement 20 calcule les première et deuxième positions estimées aux instants de génération et de naissance à partir des positions résolues du récepteur aux instants de génération et de naissance aux première et deuxième solutions approchées, selon l’équation : Le module de traitement 20 recalcule ensuite, pour chaque satellite , la pseudo-distance calculée à l’instant de génération à partir de la première position et une pseudo-distance calculée reconstituée à l’instant de naissance à partir de la deuxième position selon la formule : Toujours lors de la sous-étape de calcul 171, le module de traitement 20 calcule le résidu selon la formule : qui est équivalent à : En approximant le résidu par linéarisation, il s’exprime selon la formule : Toujours lors de la sous-étape de calcul 171, si la différence entre la position résolue du récepteur GNSS 10 à l’instant de génération et à l’instant de naissance est inférieure à un deuxième seuil, alors le calcul du résidu est simplifié. En effet, si la position du récepteur GNSS 10 a faiblement variée entre les instants de naissance et de calcul , alors les premières et deuxièmes matrices d’observation sont sensiblement similaires. Le module de calcul 20 calcule alors la solution approchée du deuxième vecteur d’écart de position à partir de la première matrice d’observation . De manière similaire, le calcul du résidu s’exprime alors selon la formule suivante : . Lors d’une sous étape de détection 172, si pour au moins un groupe de satellites, le résidu est supérieur au premier seuil, le module de traitement 20 détecte un masquage d’au moins un satellite du groupe . Si, pour au moins un groupe , le module de traitement 20 a détecté, durant la sous-étape de détection 172, un masquage, et que le groupe comprend au moins six satellites, alors le module de traitement 20 réitère, lors d’une sous-étape de réitération 173, la sous-étape de calcul 171 pour chaque sous-groupe de ce groupe , produisant alors un nouveau résidu propre à ce sous-groupe. Chaque sous-groupe est distinct des autres sous-groupes et comprend l’ensemble des satellites du groupe sauf un. Lors d’une sous-étape de détermination 174, si le nouveau résidu d’un sous-groupe est inférieur à un deuxième seuil alors que les nouveaux résidus respectifs des autres sous-groupes liés au même groupe sont supérieurs au deuxième seuil, alors le module de traitement 20 détermine un satellite masqué respectif comme étant le satellite absent du sous-groupe. Le deuxième seuil est par exemple égal au premier seuil. À titre d’exemple, dans le cas de la figure 4, si le résidu lié au deuxième groupe est supérieur au premier seuil, alors le module de traitement 20 détecte, lors de la sous-étape de détection 172 le masquage d’au moins un satellite du deuxième groupe . Si en outre, le nouveau résidu, associé au sous-groupe dans lequel le troisième satellite est absent, est inférieur au deuxième seuil, et que les nouveaux résidus respectivement associés aux autres sous-groupes issus du deuxième groupe sont supérieurs au deuxième seuil, alors le module de traitement 20 détermine que le troisième satellite est masqué. Les étapes de génération 130, d’association 140 et de détection 170 sont réitérées périodiquement à une deuxième fréquence prédéterminée. La deuxième fréquence est par exemple égale à la première fréquence . Ainsi, à chaque réception de signaux GNSS par le module d’entrée 17, le module de traitement 20 génère des nouveaux groupes, associe une date de naissance à chaque nouveau groupe et détecte un masquage au sein des nouveaux groupes . En variante, la deuxième fréquence est inférieure à la première fréquence . La première fréquence est par exemple le double de la deuxième . Alors, les étapes de génération 130, d’association 140 et de détection 170 sont réitérées chaque fois que les signaux GNSS sont reçus par le module d’entrée 10 deux fois. Lors d’une étape de communication 180, le module de sortie 25 communique à un utilisateur ou au module de calcul 13, un signal d’alerte si un satellite masqué a été détecté lors de l’étape de détection 170. En outre le module de sortie 25 communique à l’utilisateur ou au module de calcul 13, la liste de satellite(s) masqué(s) si elle a été déterminée lors de l’étape de détection 170. Avec le procédé selon l’invention, la détection de satellite(s) masqué(s) est améliorée car elle est réalisable sur un système embarqué à partir d’une faible puissance de calcul, notamment grâce à la formation de groupe(s) . En outre, avec la formation selon les sous-étapes de l’étape de génération, les groupes ayant un faible nombre de satellites mais une longue durée de réception valide sans discontinuité et des groupes ayant une courte durée de réception valide sans discontinuité mais un grand nombre de satellites permettent une meilleure détection de masquage et une meilleure détermination de la liste de satellites masqués. En outre, la sous-étape de sélection 131 permet d’assurer que les données issues des signaux GNSS reçus de la part des satellites sont exploitables dans la détection de masquage de satellite(s). Procédé de détection d’un masquage d’un ou plusieurs satellites par un obstacle pour un récepteur GNSS embarqué sur un porteur mobile, le procédé comprenant les étapes suivantes : réception (110) en continu, à chaque instant d’acquisition ( ) et pour chacun de satellites ( ), d’une mesure de pseudo-distance de code ( ) et d’une variation de pseudo-distances de porteuse ( ), étant un nombre entier ; calcul (120) d’une position résolue ( ) du récepteur et d’une position calculée ( ) de chaque satellites ( ) ; détection (170) d’un masquage d’au moins un satellite à partir des sous-étapes suivantes : pour chaque satellite ( ) et pour chaque instant de réception ( ), calcul (171), à un instant de calcul ( ), d’une pseudo-distance calculée ( ) à partir de la position résolue du récepteur ( ) et de la position calculée de chaque satellite ( ) et calcul (171) d’une pseudo-distance reconstituée ( ) à un instant antérieur ( ) à partir de la pseudo-distance de code ( ) et de chaque variation de pseudo-distances de porteuse ( ) entre l’instant antérieur ( ) et l’instant de calcul ( ) ; détection (174) d’un masquage d’au moins un satellite par analyse d’une grandeur dite résidu ( ) calculée par application d’un algorithme de moindre carré, à partir de la mesure de pseudo-distances de code ( ) à l’instant de calcul ( ), des positions résolues du récepteur ( ( ) et des positions calculées de chacun des satellites ( , ) à l’instant de calcul ( ) et à l’instant antérieur ( ), des pseudo-distances calculées ( ) et de la pseudo-distance reconstituée ( ). Procédé selon la revendication 1, comprenant préalablement à la sous-étape de calcul (171), les étapes suivantes : génération (130) à un instant ( ), dit instant de génération, d’au moins un groupe ( ) de satellites, les satellites du ou de chaque groupe ( ) de satellites étant choisis parmi les satellites, étant un nombre entier inférieur ou égal à ; et pour le ou chaque groupe ( ) de satellites, association (140) d’un instant de naissance ( ) précédant l’instant de génération ( ) à partir duquel les signaux GNSS issus de chacun des satellites de ce groupe ( ) de satellites ont tous été reçus de manière ininterrompue, l’étape de détection (170) étant itérée pour chaque groupe ( ), lors de la sous-étape de calcul (171), l’instant de calcul ( ) étant égal à l’instant de génération ( ) et l’instant antérieur ( ) étant égal à l’instant de naissance ( ) du groupe ( ). Procédé selon la revendication 2, dans lequel l’étape de détection (170) comprend pour chaque groupe ( ), les sous-étapes suivantes, postérieur à la sous étapes de calcul (171) : si, pour au moins un groupe ( ) de satellites, le résidu ( ) est supérieur à un premier seuil, alors détection (172) d’un masquage d’au moins un satellite dans ce groupe ( ) et réitération (173) de la sous-étape (171) de calcul du résidu pour chaque sous-groupe de ce groupe ( ), chaque sous-groupe comprenant chaque satellite du groupe ( ) sauf un ; et si, pour un sous-groupe, le résidu ( ) est inférieur à un deuxième seuil, alors détermination (174) d’un satellite masqué comme étant le satellite absent du sous-groupe. Procédé selon l’une quelconque des revendication précédentes, dans lequel l’étape de calcul (120) comprend en outre et pour chaque instant d’acquisition ( ), le calcul : d’un rapport signal sur bruit ( ) estimé ; d’un angle d’élévation de chaque satellite à partir de la position résolue ( ) du récepteur GNSS et de la position calculée ( ) de ce satellite ( ). Procédé selon la revendication 4, dans lequel l’étape de génération (130) comprend une sous-étape (131) de sélection, pour chaque satellite ( ), de signaux GNSS à chaque instant d’acquisition ( ) pour lequel : le rapport signal sur bruit ( ) des signaux GNSS issus de ce satellite ( ) à cet instant ( ) respecte un premier critère ; et l’angle d’élévation ( ) de ce satellite ( ) à cet instant ( ) respecte un deuxième critère. Procédé selon la revendication 5, dans lequel l’étape de génération (130) comprend en outre les sous-étapes suivantes : génération (133) d’un premier groupe ( ) comprenant les satellites dont les signaux GNSS sont sélectionnés, lors de la sous-étape de sélection (131), depuis un instant le plus antérieur à l’instant de génération ( ; génération (134) d’un deuxième groupe ( ) à partir du premier groupe ( ), le deuxième groupe ( ) comprenant chaque satellite du premier groupe ( ) et le satellite, absent du premier groupe ( ), dont les signaux GNSS sont sélectionnés, lors de la sous-étape de sélection (131), depuis un instant le plus antérieur à l’instant de génération ( ; et si au moins un satellite dont les signaux GNSS ont été sélectionnés lors de la sous-étape de sélection (131) à l’instant de génération ( ) et est absent de chaque groupe ( ) déjà généré, alors réitération (135) de la deuxième sous-étape de génération (134) à partir du dernier groupe ( ) généré. Procédé selon l’une quelconque des revendications 3 à 5, dans lequel la sous-étape de calcul (171) du résidu ( ) comprend en outre pour chaque groupe ( ) de satellites : calcul d’une pseudo-distance reconstituée ( ) pour chaque satellite ( ), à partir de la pseudo-distance de code ( ) à l’instant de génération ( ) et des variations de pseudo-distance de porteuse entre l’instant de naissance ( ) et l’instant de génération ( ), calcul d’une première ( ), respectivement d’une deuxième ( ), solution approchée d’un premier, respectivement d’un deuxième, système linéaire, chaque système linéaire dépendant respectivement de la première ( ) et de la deuxième ( ) pseudo-distances calculées, de la pseudo-distance de code ( ) à l’instant de génération ( ) et de la pseudo-distance reconstituée ( ); et calcul du résidu ( ) à partir des première ( ) et deuxième ( ) solutions approchées. Procédé selon l’une quelconque des revendications 2 à 7 dans lequel, les étapes de génération (130), d’association (140) et de détection (170) sont répétées périodiquement. Produit programme d’ordinateur comportant des instructions logicielles qui, lorsque mises en œuvre par un équipement informatique, mettent en œuvre le procédé de détection selon l’une quelconque des revendications précédentes. Dispositif électronique de détection (15) comprenant des moyens techniques adaptés pour implémenter le procédé de détermination selon l’une quelconque des revendications 1 à 8.