Brevet FR2798794A1 — publié le 20010323

PROCEDE DE TRAITEMENT DE SIGNAUX DE NAVIGATION A TRAJETS MULTIPLES DANS UN RECEPTEUR PRESENTANT UNE PLURALITE D'ANTENNES La présente invention a pour objet un procédé de traitement de signaux de navigation à trajets multiples, adaptée à un récepteur présentant une pluralité d'antennes de réception. Un récepteur de navigation du type à accès multiple par répartition de code à séquence directe DSCDAA (Direct-Sequence-Code-Division Multiple-Access), et à estimation de la pseudoportée ( pseudorange ), les réflexions qui introduisent un retard inférieur à un bit d'une séquence de bruit pseudo-aléatoire ("chip") sont susceptibles d'introduire une erreur temporelle importante. Dans le cas envisagé ici d'un récepteur présentant une pluralité d'antennes de réception, l'atténuation des effets de ces trajets multiples dépend du nombre d'antennes du récepteur puisque chaque antenne génère une combinaison linéaire entre le signal direct et les signaux correspondant à des trajets multiples, et cette information peut être utilisée par un algorithme d'atténuation D'une manière conventionnelle, on désignera par canal le signal provenant d'une antenne, et un récepteur sera appelé mono-canal ou multi-canaux selon qu'il présente une ou plusieurs antennes. D'un point de vue théorique, le principe de la probabilité maximale permet d'estimer le temps, et en particulier les boucles numériques asservies sur le retard DDLL ("Digigal Delay Lock Loop") constituent une approximation de ce principe pour un signal et un canal en bruit blanc. La mise en oeuvre du principe de la probabilité maximale conduit, dans le cas des réflexions précitées, à une équation non linéaire et le traitement des signaux en est compliqué d'autant. Les boucles de verrouillage sur le retard pour l'estimation de trajets multiples MEDLL (Multipath Estimating Delay Lock Loop") en sont un bon exemple : elles nécessitent un nombre de corrélateurs au moins deux fois plus élevé que les boucles DDLL précitées, et la résolution des équations non linéaires demande un temps nettement plus élevé que la corrélation avance/retard d'une boucle DDLL. La technique MEDLL est décrite en particulier dans l'article de Bryan TOWNSEND et collaborateurs intitulé "Ll Carrier Phase Multipath Error Reduction Using MEDLL Technology" paru en 1995 dans les "Proceedings of the Institute of Navigation GPS" pages 1539-1533, ainsi que dans l'article de Richard Van Nee et Collaborateurs, intitulé "The Multipath Estimating Delay Lock Loop : Approaching Theoretical Accuracy Limits" paru en 1994 dans la revue IEEE, pages 246-251. Une technique d'atténuation des effets des trajets multiples selon la technique MEDLL, est également décrite dans l'Article de G. El Sayed et collaborateurs intitulé "Design of GPS Receiver Code and Carrier Tracking Loops for Multipath Mitigation" parue en 1998 dans Proceedings of 11th International Technical Meeting of the Institute of Navigation.- Nashville pages 1041 à 1052. Cette technique n'est appliquée qu'à un seul signal et ne convient donc que pour un récepteur mono-canal. D'une manière générale, une boucle DDLL effectue une corrélation du signal d'entrée avec une réplique générée localement. La boucle choisit alors parmi toutes les corrélations possibles, à raison d'une pour chaque retard, celle qui est la plus proche du signal d'entrée. La distance entre deux corrélations est, de manière classique, mesurée à l'aide d'un vecteur, ce qui conduit à résoudre un problème linéaire de minimisation. La présente invention propose d'arriver à une formulation similaire dans le cas d'un récepteur multicanaux. L'invention concerne ainsi un procédé de traitement de signaux de navigation d'un système de navigation par satellite à l'aide d'un récepteur caractérisé en ce que le récepteur présente une pluralité d'antennes générant des signaux représentant la réception de signaux correspondant à des trajets directs et à des trajets réfléchis et en ce qu'il met en oeuvre une recherche des retards des signaux correspondant à des trajets directs et à des trajets réfléchis par comparaison avec des signaux de référence correspondant à des retards connus. Un mode de réalisation particulièrement avantageux de l'invention repose sur l'idée que les signaux d'entrée des différents canaux couvrent le même sous-espace vectoriel que les signaux directs et les signaux issus de réflexions. Il est alors possible d'estimer ce sous-espace et ensuite de se servir de la distance entre le sousespace et les corrélations locales pour formuler le problème de minimisation. Le procédé est alors caractérisé en ce qu'il comporte a) un pré-traitement de chaque signal d'antenne de manière à le filtrer par un filtre adapté à la forme des signaux de navigation dudit système de navigation et à son code d'étalement de spectre, et à réaliser une moyenne sur les pics des signaux filtrés, b) une décomposition en valeurs singulières pour réaliser une estimation d'un sous-espace vectoriel S de signal à partir des signaux filtrés et moyennés représentant des pics de corrélation, c) une recherche mono-dimensionnelle des retards des signaux correspondant à des trajets directs et à des trajets réfléchis en recherchant les retards correspondant à des minima de la distance entre des vecteurs de mode générés localement et correspondant à des signaux de référence dont les retards sont connus et les vecteurs du sous-espace S. Ladite décomposition en valeurs singulières s'effectue de préférence pour des échantillons situés autour d'une crête de corrélation et dans lesquels une majeure partie de l'énergie du signal se trouve concentrée. Elle peut mettre en oeuvre une détection de discontinuité dans les valeurs singulières pour estimer le rang p du sous-espace S du signal. Le procédé peut être caractérisé en ce que ladite recherche mono-dimensionnelle s'effectue dans une fenêtre temporelle de retard estimé dans laquelle des signaux correspondant à un trajet direct et des signaux correspondant à des trajets réfléchis sont susceptibles de se trouver. Ladite recherche mono-dimensionnelle peut présenter: c1) - un calcul dans ladite fenêtre temporelle de retard de l'inverse de la distance entre les vecteurs du sous-espace S et les vecteurs de mode générés localement ; c2) une estimation des retards des signaux correspondant à un trajet direct et des signaux correspondant à des trajets réfléchis en choisissant les retards correspondant aux vecteurs de mode pour lesquels les valeurs desdits inverses de la distance sont maximales. L'invention sera mieux comprise à la lecture de la description qui va suivre,donnée à titre d'exemple, en liaison avec les dessins dans lesquels : - la figure 1 illustre le prétraitement, - la figure 2 illustre la décomposition en valeurs singulières appliquée après pré-traitement dans un récepteur multi-canaux REC, - la figure 3 illustre la recherche monodimensionnelle, - la figure 4 illustre un mode préféré de prétraitement, - la figure 5 représente la sortie du filtre adapté Fi pour le ième canal, et - la figure 6 illustre la génération de mode. La technique évoquée plus haut, qui met en oeuvre un estimateur de probabilité maximale, réalise tout d'abord un filtrage du signal d'entrée à l'aide d'un filtre adapté au code et compare ensuite les corrélations obtenues avec des répliques locales en utilisant une équation non linéaire. Les inconnues de cette équation sont les amplitudes complexes des signaux et les retards, ce qui fait qu'une mise en oeuvre pratique telle que le MEDLL peut prendre plusieurs minutes et ne peut donc être utilisé que pour un système GPS différentiel. Le concept proposé dans le cadre de la présente invention permet de remplacer l'étape nonlinéaire de minimisation, et elle peut être appliquée à une géométrie arbitraire du réseau, pourvu que le nombre de signaux incidents sur le réseau soit inférieur au nombre d'éléments constituant le réseau. Selon la présente invention, (figure 1) les signaux provenant de N antennes Al, A2, Ai... AN sont tout d'abord, pour la ième antenne Ai, amplifiés par un amplificateur à faible bruit AMPi, filtrés par un filtre basse-bande BPFi, et transposés en bande de base dans un mélangeur Mi dont une entrée reçoit à cet effet une porteuse locale LC. Ensuite, dans un module de prétraitement li, ils sont numérisés par un convertisseur analogique-numérique ADCi, puis filtrés par un filtre Fi accordé à la forme des impulsions et au code d'étalement de spectre ( spreading code ). Un tel filtre est un filtre à réponse impulsionnelle finie (FIR) dont la réponse impulsionnelle est obtenue en échantillonnant une fenêtre du signal de navigation, en utilisant plus d'un échantillon par bit ("chip") de signal pseudo-aléatoire, de manière à ce que la forme des échantilons soit reflétée dans les échantillons. Il peuvent enfin être moyennés dans une étape PA1 de calcul de moyenne de valeur de crête pour fournir un signal pré-traité. Selon cette technique, les signaux de crête, corrigés de l'étalement, qui sortent du filtre Fi sont traités en prenant des échantillons situés autour de la crête de corrélation estimée et chacun de ces échantillons est moyenné pour plusieurs pics de corrélation afin d'augmenter le rapport signal/bruit. Le signal pré-traité ne concerne qu'un petit nombre d'échantillons situés autour de la crête de corrélation, étant donné que l'énergie du signal se trouve principalement dans ces échantillons. Ainsi qu'il sera exposé plus en détail dans la suite de la description, le procédé de l'invention met ensuite en oeuvre dans un module 2 (voir figure 2) une estimation du sous-espace S du signal par décomposition en valeurs singulières de vecteurs z1, z2, ... , znch, formés à partir des échantillons des pics de corrélation de chacune des nch antennes A1, A2, 1. 1 Anch-1, Ranch- Une fois que l'estimation du sous-espace S du signal a été effectuée, le procédé met en oeuvre une recherche mono-dimensionnelle dans une fenêtre temporelle de retard dans laquelle le signal direct et les signaux issus d'une réflexion sont susceptibles de se situer (voir figure 3). Cette fenêtre temporelle peut être obtenue par une estimation grossière mettant en oeuvre une technique connue telle que la mise en oeuvre d'une boucle DDLL classique à l'aide d'un circuit DW. Le circuit li de pré-traitement de référence génère localement des vecteurs de mode zi correspondant à des signaux incidents dépourvus de bruit et ayant des retards donnés connus. Les recherches des retards sont effectuées en recherchant, grâce au module 2 quels sont les vecteurs de mode les plus proches du sous-espace de signal S. Les retards ont alors pour valeur les retards correspondant à ces vecteurs de mode les plus proches. La recherche monodimensionnelle peut être effectuée par exemple en calculant dans la fenêtre temporelle de retard l'inverse de la distance entre le sous-espace S de signal et chacun des modes qui sont générés localement, les retards de signaux directs et des signaux ayant subi des réflexions pouvant alors être estimés dans un module 4 en recherchant les valeurs des retards pour lesquels la fonction inverse de la distance est maximale. Le procédé selon l'invention conduit, pour un rapport signal/bruit d'un code C/A de - 20dB (pris avant le filtre Fi) et pour un temps d'intégration de seulement une seconde (soit environ 1000 codes), à une erreur de l'ordre d'un centième de bit d'une séquence de bruit pseudo-aléatoire ( 1/100 chip ) ce qui est très inférieur au résultat obtenu avec une boucle DDLL (= 5,6 centièmes de bit). On résonne sur un code C/A ayant des impulsions mises en forme (ss = 0 ,5). On utilise la notation suivante : nm = nombre de modes nch = nombre de canaux nL = dimension de l'espace, c'est-à-dire longueur des vecteurs (.)T = Transposée d'une Matrice (.)H = Conjuguée et Transposée d'une Matrice LaJ = Plus grand entier inférieur ou égal à a a mod b = Reste de la division de a par b CVI, VZ, ... = espace V1,V2,... [V1, V2, ...] Matrice formée par les vecteurs colonnes V1, V2, ... rank [.] = Rang d'une Matrice ou d'un sousespace diag(.) = Diagonale d'une Matrice min(.,.) = Minimum tr(.) = sommes des éléments diagonaux d'une Matrice Le modèle d'un signal passe-bande pour le canal de réception i est : s(t) = Code C/A avec des impulsions mises en forme nwbp(t) = Bruit blanc passe-bande aik = amplitudes réelles #ik = Phases multi-trajets L'équivalent passe-bas de rbpi(t) est : avec . nw(t) = Bruit blanc ak ~ 1 cx,kee'k = Coefficients complexes (3) multi-trajets #k = retards multi-trajets nm = nombre de signaux multi-trajets Après échantillonnage pendant une durée Ts, N échantillons sont disponibles pour chaque canal. On a alors : avec s[n,#] = s(nTs -#)= signal de référence (5) échantillonné avec un retard # nw[n] = Bruit échantillonné L'estimation des valeurs de alk et de #k, lorsque N échantillons sont disponibles par canal, peut être réalisée à l'aide de la fonction de probabilité maximale, à savoir : Les estimations d'amplitude a11k1 et de retard #R1 sont conformes aux équations suivantes : équation dans laquelle Rrs, i (n, i) et RS (il i2) sont données par les formules de corrélation suivantes . (corrélation de référence de canal) (auto-corrélation de référence). L'estimation équivaut à faire correspondre nm auto-corrélations de référence à ns corrélations de canal, avec des amplitudes complexes et des retards différents. Les inconnues sont seulement les retards, car les amplitudes peuvent être obtenues à partir de (7) et remplacées dans (8). Ceci conduit à des équations non linéaires. Au cas où nch = 1, les équations (7) et (8) sont les équations MEDLL [voir l'ouvrage de Richard Van Née Multi-transmitter Interférence in Spécial Spectrum Communication and Navigation System Delft University Press - Netherlands (1995)]. Selon l'invention, au lieu de réaliser une estimation faisant correspondre les corrélations de canaux, avec des corrélations de référence, ce qui conduit à des équations non linéaires, on réalise, à partir des mêmes corrélations, une estimation du sousespace. En conséquence, dans les deux cas, les signaux des différents canaux doivent subir un pré-traitement pour obtenir les corrélations de canaux. En particulier, ce sont les quelques échantillons situés au voisinage des pics de corrélation qui présentent de l'intérêt (voir le circuit de la figure 4). Dans ce circuit, le signal ri(t) du ième canal est échantillonné à des intervalles Ts dans un module d'échantillonnage ADCi et passe à travers le filtre Fi correspondant au signal de référence (une période de code de s (-i) ) . La sortie i[n] du filtre est donnée par : 21[n] =r l *h[n] (11) ou h [n] la réponse du filtre adapté. Les signaux Zi[n] de sortie du filtre adapté Fi sont illustrés à la figure 5. Etant donné que le niveau des signaux n'est suffisamment élevé que pour les échantillons situés au voisinage des pics de corrélation, on ne conserve que ceux-ci. On peut par exemple, comme indiqué ci-dessus, déterminer de manière approximative l'emplacement des pics et choisir une référence de temps tiL de sorte que : tiL = NTS-T/2 (L = 1,...,npi, npi désignant le nombre de pics de corrélations disponibles pour le ième canal). T désigne l'intervalle de temps autour des pics de corrélation. Le circuit ne conserve que les échantillons situés dans la fenêtre : [NTS-T,NTS] (12) La durée de l'intervalle T étant connue, les échantillons générés par le module PI et situés dans la fenêtre [tiL-T/2,tiL+T/2] constituent un vecteur ziL : l'L:[ z, [L.N-L TITs J]. z, [LN-L TITs }.1]."', z, [L N] r (13) Il s'agit des échantillons autour du Lème pic de corrélation. Le rapport signal sur bruit de ces échantillons pouvant s'avérer insuffisant, il est avantageux dans ce cas de réaliser dans un module VG une moyenne sur npi pics de corrélation. On obtient ainsi ce que l'on appelle les vecteurs de canaux zi (avec i compris entre 1 et nch) , également dénommés Ci (figure 2). On a : Le vecteur de canal équivaut à la corrélation de référence de canal de l'estimateur de probabilité maximale selon l'équation (9) étant donné que : A l'instant n = N-p avec p N, la sortie du filtre adapté a pour valeur : Cette estimation est également fonction de l'auto-corrélation de référence qui peut également être obtenue à l'aide du circuit de la figure 4 (sans le module VG) en utilisant s(t-i) en tant que signal d'entrée (voir figure 6) et en supprimant l'opération de moyenne, puisqu'il n'y a pas de bruit. On appelle modes (ou vecteurs de mode) les sorties ainsi obtenues : m[n,T] = (s[.,T]*h)[n] (17) (corrélation de référence). m( ) ~[ ml-T'2y1,rl.m[L-T/22.. .m(LT/2,ZI ]T (modes) (18) Les modes m(#) équivalent à l'auto-corrélation de référence (probabilité maximale) selon l'équation (10) car : A l'instant n = N-p avec p N, la sortie du filtre F vaut : Comme indiqué plus haut, le traitement des données pour réaliser une estimation suivant le principe de la probabilité maximale selon l'équation (8) est très compliqué. Le présent procédé permet de simplifier considérablement la solution de ce problème en utilisant un concept différent qui consiste tout d'abord à estimer le sous-espace dans lequel la majeure partie de la puissance du signal est concentrée, et à rechercher ensuite les modes (ou vecteurs de mode) les plus proches, à l'aide d'une recherche mono-dimensionnelle. En l'absence de bruit, les vecteurs de canaux z1,z2,...znch, sont des combinaisons linéaires des vecteurs de mode ml , m2 , mnm . Les vecteurs de canaux et les vecteurs de mode parcourent le même sous-espace S = C, avec : S = (sous-espace des signaux) C = (sous-espace des canaux) Les vecteurs de mode étant les valeurs d'une fonction à un paramètre mi - m(#1), i = 1,...nm, il est possible de déterminer les vecteurs de mode en intersectant la variété m(#) avec le sous-espace des canaux. On utilise la notation suivante : nL = dimension de l'espace N = Sol - Les vecteurs de canaux z1, z2,..., znch sont des combinaisons linéaires des modes, à savoir : a1k = constantes. Les vecteurs de mode peuvent être obtenus à partir des valeurs de # pour lesquelles m(#) est orthogonale au sous-espace N, soit : I1k .Il7Ct)=0, k=1,...,fl-flm. (22) En présence de bruit, la méthode ci-dessus n'est pas adaptée étant donné que les vecteurs de mode ne parcourent en fait qu'un sous-espace de l'espace des canaux. Il faut donc trouver à partir de C le sous-espace CS autour duquel la majeure partie de l'énergie est concentrée et appliquer ensuite la méthode de recherche paramétrique précédente. Soit la matrice z = [z1,z2,..., znch]' On recherche le rang p de la matrice Hp pour lequel la somme des carrés des éléments de z-Hp est minimale. Cette condition peut être reformulée de la manière suivante : Cette équation (23) représente le carré de la norme de Frobenius appliquée à la matrice Z-Hp. On se reportera à l'ouvrage de Louis L. Scharf intitulé Statistical Signal Processing, Detection, Estimation and Time Series Analysis page 45 publié en 1991 par Addison-Wesley Publishing Company Inc. Le problème de la minimisation de cette norme est résolu en appliquant une décomposition en valeurs singulières (équation 24) qui permet d'exprimer z sous la forme : z = U#VH (24) U étant une matrice orthogonale de dimension nL x nLn, est une matrice diagonale de dimension nL x nch et V est une matrice orthogonale de dimension nch x nchLes éléments diagonaux de la matrice , dénommés valeurs singulières sont positifs ou nuls. Ils sont classés par valeurs décroissantes. La matrice Hp peut s'exprimer sous la forme : H# = U##VH (26) U et V étant donnés par (24). En substituant le résultat des équations (24) et (26) dans l'équation (23)et en tenant compte du fait que UUH = I et VVH = I, on a : La matrice Hp étant de rang p, l'erreur est minimale quand p est diagonale et annule les éléments de sa diagonale dont l'ordre est supérieur à pi à savoir : Le rang pour lequel cela se produit peut être évalué en détectant une discontinuité dans la suite des valeurs singulières de sorte que #2 #2 #2 #12 #22 @ et ##2 soient de même ordre de grandeur et que 2 #2 #2 'p+t ''p-2 w et mln(nL I1ch) leur soient très inférieurs. Ceci ne fonctionne que si le rapport signal sur bruit est meilleur que OdB, car : #12=#si2+#n2, 1#i## À. 1 = cr . SI p-1nun(n,~.ns) (29) désignant les valeurs singulières du signal et la variance du bruit (voir l'ouvrage précité de Louis L. Scharf pages 499-500). Le procédé peut donc être résumé de la manière suivante : - Décomposer 2 en valeurs singulières : z=U#VH - Détecter une discontinuité dans les valeurs singulières et en déduire une valeur estimée du rang p du sous-espace. - Le rang p est donné par z = U#pVH avec # p ne contenant que p éléments diagonaux. Si on écrit U = [U1 U2] U1 contenant les p premières colonnes et U2 les nL-p colonnes restantes alors est le sous-espace approximé de rang p (sous-espace de signal) et est son complément orthogonal (sousespace de bruit). La recherche paramétrique de mode est réalisée à l'aide de l'équation (22) en calculant les valeur T pour lesquelles : m(#)HU2 = 0 (30). Etant donné que la norme de l'équation 30 est faible, # peut être estimé en recherchant les maxima de l'inverse du carré de la norme, à savoir Les valeurs singulières permettront de faire la distinction entre le sous-espace de signal et le sousespace de bruit. Une fois le sous-espace estimé, la recherche paramétrique détecte les vecteurs de mode les plus proches. La séparation entre les sous-espaces de signal et de bruit est détectée par une discontinuité dans la séquence des valeurs singulières. La détection de cette discontinuité peut être réalisée en commençant par la valeur singulière la plus faibles, et en comparant les incréments successifs de ces valeurs singulières avec leur incrément moyen et une discontinuité est considérée comme détectée si sa valeur relative est supérieure à un seuil donné. Ce seuil peut être choisi de manière à correspondre à une erreur temporelle dans la gamme de -25 à -20 dB, ce qui est une valeur typique pour un code C/A. Un tel critère est particulièrement utile dans le cas où, pour une mode donné, le nombre des canaux est supérieur au nombre des échantillons. En pratique, on notera qu'il est préférable de surestimer (plutôt que de sous-estimer) le nombre des valeurs singulières. Une fois le sous-espace déterminé, la recherche mono-dimensionnelle est conduite de la manière qui a été exposée plus haut, ce qui permet de déterminer les retards recherchés pour les signaux correspondant à un trajet direct et pour ceux correspondant à des trajets ayant subi des réflexions. REVENDICATIONS 1. Procédé de traitement de signaux de navigation d'un système de navigation par satellite à l'aide d'un récepteur caractérisé en ce que le récepteur présente une pluralité d'antennes générant des signaux représentant la réception de signaux correspondant à des trajets directs et à des trajets réfléchis et en ce qu'il met en oeuvre une recherche des retards des signaux correspondant à des trajets directs et à des trajets réfléchis par comparaison avec des signaux de référence correspondant à des retards connus. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte a) un pré-traitement de chaque signal d'antenne de manière à le filtrer par un filtre adapté à la forme des signaux de navigation dudit système de navigation et à son code d'étalement de spectre, et à réaliser une moyenne sur les pics des signaux filtrés, b) une décomposition en valeurs singulières pour réaliser une estimation d'un sous-espace vectoriel de signal à partir des signaux filtrés et moyennés représentant des pics de corrélation, c) une recherche mono-dimensionnelle desdits retards des signaux correspondant à des trajets directs et à des trajets réfléchis en recherchant les retards correspondant à des minima de la distance entre des vecteurs de mode générés localement et correspondant auxdits signaux de référence dont les retards sont connus et ledit sous-espace vectoriel de signal. 3. Procédé selon la revendication 2, caractérisé en ce que ladite décomposition en valeurs singulières s'effectue pour des échantillons situés autour d'une crête de corrélation et autour desquels une majeure partie de l'énergie du signal se trouve concentrée. 4. Procédé selon la revendication 3, caractérisé en ce que la décomposition en valeurs singulières met en oeuvre une détection de discontinuité dans les valeurs singulières pour estimer le rang p du sous-espace S du signal. 5. Procédé selon une des revendications précédentes, caractérisé en ce que ladite recherche monodimensionnelle s'effectue dans une fenêtre temporelle de retard estimé dans laquelle des signaux correspondant à un trajet direct et des signaux correspondant à des trajets réfléchis sont susceptibles de se trouver. 6. Procédé selon la revendication 5, caractérisé en ce que ladite recherche monodimensionnelle présente : cl)- un calcul dans ladite fenêtre temporelle de retard de l'inverse de la distance entre les vecteurs du sous-espace vectoriel de signal et les vecteurs de mode générés localement ; c2) une estimation des retards des signaux correspondant à un trajet direct et des signaux correspondant à des trajets réfléchis en choisissant les retards correspondant aux vecteurs de mode pour lesquels les valeurs desdits inverses de la distance sont maximales.