Brevet FR2826528A1 — publié le 20021227

MODULE DISCRIMINATEUR DE TRAJETS MULTIPLES POUR UN SYSTEME DE NAVIGATION. La présente invention a pour objet un module discriminateur de trajets multiples pour un système de navigation, ainsi qu'un système de navigation comprenant un tel module. Dans les dix dernières années, les systèmes de modulation à spectre réparti et à séquence directe (DS/SS) ont pris une importance croissante. Actuellement, cette technique est mise en oeuvre non seulement dans les systèmes de navigation par satellite, GPS et GLONASS, mais elle a également été introduite dans des systèmes de communication terrestre et par satellite par exemple US Standard IS-95, GLOBALSTAR, et plus récemment dans la troisième génération de téléphones mobiles selon le standard UMTS ainsi que dans le système européen de navigation par satellite GALILEO. Le concept de la modulation DS/SS, par exemple la modulation bi-phase BPSK, met en oeuvre l'introduction d'un code de bruits pseudo-aléatoires PRN qui a pour conséquence que le signal modulé qui en résulte présente une bande passante plus large qu'un signal qui transmettrait seulement les symboles de données. C'est dans ce sens que la densité spectrale du signal est"répartie". Dans le récepteur, une réplique générée localement du code PRN transmis est alignée avec la phase du code du signal reçu. En particulier, dans les récepteurs de navigation, un alignement de la phase du code est essentiel pour déterminer de manière précise le temps d'arrivée TOA qui est utilisé pour la détermination de la distance géométrique entre le transmetteur et le récepteur. Une fois l'alignement réalisé, l'estimation de la phase de la porteuse et la détermination des symboles des données transmises est possible. Cet alignement est réalisé de manière classique dans un récepteur à l'aide d'une boucle verrouillée en phase DLL ("Delay-Locked- Loop") dont un exemple est décrit dans l'article de M. SIMON et al. publié dans l'ouvrage"Spread Spectrum Communications Handbook" publié par McGRAWHILL, Incorporated 2eme Edition 1994. Cet alignement utilise le résultat d'une corrélation entre le signal reçu et des versions anticipées E et retardées L d'un signal de code de référence généré localement pour calculer un signal d'erreur qui est proportionnel à l'erreur de phase du code (différence entre la phase du code estimée et la phase reçue). Ce signal d'erreur doit indiquer dans quelle direction la phase du signal de référence doit être décalée (avance ou retard) pour être en synchronisation avec le signal reçu. Un espacement entre les codes avancés E et retardés L est en général d'un bit d'une séquence de pseudo-bruit ("chip"). Les signaux de type SRC (qui ont pour spectre une cosinusoïde surélevée) sont définis dans le standard UMTS. Ce type de signaux SRC est susceptible d'être également adopté dans le système GALILEO évoqué ci-dessus. Un récepteur numérique mettant en oeuvre ces signaux est décrit dans l'article de R. de GAUDENZI et al. intitulé"A Digital Chip Timing Recovery Loop for Band-Limited Direct-Sequence Spread-Spectrum Signals"publié dans IEEE Trans. on Comm., vol. 41, n 11, pages 1760-1769, novembre 1993. La précision de la mesure du temps d'arrivée est perturbée de manière négative par la présence d'une distorsion due à des trajets multiples, et il en résulte, dans le cas de la télémétrie, une diminution de la précision de la détermination de la position, et dans le cas de la transmission de données, une augmentation du taux d'erreur de bit ou de trame. Ceci est particulièrement vrai dans le cas où la distorsion multi-trajets est essentiellement représentée par une réflexion unique qui provient d'un point qui est situé dans l'environnement immédiat du récepteur avec une faible dynamique. La superposition des signaux directs et réfléchis est ainsi susceptible de causer de la gigue ("jitter") qui affecte les mesures du temps d'arrivée TOA de la boucle DLL. Il en résulte que des techniques permettant de réduire l'impact de ces trajets multiples sur la détermination de la phase du code est d'intérêt primordial notamment dans le domaine de la navigation. Jusqu'à ce jour, les procédés de compensation de trajets multiples destinés à la télémétrie ont été développés essentiellement dans le cadre de récepteurs GPS. De ce fait, un grand nombre de ces algorithmes utilise le fait que le débit apparent ("Chip Rate") du code C/A disponible publiquement est beaucoup plus faible que la bande passante de la transmission. Il est alors avantageux de réduire l'écart temporel entre les signaux de code de référence avancés E et retardés L, jusqu'à ce qu'ils aient une valeur qui est inférieure à un bit une séquence de pseudo-bruits ("One Chip Duration") pour diminuer l'erreur induite par les trajets multi-faisceaux. Dans le cadre des systèmes de type SRC, étant donné que le spectre de fréquences est strictement limité à 1 + f3 fois le débit apparent du code (p désignant le facteur d'atténuation des impulsions SRC), les méthodes ci-dessus indiquées ne sont pas efficaces pour compenser les trajets multi-faisceaux. Il a par ailleurs été suggéré dans l'article de Philip G. MA TT08 intitulé "Multipath elimination for the low-cost consumer GPS"publié dans le Compte-rendu de la conférence ION GPS 1996 à Kansas City, pages 665-671, de remplacer les points de corrélation avancés E et retardés L par deux points de corrélation avancés. Cet article ne donne par contre pas de moyens d'implémentation de cette technique. La présente invention a pour objet un module discriminateur qui convienne à une utilisation dans un système de communication ou de navigation à spectre réparti, et plus particulièrement selon une modulation de type SRC. Selon une première variante, l'invention concerne un module discriminateur de trajets multiples pour un système de communication et/ou de navigation qui met en oeuvre une modulation à spectre réparti, module qui présente une entrée apte à recevoir des signaux de navigation, un échantillonneur pour fournir des signaux échantillonneurs à une fréquence double de la fréquence apparente fc du code desdits signaux, ainsi qu'un sous-module de calcul d'un signal d'erreur ek à partir desdits signaux échantillonnés et d'un code de répartition Cl KIL généré localement, caractérisé en ce que : e, =K, -+1 ZK-i \ / avec Z--=1 1 kb Z, = [r,.,. C] 0h o. (=b-] ou Zk = k'C IK-t2lL1 (D hb k [ . C,,,] 0h OU T Zk = [r k C IKt2l] &commat;hkb k Zk [r k C IK-tl&verbar;L] &commat; k Kp = constante g (-tlTc) g (- t2 Tc) SinTla Cos nssa avec g (aTc) =--r. l- (2/ ? a) désignant le facteur d'atténuation du signal SRC. Selon une deuxième variante, l'invention concerne un module discriminateur de trajets multiples pour un système de communication et/ou de navigation qui met en oeuvre une modulation à spectre réparti, module qui présente une entrée apte à recevoir des signaux de navigation, un échantillonneur pour fournir des signaux échantillonneurs à une fréquence double de la fréquence apparente fc du code desdits signaux, ainsi qu'un sous-module de calcul d'un signal d'erreur ek à partir desdits signaux échantillonnés et d'un code de répartition Cl Kl L généré localement, caractérisé en ce que : e. =K, f-+ ZK avec ZK Ka k-tic IKIL] (D hb ZK b Z-K- = [r k-tl. C IKIL] (29 ht oJ = [. C ] 0h OU f Z K [r k C IK t21E hb z-= [rk IK-tlIL hb Kp = constante et Sss = g (- tl Tc) ,, sinnaCosn 6c g (aTc) =--r-7--- [l- (2/ ? a)] désignant le facteur d'atténuation du signal SRC. Selon une troisième variante, l'invention concerne un module discriminateur de trajets multiples pour un système de communication et/ou de navigation qui met en oeuvre une modulation à spectre réparti, module qui présente une entrée apte à recevoir des signaux de navigation, un échantillonneur pour fournir des signaux échantillonneurs à une fréquence double de la fréquence apparente fc du code desdits signaux, ainsi qu'un sous-module de calcul d'un signal d'erreur ek à partir desdits signaux échantillonnés et d'un code de répartition Cl Kl L généré localement, caractérisé en ce que : ek f2---+1 '- K K Z+ b K [r +1, 2 *CIKIL] O h k avec-Z= -t2. CIKZ.] hb avec Z 1 (= [ ;r k - t2. C IK IL ] ; &commat; h ZK= k-tl. C KZ,] K" [-C ( +1/2) Z,] &commat; A K k ou Z K K k-t2 1 z r k-Clk h Z K = k. C -., iJ &commat; h = constante et Sss = g (-t 1 Tc) g (-t2 Tc) ,, Sin Fia Cos n/jb avec g (aTc) =--r,.-, l- (2a) f3 désignant le facteur d'atténuation du signal SRC. Dans chacun des cas ci-dessus, h désigne ! a réponse k impulsionnelle d'un filtre passe-bas. Le module discriminateur peut être caractérisé en ce que : Pour chacune des trois variantes ci-dessus, on peut avoir t1 = 1, 5 et t2 = 0, 5. L'invention concerne également un module discriminateur de trajets multiples pour un système de communication et/ou de navigation qui met en oeuvre une modulation à spectre réparti, module qui présente une entrée apte à recevoir des signaux de navigation, un échantillonneur pour fournir des signaux échantillonneurs à une fréquence double de la fréquence apparente fc du code desdits signaux, ainsi qu'un sous-module de calcul d'un signal d'erreur ek à partir desdits signaux échantillonnés et d'un code de répartition Cl Kl L généré localement, caractérisé en ce que le sous module met en oeuvre le calcul de la partie réelle d'un rapport de deux valeurs de corrélation en avance par rapport avec la valeur de phase réelle, ces valeurs provenent d'une corrélation entre le signal reçu et lun signal de code de référence généré localement. L'invention concerne également un système de navigation caractérisé en ce qu'il présente un module discriminateur tel que défini cidessus. L'invention concerne enfin un système de navigation caractérisé en ce qu'il présente un module discriminateur générant un signal d'erreur e'k assurant de manière connue en soi une correction en boucle fermée à partir de signaux échantillonnés z et Z, auquel est associé un K K module discriminateur tel que défini ci-dessus pour générer en boucle ouverte à partir d'un dit signal d'erreur ek un signal de correction de la sortie de phase du code. D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description qui va suivre, donné à titre d'exemple non limitatif, en liaison avec les dessins dans lesquels : - la figure 1 illustre l'influence d'un signal multi-trajets comprenant un trajet direct et au moins un trajet réfléchi ; - la figure 2 est un bloc diagramme d'une boucle DLL selon l'article de R. de GAUDENZI et al. évoqué ci-dessus ; - les figures 3a et 3b représentent une courbe de la fonction d'autocorrélation g (t) respectivement pour un module selon la figure 1 et selon l'invention ; - la figure 4 représente un bloc diagramme d'une boucle DLL incorporant un discriminateur selon l'invention ; et - la figure 5 est un bloc diagramme d'une boucle DLL incorporant un discriminateur classique ainsi qu'un module discriminateur selon la présente invention. Un signal sT (t) en bande de base à spectre réparti en séquence direct (DS-SS) est représenté par la formule 3-1, le mot de code réparti ayant une longueur de 2 bits de séquence de pseudo-bruit (ou"chips") et chaque symbole de donnée dp, q, i présentant M/L mots de code répartis Les facteurs a et b sont dans les cas suivants. a =1. 0et b = 0 BPSK DS-SS a = O. Set b =1, avec dpLi1 =dQtiJ" QPN DS-SS a =l. Oetb=O BPSK DS-SS a = 0. 5etb=1savecdpLiL=dQLlv Q dP Lil, dQ Lilt avec, p puissance transmise d P/Q, i symboles de données (d P/Q, i E [-1, 1]) n,Q i bit ("chip") d'un mot de code réparti de longueur Ljp,.e[-l,l] T = 1/1 durée d'un bit d'une séquence de pseudo-bruit (ou durée d'un"chip") g T (t) forme de l'impulsion d'un bit ou"chip"par exemple SRC M longueur des symboles de donnée dans la durée d'un bit ou"chip" Li lm = int (ilm) = int (i/M) #i#M =imodM Après transmission par un canal avec addition de bruit blanc Gaussien (AWGN) qui présente une densité spectrale symétrique N, le signal reçu filtre r (t) est donné par la formule (3-2) g (t) = gT (t) ## (t) désigne l'écart résiduel de la fréquence de porteuse après mélange du signal dans la bande de base. (t) désigne la phase de la porteuse du signal reçu. En raison de la similitude entre les composants en phase et en quadrature du signal selon la formule 3-2, on choisit de ne conserver que la composante en phase pour la suite. De ce fait, les symboles p, q désignant ces deux situations n'ont pas été conservés pour alléger la notation. La formule 3-2 devient alors : pour un système de type BPSK DS-SS par exemple. La figure 1 est un modèle de trajet multiple utilisable pour montrer l'effet des trajets multiples sur la boucle DLL. En plus du signal direct provenant du satellite, l'antenne reçoit une seconde version retardée de ce même signal, dénommée composante "multi-trajets", due à une réflexion, le retard de ce deuxième signal provenant du trajet plus long qu'il a du parcourir. La somme de ces deux signaux reçus par l'antenne peut s'exprimer par la formule suivante : avec a atténuation du signal réfléchi par rapport au signal direct Ar retard du signal réfléchi par rapport au signal direct rp = 2, T. Ar. fc/c décalage de phase de la porteuse du signal réfléchi par rapport au signal direct (c : vitesse de lumière, fc : fréquence de la porteuse) Après filtrage (voir formules 3.2 et 3.3), on obtient : L'explication a été donnée en tenant compte d'une seule réflexion. En pratique, il existe plusieurs composants correspondant à des trajets réfléchis multiples qui se superposent au signal direct. Le document de R. de GAUDENZI et al., déjà mentionné, met en oeuvre une boucle DLL dont l'architecture sera rappelée ci-après, en relation avec la figure 2. On remarquera : - que le convertisseur analogique-numérique pourrait être disposé à un autre endroit ; - que le décalage temporel destiné à aligner le signal de réflexion local sur le signal reçu, peut être appliqué, soit au signal de référence local, soit au signal reçu. Le signal en bande de base r (t) obtenu par filtrage par un filtre de caractéristiques GT (f) est échantillonné à deux fois la fréquence de bit ou "chip", c'est-à-dire à 2fc. Les échantillons correspondant à des instants "demi-entiers" (k + 0,5) Tc + X sont dirigés vers la boucle DLL, alors que les autres échantillons correspondant à des instants"entiers"kTc + r sont dirigés vers la corrélation ponctuelle et le suivi de la phase de la porteuse et la démodulation des données (circuit NCO). Les échantillons correspondant à des instants semi-entiers sont donnés par : Ces échantillons y, sont dirigés suivant deux branches. Dans la branche supérieure (sur la figure 2), les échantillons sont retardés d'un bit ou"chip"Tc avant d'être multipliés par la keme valeur du code de répartition C'kl généré localement par le générateur de code SCGEN. Cette multiplication est suivie dans chacune des branches par un filtrage passe-bas Hb (Z). On obtient ainsi des échantillons : h#b désignant la réponse impulsionnelle du filtre passe-bas. La bande passante ce filtre est limitée en pratique vers le bas par : > le rythme fs (fs = fe/M) des symboles de données, faute de quoi on perd de l'énergie utile, ou > la dynamique entre le transmetteur et le récepteur ; la distance entre le transmetteur et le récepteur est supposée constante vis-à-vis de la bande passante de Hb (z). Le signal d'erreur ek est généré de la manière suivante ; Pour obtenir un signal d'erreur directement exploitable par le circuit opérationnel NCO, le signal ek est en général filtré par un autre filtre numérique, le filtre de boucle, dont la fonction de transfert est Hd (z). Etant donné que ek est indépendant des symboles de données, les caractéristiques de Hd (z) sont principalement déterminées par la réponse souhaitée de la boucle DLL à la dynamique entre le transmetteur et le récepteur, la boucle d'estimation de phase devant être à même de suivre une distance linéaire croissante ou décroissante entre le transmetteur et le récepteur sans erreur résiduelle de suivi. La caractéristique n (#) indique la dépendance du signal d'erreur ek en fonction de l'erreur de phase de code e. n (#) = [eJek=eVk] (3.9) E ] désignant la probabilité On a : n (e) = g' [ (e-0. 5) TJ-g% + 0. 5) TJ (3. 10) avec un codage SRC de facteur d'atténuation p, g (ETc) vaut : La fonction d'auto-corrélation g (ETc) avec ss = 0.35 est montrée à la figure 3a. Les échantillons avancés E et retardés L selon (3.8) sont indiqués pour E = 0 (pas d'erreur de phase de code). Selon la formule (3.10), la courbe en S qui en résulte est illustrée à la figure 3a. A l'aide de cette courbe, la boucle DLL commande l'interpolateur de sorte que le signal reçu est aligné avec le signal généré localement (c'est-à-dire E = 0). Le discriminateur selon l'invention (figure 4) met en oeuvre deux échantillons avancés E1 (Zk) et E2 (Z#-) à des instants (# - t1)Tc et (2 - t2) Te, qui sont générés selon la formule : (E-t2) Tc # R(#) désignant la partie réelle # Kss est une constante # Sss est un décalage 'Les deux échantillons E2 et E1 sont définis (Voir (3. 7)) par : avec par exemple t1 = 1, 5 et t2 = 0,5 On peut également générer ces deux échantillons en décalant la réplique locale du code selon la formule : Le décalage doit être choisi pour que la valeur attendue du signal d'erreur E [ek] soit nulle lorsque l'erreur de la phase du code EK est nulle. En appliquant la formule (3-12), il en résulte : Le facteur de pente Kss est de préférence choisi pour que la valeur de la pente Il en résulte : avec par exemple t, = 1,5 et t2 = 0,5 Comme le montre la formule (3.12), le discriminateur eK selon l'invention est indépendant de la phase (D de la porteuse. Cette dépendance est en effet supprimée grâce au fait que l'on génère le rapport ZK'/ZK- La fonction d'autocorrélation g (t) pour p = 0,35 est représentée à la figure 3b. Le module discriminateur peut être utilisé de deux façons : - soit il peut directement remplacer un discriminateur connu, - soit il peut être intégré à un discriminateur connu pour fournir des signaux de correction en boucle ouverte pour réduire l'erreur multi-trajets induite. La figure 4 représente le bloc diagramme d'une branche DLL incluant un module discriminateur selon l'invention. En comparant les figures 2 et 4, on voit que : La branche qui générant Zk à la figure 2 est remplacée par une branche qui génère z ; - avec un élément de retard d'une quantité 2T ; Le calcul du signal d'erreur eK en fonction de Zk est réalisé dans le circuit DISCR avec la formule 3-12 correspondant au module selon l'invention. Dans le cas d'un signal de type SRC, la courbe en S n z est donnée par : avec par exemple t1 = 1, 5 et t2 = 0,5. Le module discriminateur correspond avec une bonne approximativement au comportement recherché, à savoir que la sortie de la courbe en S est proportionnelle à l'entrée e (e=K. s) pour-0, 5 En choisissant Kss selon la formule, on a 3-14, K = 1 et e =E. Le module discriminateur peut être utilisé pour une estimation en boucle ouverte pour corriger la sortie de phase de code d'un module connu, comme illustré par la figure 4. Par rapport au module de la figure 4, on dispose une branche supplémentaire avec un élément de retard 2Tc pour générer le signal ZK-. Un filtre numérique H10m (z) peut être mis en oeuvre comme Co filtre passe-bas de la sortie du nouveau module discriminateur. Le fonctionnement de la branche DLL reste inchangé par rapport au cas de la figure 2. La phase du code est corrigée par la sortie du nouveau module discriminateur qui est alimentée par le filtre passe-bas H10rr (z). Le Co nouveau module étant moins affecté par les trajets multiples, l'écart contenu dans la phase estimée du code de la branche DLL peut être en grande partie corrigé. En variante, la formule peut être remplacée par une fonction d'amplitude : À étant un nombre non nul compris entre-1 et +1. Selon une autre variante, le signal d'erreur ek peut être déterminé par : Cette expression est particulièrement adaptée à une correction en branche ouverte (figure 5). En raison de l'effet de moyenne de sorties des filtres passe-bas (Zk +Z ;)/2, la puissance du bruit )/2, la puissance du bruit dans la variable résultante est en effet divisée par deux, ce qui conduit à un plus faible bruit dans le signal ek. On notera que les instants d'échantillonnage t1 = 1,5 et t2 = 0, 5 peuvent avoir d'autres valeurs, et que l'écart t1 - t2 entre ces instants d'échantillonnage peut être différent d'un bit ou"chip". REVENDICATIONS 1. Module discriminateur de trajets multiples pour un système de communication et/ou de navigation qui met en oeuvre une modulation à spectre réparti, module qui présente une entrée apte à recevoir des signaux de navigation, un échantillonneur pour fournir des signaux échantillonneurs à une fréquence double de la fréquence apparente fc du code desdits signaux, ainsi qu'un sous-module de calcul d'un signal d'erreur ek à partir desdits signaux échantillonnés (+1/2) et d'un code de répartition ci KI L généré localement, caractérisé en ce que : Kp = constante h désignant la fréquence impulsionnelle d'un filtre passe-bas. e d un filtre passe-bas. ss désignant le facteur d'atténuation du signal SRC. ri+112 2. Module discriminateur de trajets multiples pour un système de communication et/ou de navigation qui met en oeuvre une modulation à spectre réparti, module qui présente une entrée apte à recevoir des signaux de navigation, un échantillonneur pour fournir des signaux échantillonneurs à une fréquence double de la fréquence apparente fc du code desdits signaux, ainsi qu'un sous-module de calcul d'un signal d'erreur ek à partir desdits signaux échantillonnés (rk+1/2) et d'un code de répartition cl Kl L généré localement, caractérisé en ce que : À étant compris entre-1 et + 1 Kip = constante hkb désignantlaf hb désignant la fréquence impulsionnelle d'un filtre passe-bas. passe-bas. ss désignant le facteur d'atténuation du signal SRC. 3. Module discriminateur de trajets multiples pour un système de communication et/ou de navigation qui met en oeuvre une modulation à spectre réparti, module qui présente une entrée apte à recevoir des signaux de navigation, un échantillonneur pour fournir des signaux échantillonneurs à une fréquence double de la fréquence apparente fc du code desdits signaux, ainsi qu'un sous-module de calcul d'un signal d'erreur ek à partir desdits signaux échantillonnés (ru+1/2) et d'un code de répartition CI KI L généré localement, caractérisé en ce que : ss = constante h désignant la fréquence impulsionnelle d'un filtre passe-bas. p sionnelle d un filtrn ç passe-bas. p désignant le facteur d'atténuation du signal SRC. 4. Module discriminateur selon une des revendications 1 à 3, caractérisé en ce que : E désignant l'erreur de phase du code. 5 Module discriminateur selon une des revendications précédentes, caractérisé en ce que tel-12 = 1. 6 Module discriminateur selon la revendication 5, caractérisé en ce que t1 = 1, 5 et t2 =0, 5. 7 Module discriminateur de trajets multiples pour un système de communication et/ou de navigation qui met en oeuvre une modulation à spectre réparti, module qui présente une entrée apte à recevoir des signaux de navigation, un échantillonneur pour fournir des signaux échantillonneurs à une fréquence double de la fréquence apparente fc du code desdits signaux, ainsi qu'un sous-module de calcul d'un signal d'erreur ek à partir desdits signaux échantillonnés et d'un code de répartition Cl Kl L généré localement, caractérisé en ce que le sous module met en oeuvre le calcul de la partie réelle d'un rapport de deux valeurs de corrélation en avance par rapport avec la valeur de phase réelle, ces valeurs provenant d'une corrélation entre le signal reçu et un signal de code de référence généré localement. 8. Système de navigation, caractérisé en ce qu'il présente un module discriminateur selon un des revendications précédentes. 9. Système de navigation, caractérisé en ce qu'il présente un module discriminateur générant un signal d'erreur e'k assurant, de manière connue en soi, une correction en boucle fermée à partir de signaux échantillonnés Z K et Z k auquel est associé un module discriminateur K K selon une des revendications précédentes pour générer en boucle ouverte un signal de correction de la sortie de phase du code.