FR 2805689 A1 20010831 FR 0002548 A 20000229 La présente invention concerne un procédé et un dispositif d'estimation des paramètres d'un canal de propagation, pour décoder des signaux numériques, en utilisant une séquence d'apprentissage ou de référence connue du récepteur. Les signaux sont transmis par trames successives, chaque trame étant partitionnée en un nombre déterminé de créneaux temporels. L'invention s'applique par exemple pour démoduler un signal numérique à large bande ou à spectre étalé. L'invention trouve son application dans le domaine des réseaux cellulaires fonctionnant sur le principe du CDMA (abréviation anglaise de Code Division Multiple Access), tels que les réseaux basés sur la norme IS95 en service depuis plusieurs années aux USA, ou encore ceux basés sur la norme UTMS (abréviation anglaise de Universal Mobile Télécommunication System) qui devraient être opérationnels en Europe au moins à l'horizon de l'an 2002. Elle s'applique notamment dans le cadre des radiocommunications mobiles. Le procédé selon l'invention peut sans sortir du cadre de l'invention s'appliquer à des canaux de propagation de nature quelconque. Dans un système CDMA tous les utilisateurs partagent la même bande et utilisent des formes d'onde spectralement étalées à l'aide de codes, chaque utilisateur ayant son propre code. A titre indicatif, une description d'un tel système peut être trouvée dans une des références suivantes : [2] W. C.Y. LEE, "Overview of cellular CDMA ", IEEE Transactions on vehicular technology, vol. 40, n 2, Mai 1991 ou [3] R.L. PICKHOLTZ, D.L. SHILLING et L.B. MILSTEIN, " Theory of spreadspectrum communications - A tutorial ", IEEE Transactions on communications, vol. com-30, n 5, pp 855-884, Mai 1982. Le principe de l'étalement de spectre par séquence directe est de découper un bit utile de durée T en NG impulsions ou chips de durée T'=T/NG . La bande W' du signal résultant est ainsi NG fois plus grande que celle du signal utile W, ce qui permet théoriquement un rythme de modulation NG fois plus grand. Les séquences d'impulsions ou codes, sont en général des séquences pseudo-aléatoires (séquences PN), conçues pour avoir des propriétés d'autocorrélation et d'intercorrélation particulières (idéalement, l'autocorrélation est impulsionnelle et les corrélations entre codes sont nulles). De telles séquences sont décrites par exemple dans les deux ouvrages : [1]: J. G. PROAKIS , "Digital communications ", McGraw Hill et la référence [2] précitée. A la réception, chaque utilisateur (ou canal de transmission) est démodulé par une opération de corrélation avec son code d'étalement, connu du récepteur. Ce traitement est un filtrage adapté qui apporte un gain de réception égal au rapport entre la bande étalée et la bande utile initiale représentée à la figure 1. Le concept CDMA permet non seulement l'accès multiple (grande combinatoire offerte par les codes pseudo-aléatoires, pour attribuer un code différent à chaque utilisateur) mais aussi une robustesse accrue au brouillage (intentionnel ou non) et aux mauvaises conditions de propagation (trajets multiples, fading, ...). Actuellement, il est connu d'utiliser une forme d'onde étalée spectralement pour résister efficacement au phénomène de trajets multiples (ce phénomène apparaît pour divers canaux de propagation et en particulier pour le canal radiomobile) et même d'en tirer profit pour lutter contre l'évanouissement ou fading (variations aléatoires de l'amplitude et de la phase du signal). En effet, si Tm est l'étalement temporel du canal et si W est la largeur de bande du signal émis, alors il est possible théoriquement d'isoler en réception TmW composantes (une largeur de bande W permet en réception, par corrélation, d'isoler des trajets avec une résolution temporelle égale à 1/W), qui correspondent physiquement aux différents trajets de propagation. Tout ou partie de ces composantes sont indépendantes et il est possible de les recombiner de façon à accroître ou maximiser le rapport signal sur bruit. On obtient ainsi un effet de diversité exploitant l'indépendance statistique des différents trajets de propagation constituant le signal reçu. Cette technique de diversité a été proposée initialement par Price et Green en 1958 qui ont donné le nom de récepteur RAKE au traitement optimal (le récepteur isole chaque trajet puis fait une recombinaison d'où l'analogie avec un rateau de jardinerie). Ce traitement, qui somme de manière cohérente tous les trajets, consiste simplement en un filtrage adapté au signal reçu c'est à dire adapté au canal (on montre que ce traitement est optimal dès lors que l'on considère la réception d'un seul utilisateur ou code, tous les autres utilisateurs constituant un bruit possédant la propriété d'être blanc et gaussien). A ce propos, on se reportera par exemple à l'ouvrage Digital communications aux éditions McGraw Hill ayant pour auteur J.G.Proakis. La mise en #uvre du récepteur RAKE suppose donc la connaissance de la réponse impulsionnelle du canal, c'est à dire des amplitudes complexes de tous les trajets. En pratique, il est possible de disposer d'une estimation de ces amplitudes qui tient compte des différentes caractéristiques du canal de propagation (étalement temporel, fading) et en particulier ses différentes échelles de fluctuation (fading rapide et fading lent). Sur le canal radiomobile, on distingue généralement deux échelles de variation des caractéristiques de propagation décrites par exemple dans l'ouvrage ayant pour auteur D. Parsons édité chez Pentech Press en 1992 sous le titre The mobile radio propagation channel . La première échelle correspond au fading rapide (ou fading de Rayleigh), qui induit une variation des amplitudes et phases des trajets au bout d'un temps de l'ordre du temps de cohérence du canal (inverse de la bande Doppler du canal). Dans le contexte radiomobile, ce temps de décorrélation (intervalle de temps pour lequel deux réalisations de l'amplitude complexe d'un trajet sont décorrélées) correspond à une avancée du mobile de l'ordre de la demie-longueur d'onde de la fréquence porteuse référence [4]. A cette échelle de temps, les temps de retard des trajets sont constants. La seconde échelle de fluctuation correspond au fading lent (ou fading à long terme), dû aux effets de masquage et aux changements d'environnement. Ce phénomène induit d'une part une modification de la puissance moyenne des trajets, et d'autre part une évolution significative des temps de retard des trajets ; des trajets sont également susceptibles d'apparaître et d'autres de disparaître. Le temps de décorrélation (ou la distance de décorrélation) associé au fading lent dépend du canal, c'est à dire du type d'environnement dans lequel le mobile évolue. En pratique, ce temps de décorrélation est nettement supérieur (au moins un ordre de grandeur) à celui associé au fading rapide. Par exemple, l'ETSI dans le cadre de l'UMTS, indique une distance de décorrélation du fading lent, pour un environnement urbain, environ égale à 20 mètres ; cela conduit à un rapport d'environ 300 (20/(#/2) avec # = c/f et f = 2.109 Hz) entre les temps de décorrélation à long et court terme. L'objet de l'invention concerne un procédé permettant l'estimation dynamique du canal de propagation, tenant compte des différentes fluctuations évoquées précédemment, dans le but de démoduler un signal numérique. Le procédé s'applique notamment dans les cas suivants : # Réception mono-utilisateur, c'est à dire que l'on s'intéresse à la démodulation d'un seul utilisateur, tous les autres étant considérés comme du bruit (pas de détection conjointe ou détection multi-utilisateurs) ; # Emission d'une séquence de référence, en plus des données utiles, dédiée à l'estimation du canal de propagation ; # Le canal de propagation est fluctuant ; # L'étalement temporel du canal est inférieur à la durée d'un bit utile. Ainsi, l'interférence inter-symboles peut être négligée et la mise en oeuvre d'un égaliseur en aval du récepteur RAKE n'est pas nécessaire. Chaque bit ou symbol utile est démodulé indépendamment des autres bits ou symboles utiles ; # Le canal peut être considéré comme constant pendant la durée d'un bit ou symbol utile (Tcoherence T, où Tcohérence est le temps de cohérence du canal). On désigne sous le mot symbole une unité d'information, l'expression symbole d'apprentissage ou pilote correspond à une unité d'information du signal connu. L'invention concerne un procédé d'estimation d'un canal de propagation, entre une source d'émission de données et un récepteur, en utilisant au moins une séquence d'apprentissage comportant des symboles dits symboles pilotes , ladite séquence étant connue du récepteur, pour décoder un signal de données (signal numérique), les signaux étant transmis par trames successives, chaque trame étant partitionnée en un nombre déterminé de créneaux temporels. Il est caractérisé en ce qu'il comporte au moins les étapes suivantes : a) choisir une fenêtre de recherche, estimer l'amplitude complexe et l'énergie de chaque trajet prépondérant k situé dans la fenêtre de recherche pendant la durée de chacun des créneaux temporels et démoduler les bits de données (bits utiles), b) mettre à jour l'énergie de chaque trajet possible de la fenêtre de recherche tous les K créneaux, et c) sélectionner tous les K*L créneaux, les trajets k d'énergie prépondérants. L'invention concerne aussi un dispositif permettant d'estimer un canal de propagation entre un moyen d'émission et un moyen de réception afin de démoduler les données utiles reçues. Il est caractérisé en ce qu'il comporte au moins un microprocesseur ou dispositif adapté pour mettre en #uvre le procédé selon l'invention, le signal pouvant être un signal étalé et être démodulé selon le principe RAKE. Le dispositif et le procédé selon l'invention s'applique pour démoduler un signal à bande étalé de type CDMA, tel qu'un signal de type UMTS. Le procédé selon l'invention offre notamment l'avantage de disposer en temps réel d'un ou de plusieurs paramètres estimés d'un canal de propagation, de mettre à jour ces paramètres afin d'améliorer la démodulation des signaux reçus par un récepteur fonctionnant sur le principe du RAKE. L'amélioration consiste notamment à s'affranchir des variations des paramètres du canal tels que l'étalement temporel, la variation en amplitude et en phase d'un trajet. L'invention sera mieux comprise à la lecture de la description qui suit à titre illustratif et nullement limitatif d'un exemple relatif à l'estimation d'un canal de propagation de signaux numériques de type UMTS où : # la figure 1 représente un schéma d'étalement de spectre, # la figure 2 schématise une forme d'onde pour la liaison montante d'un émetteur à un récepteur, # la figure 3 schématise un synoptique émission-réception d'une onde UTMS selon l'invention, # la figure 4 montre schématiquement les périodes de réalisation des trois étapes du procédé selon l'invention sur la trame d'un signal, # la figure 5 est un exemple d'organigramme d'une estimation d'un canal de propagation mis en #uvre dans le mode de l'invention plus particulièrement décrit ci-après, et # les figures 6 à 9 détaillent les étapes de la figure 5 sous la forme d'organigrammes. Avant d'exposer les différentes étapes du procédé selon l'invention, le paragraphe ci-après a pour but de permettre au lecteur d'appréhender les principes du récepteur RAKE utilisé dans l'exemple donné à titre illustratif et nullement limitatif. Considérons l'émission d'un signal modulé en BPSK (Binary Phase Shift Keying) au rythme Ts (l'extension à d'autres modulations de phase ne pose pas de problème: la structure du récepteur est identique, seule la procédure de décision en aval est modifiée) et étalé par séquence directe avec un gain N = Ts / Tc où Tc est la durée du chip. Le signal émis est donc de la forme (bande de base): où Ps est la puissance du signal, et d(t) la séquence de bits utiles, dk = 1, de façon équiprobable, gTs est l'impulsion utilisée pour véhiculer l'information, supposée rectangulaire ici par souci de simplicité : c (t) est le code d'étalement ayant idéalement une fonction d'autocorrélation impulsionnelle (c'est à dire que la corrélation entre deux versions du code décalées d'un temps quelconque non nul vaut 0), avec ck = 1 Si la réponse impulsionnelle du canal a pour expression: c'est à dire que le canal de propagation est constitué de Nt trajets, d'amplitudes complexes ak ej#k et de temps de propagation #k, avec V i * j 1'(1 -'(JI Tc (autrement dit tous les trajets sont discernables) alors le signal reçu (complexe en bande de base) a pour expression: où n (t) représentele bruit thermique, supposé centré gaussien complexe, temporellement blanc et décorrélé du signal utile, de densité spectrale No. Le principe du RAKE est d'isoler les contributions de chaque trajet puis de les recombiner en cohérence de phase de façon à optimiser le rapport signal sur bruit. Dans toute la suite, on supposera que l'interférence inter-symbole est négligeable, autrement dit que la durée d'un symbole est grande devant l'étalement temporel du canal. Cette hypothèse est souvent vérifiée dans la pratique et elle est adoptée, explicitement ou implicitement, par la plupart des auteurs. Le récepteur RAKE sera donc mis en oeuvre indépendamment sur chaque symbole dk. On suppose par ailleurs que le canal est constant pendant la durée d'un symbole utile (#tc Ts , #tc étant le temps de cohérence du canal). La contribution d'un trajet est obtenue en corrélant le signal reçu avec le code d'étalement décalé du retard du trajet considéré, supposé connu. Ainsi, la contribution du trajet de retard #i calculée sur le symbole d'indice k, est donnée par (par souci de simplicité, on suppose que les échantillons du signal sont reçus au rythme chip): Le développement de (E2) à l'aide de (E1) conduit à trois termes, le premier constituant la partie utile et les deux autres constituant la partie parasite: Le code d'étalement est conçu de sorte que deux versions décalées, d'un temps supérieur à la durée du chip, soient approximativement décorrélées (l'interférence inter-trajet est ainsi minimisée): La contribution du trajet i se récrit donc: b, (k) étant le terme parasite regroupant le bruit thermique et l'interférence créée par les autres trajets. Un calcul simple montre qu'en l'absence de l'interférence inter-trajets, la puissance du bruit b, (k) vautNo/Ts. Le problème se pose à présent de la manière suivante : des Nt contributions r, (k) suppose ici que le nombre de prises du récepteur est égal au nombre réel de trajets), on cherche un jeu de poids complexes (w1, W2, ..., wNt) tel que le rapport signal sur bruit du signal recombiné r (k) maximum: où w,* est le complexe conjugué de w,. Le rapport signal sur bruit de r (k) défini par (E(x) désigne la valeur moyenne de x): Si l'on suppose que les termes de bruit associés à chaque trajet b, (k) sontdécorrélés et de même puissance moyenne Pb alors la pondération optimale est donné par (inégalité de Schwartz): wi=kaiej#i où k est une constante arbitraire. Chaque trajet est donc pondéré conformément à son rapport signal sur bruit propre. En définitive, le récepteur RAKE optimal calcule donc, pour le symbole k, la quantité (en supposant parfaite l'estimation des paramètres du canal): et le symbole est décidé en comparant la partie réelle (théoriquement, au bruit près, r (k) estréel) de r (k) 0 (en BPSK). Le rapport signal sur bruit obtenu vaut: C'est la somme des rapports signal à bruit relatifs à chacun des trajets. Le traitement RAKE est optimal en l'absence d'interférences entre symboles (au sens strict, cela signifie que le canal de propagation ne contient qu'un seul trajet ou que la fonction d'autocorrélation du code est idéale) et si le bruit (bruit thermique + interférences inter-utilisateurs) est blanc (ce qui signifie que les codes des différents utilisateurs sont orthogonaux pour tous les décalages temporels possibles). La mise en oeuvre du récepteur RAKE, décrit par l'équation (E3), suppose que les amplitudes complexes ak ei#k et les retards #k des trajets sont connus. En pratique, on ne peut obtenir qu'une estimation de ces paramètres, qui en général est réalisée grâce à l'émission d'une séquence de symboles connue du récepteur (désignée par le terme séquence de référence ou séquence pilote ou encore séquence d'apprentissage). L'estimation du canal doit être mise à jour à une fréquence cohérente avec les vitesses de variation (étalement Doppler) des différents paramètres ak ,#k et ik . Enfin, si le canal varie lentement vis à vis de la durée d'un symbole (Ts), il est possible de faire cette estimation en utilisant plusieurs symboles consécutifs ce qui permet d'obtenir des estimées plus fiables. L'exemple de mise en #uvre est décrit ci-après dans une application des réseaux cellulaires fonctionnant sur le principe du CDMA ( Code division Multiple Access), tels que précités. La figure 2 décrit une forme d'onde de type UTMS utilisée pour la liaison montante, c'est-à-dire d'une station mobile vers une station de base. La structure de la trame de l'onde est composée par exemple de plusieurs slots Si ou créneaux temporels, i étant l'indice du slot. Chaque créneau comporte les données utiles correspondant au slot DPDCH (en abrégé en anglais Dedicated Physical Data Channel) au nombre Ndata par exemple et les données de contrôle ou slot DPCCH (en abrégé en anglais Dedicated Physical Control Channel) qui sont transmises en parallèle via un multiplexage complexe sur voies en phase et en quadrature. Les données utiles sont transmises sur la voie en phase (voie I) (figure 3) et les données de contrôle sont transmises sur la voie en quadrature (voie Q) sur cette même figure 3. Les données utiles et de contrôle sont modulées par exemple en BPSK (Binary Phase Shift Keying) et le signal obtenu après multiplexage est donc modulé en QPSK (Quadrature Phase Shift Keying). Chaque trame, de durée 10 ms, est constituée par exemple de 16 créneaux temporels de durée 0. 625 ms. La séquence de contrôle schématisée sur la figure 2 est composée de Npilot bits connus du récepteur utilisés dans le procédé d'estimation de canal selon l'invention, de bits de commande servant au contrôle de puissance Ntpc bits, et de bits indiquant le débit utilisé sur le canal de données utiles Nri bits. Le nombre de total de bits de contrôle est par exemple fixé à 10. La répartition numérique et la disposition de ces trois types de contrôle seront fixées par exemple par la norme UMTS exposée dans la référence [5] ETSI, Universal Mobile Télécommunications System (UMTS) ; UMTS Terrestrial Radio Access (UTRA) ; Concept evaluation", UMTS 30. 06 version 3. 0.0, TR 101 146 V3.0.0 (1997-12). Les bits de données utiles et de contrôle sont par exemple étalés par des codes orthogonaux de Walsh [5], de façon à rallier le débit chip ou impulsion à 4. 096 MHz. Le facteur d'étalement (ou gain d'étalement) utilisé pour les bits utiles est choisi par exemple en fonction de leur débit, plus le débit utile en entrée est faible, plus ce facteur d'étalement est faible. En désignant par k le nombre de bits pour les canaux de données utiles (DPDCH) et de contrôle (DPCCH), il est relié au facteur d'étalement SF par la relation SF = 256/2k. Le facteur d'étalement peut donc prendre des valeurs comprises entre 256 et 4. Les facteurs d'étalement relatifs à la voie de données et à la voie de contrôle peuvent être différents dans la mesure où le nombre de bits ou de symboles véhiculés par créneau peuvent être différents. La figure 3 représente un diagramme d'étalement, de modulation et d'embrouillage d'un signal. Après étalement par leurs code respectifs, le signal est embrouillé par un code d'embrouillage primaire lié à la station mobile (C'scramb). Le signal résultant peut, de façon optionnelle, être embrouillé une seconde fois par un code d'embrouillage secondaire (C"scramb). Le code d'embrouillage primaire est un code complexe généré à partir de séquences de KASAMI (ref) de longueur 256. Le code d'embrouillage secondaire a une longueur de 40960 chips (durée de 10 ms) et constitue un segment d'un code de Gold (ref) de longueur 241 - 1. Le signal émis à partir de la station mobile est mis en forme dans le bloc 10, il est ensuite transmis vers un filtre d'émission 11, puis il est reçu au niveau de la station de base. Cette station de base ou de réception comporte un filtre de réception 13 suivi d'un bloc de réception 14 comportant par exemple un récepteur 15 de type RAKE et des moyens tels qu'un microprocesseur 16 programmé pour mettre en #uvre les étapes du procédé selon l'invention, afin d'estimer les paramètres du canal de propagation et démoduler les signaux numériques. Description des étapes mise en oeuvre au cours du procédé Le principe de l'invention est de démoduler les bits ou symboles utiles en utilisant un algorithme de démodulation se composant de deux parties, la première consiste à estimer le canal et la seconde à démoduler les symboles ou bits utiles. Les caractéristiques des canaux de propagation tels que l'étalement temporel, l'étalement Doppler peuvent être quelconque. La seconde partie est effectuée selon l'algorithme RAKE connu de l'Homme du métier, des détails pouvant être trouvés dans la référence de Proakis précitée. Selon l'invention, l'estimation du canal est réalisée en mettant en oeuvre un algorithme comportant au moins les trois étapes décrites ci-après. Ces étapes sont effectuées par exemple par traitement du signal numérique reçu après filtrage adapté à la réception par la fonction de mise en forme des impulsions de type racine de Nyquist par exemple et correction d'un éventuel décalage Doppler. Première étape : Tous les créneaux temporels, toutes les #t1 secondes, par exemple tous les 0. 62 ms, le procédé : # estime l'amplitude complexe de tous les trajets sélectionnés, par corrélation avec la séquence de référence. Les trajets sélectionnés correspondent aux trajets retenus lors de la troisième étape ou pour l'initialisation de trajets sélectionnés en comparant l'énergie d'un trajet à une valeur seuil, # démodule les bits utiles par recombinaison en phase de ces trajets. Deuxième étape Tous les K créneaux, toutes les #t2 secondes, le procédé effectue la mise à jour de l'énergie des trajets dont les retards appartiennent à la fenêtre de recherche avec un pas d'analyse donné. Cette étape alliée à la troisième étape permet de faire le suivi à long terme des trajets présents dans la fenêtre. Troisième étape : Tous les K*L créneaux, toutes les #t3 secondes, le procédé opère la mise à jour de la sélection des trajets prépondérants pris en compte pour la démodulation RAKE. Les périodes de réalisation Ati , #t2, #t3 de ces étapes exprimées en seconde sont par exemple choisies pour vérifier la relation #t1 > #t2 > #t3. Dans la suite de la description, # Certaines étapes de l'algorithme, connues de l'Homme du métier ne sont pas détaillées (filtrage de Nyquist à la réception, gestion du flot de données, ...) ; # On suppose que la correction d'un éventuel décalage Doppler est effectuée ; # Les vecteurs et les matrices sont notés en gras ; # X est le complexe conjugué du scalaire ou du vecteur X ; x@ * y est le produit scalaire (euclidien ou hermitien) des vecteurs x et y ; le vecteur x décrit entre indice~début et indice~fin avec un pas resol est noté : x(indice~début : indice~fin : resol) A l'entrée de l'algorithme, le fichier d'échantillons est composé d'échantillons complexes obtenus après filtrage demi-Nyquist (émission) et suréchantillonnage du signal UMTS. En sortie de l'algorithme, le fichier obtenu est composé d'un fichier de bits de données démodulés et desétalés (valeurs complexes). Ces bits sont prêts à être décidés par exemple selon le principe énoncé ci-dessus. La liste des paramètres clé de l'invention et des variables utilisées dans la description algorithmique est donnée sous forme de deux tableaux 1 et 2 annexés. Le procédé se déroule suivant les étapes 21 à 27 de l'organigramme représenté à la figure 5. Ces étapes sont appliquées pour chaque créneau temporel c'est-à-dire toutes les #t1 secondes. Le procédé commence par une étape d'initialisation 20 de différentes valeurs notamment : la taille de la fenêtre de recherche exprimée en secondes et en échantillons : Taille~fen~rech, Etal~temp~max; le facteur de sous-échantillonnage des retards Sous~ech~retard ; le facteur d'oubli , utilisé au cours de la deuxième étape, la valeur seuil Seuil~puissance pour la sélection des trajets lors de la troisième étape ; la fréquence de mise à jour des puissances K et le facteur de mise à jour des retards L. Elle comporte aussi l'initialisation d'un tableau comprenant les trajets prépondérants déterminés par exemple en comparant l'énergie d'un trajet à la valeur seuil et en retenant uniquement les trajets dont l'énergie est supérieure à cette valeur seuil. Les échantillons sont filtrés au moyen d'un filtrage de type demi-Nyquist par exemple. Le procédé commence à l'étape 21 par un calcul de l'amplitude complexe des trajets retenus lors de la troisième étape. Les amplitudes complexes sont obtenues par exemple par corrélation entre les symboles pilote reçus (qui sont étalés) et le code relatif aux bits de contrôle (produit du code d'étalement et du code d'embrouillage primaire), l'élimination de la contribution des bits pilotes et le moyennage (par simple sommation des amplitudes estimées obtenues avec chacun des symboles ) sur les N~symbol pilotes ce qui permet notamment d'accroître le rapport signal/bruit. Les corrélations effectuées prennent en compte, au niveau du signal des symboles pilote reçus, les temps de retard identifiés au cours de l'étape 3. L'estimation de l'amplitude complexe des trajets retenus pour la démodulation pour chaque symbole pilote est réalisée par l'enchaînement des étapes suivantes décrites en relation avec la figure 6 Etape 30 Pour j = 1 à Nb~symbol~pilot Positionnement au début du symbole pilote numéro j Ind~debut~demod = Ind~centre~fen + (j - 1) * GE~contrôle * Nb~ech~chip Etape 31 -Calcul de la corrélation pour tous les trajets retenus Pour k = 1 à Nb~trajets Correlation~pilote(k,j) = Code~etal~controll* Signal(Ind debut demod +Retards(k)*Sous~ech~retard: Ind~debut~demod + Retards(k)*Sous~ech~retard + (GE~control - 1) * Nb~ech~chip : Nb~ech~chip) * Seq~symbol~pilot(j)* Fin Pour k = 1 à Nb~trajets Fin Pour j= 1 à Nb~symbol~pilot Etape 32 Calcul de l'amplitude complexe du canal Pour k = 1 à Nb~trajets 1 Nb ~ v mbnl ~ pilm Canal - estimé(k) -- Nb - symbols pilot l 1=1 Correlation- pilote(k, j) A% ~ symbols ~ pilot 1=1 Fin Pour k = 1 à Nb~trajets L'étape 22 (figure 5) suivante est une étape de démodulation des symboles utiles comportant une étape de désétalement et de démodulation selon le principe RAKE, et le déroulement des étapes décrites ci-après et à la figure 7 : Pour j = 1 à Nb~symbol~data Etape 33 - Positionnement au début du symbol utile numéro j Ind~debut~demod = Ind~centre~fenetre + (j - 1) * GE~data * Nb~ech~chip Etape 34 - Desétalement Pour k = 1 à Nb~trajets Correlation-data(k,j) = Code~etal-datal * Signal(Ind debut demod + Retards(k)*Sous~ech~retard: Ind~debut~demod + Retards(k)*Sous~ech~retard + (GE~control - 1) * Nb~ech~chip : Nb~ech~chip) Fin Pour k = 1 à Nb~trajets Etape 35 - Calcul des symboles utiles démodulés par recombinaison RAKE Symbol~data~demod(j) = Canal estimé(1 : Nb-trajets)-L * Correlation~data(1 : Nb~trajets j) Fin Pour j = 1 à Nb~symbol~data La deuxième étape du procédé réalisée tous les K créneaux, tous les #t2 secondes et correspondant à l'étape 23 (figure 5) consiste à mettre à jour l'énergie de chaque trajet situé dans la fenêtre de recherche et déterminer l'amplitude complexe du trajet. Ces deux étapes sont détaillées sur la figure 8. Le procédé effectue (étape 37) la corrélation entre chaque symbole pilote reçu et le code de contrôle, pour tous les retards possible compris dans la fenêtre de recherche et avec une résolution donnée. La résolution varie par exemple entre la durée de l'échantillon et la durée du chip. La fenêtre de recherche est par exemple centrée sur le centre courant de la réponse impulsionnelle du canal, le centre étant déterminé par exemple à l'étape 3, et sa taille étant égale au double de l'étalement temporel maximal pris en compte par l'algorithme. Dans un second temps (étape 38), le procédé effectue une moyenne des amplitudes complexes estimées au niveau du symbole pilote, sur l'ensemble des symboles pilotes, de façon à augmenter la qualité de l'estimation, ceci pour tous les trajets possibles. Enfin le procédé (étape 39) calcule la puissance instantanée C (k) ces trajets (carré du module des amplitudes complexes) que l'on utilise pour obtenir la puissance moyenne Clong~teme(k), à l'aide de la formule suivante (filtrage passe-bas du premier ordre) : C1ong~terme(k) = À C1ong~terme(k) + C(k) où # est un facteur d'oubli dont la valeur, à l'instar de celle du paramètre K, doit être choisie en fonction des caractéristiques du canal de propagation. Ce lissage permet de s'affranchir du fading rapide, qui peut provoquer ponctuellement une chute de la puissance instantanée d'un trajet fort. Mise à iour de l'énergie de chaque traiet contenu dans la fenêtre de recherche Cette mise à jour commence par la détermination d'un tableau, étape 37 contenant, pour tous les temps de retard possibles situés dans lafenêtre de recherche et pour chaque symbole pilote, les corrélations entre les symboles pilote reçus et la séquence d'étalement de contrôle Pour j = 1 à Nb~symbole~pilot Positionnement sur le symbol pilote numéro j Ind~debut~demod = Ind~centre~fenetre + (j-1) * GE~contrôle * Nb~ech~chip Corrélation entre les symboles pilotes reçus et la séquence de contrôle Pour k = 1 to Taille~fen~rech Correlation~pilote(k,j) = Code~etal~control@ * SignaI(Ind~debut~demod + k*Sous~ech~retard: Ind~debut~demod + k*Sous~ech~retard + (GE~control - 1) * Nb~ech~chip : Nb~ech~chip) * Seq~symbole~pilot(j ) Fin Pour k = 1 to Taille~fen~rech Fin Pour j = 1à Nb~symbole~pilot L'étape suivante 38 consiste pour chaque trajet dans la fenêtre de recherche à faire la moyenne des corrélations sur les Nb~symboles~pilot, à calculer le module de la corrélation et à mettre à jour l'énergie moyenne du trajet. Pour k = 1 à Taille~fen~rech 1 A~m/w/~('f Correl ~ pilot ~ moy(k)- Nb ~ symbol ~ pilot 1 Corrélation ~ pilote(k, j) Nb ~ symbol ~ pilot Puiss~inst~trajet(k) = module(Correl~pilot moy(k)) Puiss~moy~trajet(k) = , * Puiss~moy~trajet(k) + Puiss~inst~trajet(k)'' Fin Pour k = 1 à Taille~fen~rech L'étape 39 suivante correspond au calcul de l'amplitude complexe du canal Pour p = 1 à Nb~trajets Canal estimé(p) = Correl~pilot moy(Retards(p)) Fin Pour p = 1 à Nb~trajets L'étape 3 ou troisième étape du procédé est réalisée tous les K*L créneaux, tous les #t3 secondes par exemple en déroulant détaillées à la figure 9 composant l'étape 24 de mise à jour des trajets prépondérants qui sont utilisés lors de la première étape du procédé pour démoduler les signaux reçus. Le déroulement de ces étapes commence par exemple de la façon suivante : une étape 50 de calcul de la puissance moyenne maximale, suivie d'une étape 51 de sélection de tous les trajets pour lesquels le rapport entre leur puissance moyenne et la puissance moyenne dépasse un seuil, par exemple 0. 5. Selon une variante de mise en #uvre du procédé, après la sélection des trajets (étape 51), le procédé continue par une étape 52 de choix du meilleur peigne d'échantillonnage, les trajets retenus in fine sont séparés par un nombre entier de chips. A partir des trajets sélectionnés, le procédé détermine par exemple ensuite à l'aide d'étapes et de méthodes connus de l'Homme du métier le nombre de trajets sélectionnés sur le meilleur peigne et le vecteur Retards des indices des trajets retenus, étape 53. L'étape 54 consiste à calculer l'amplitude complexe des trajets sélectionnés. L'étape 55 suivante comprend une mise à jour du centre de la fenêtre de recherche, des tableaux contenant les valeurs des retards et des puissances moyennes pour les trajets sélectionnés. Mise à jour du choix des trajets retenus pour la démodulation Etape 50 - Calcul de la puissance moyenne maximale (parmi tous les trajets possibles) Puiss~moy~max = MAX(Puiss~moy~trajet) Etape 51 - Sélection des trajets dont la puissance moyenne dépasse le seuil Pour k = 1 à Taille~fen~rech SI ( Puiss~moy~trajet (k) > Puiss~moy~max * Seuil~puissance) Alors Selec~trajets(k) = Puiss~moy~trajet (k) Sinon Selec~trajets(k) = 0 FIN SI Fin Pour k = 1 à Taille~fen~rech Etape 52 - Détermination du meilleur peigne d'échantillonnage Dans un premier temps calcul de la puissance moyenne cumulée sur tous les trajets dépassant le seuil et situé sur le même peigne d'échantillonnage (les trajets d'un peigne donné sont séparés d'un nombre entier de chips) Nb~retard~chip = Nb~ech~chip / Sous~ech~retard Pour k = 1 à Nb~retard~chip - 1 Taille ~fen~rech Puiss ~ tot ~ peigne(k) ~ ! - Selec ~ trajets(k + p * Nb ~ retard ~ chip) p=0 Fin Pour k = 1 à Nb~retard~chip - 1 Puis dans un second temps le choix du meilleur peigne d'échantillonnage en déterminant la puissance totale cumulée maximale : Ind~meilleur~peigne = ARG(MAX(Puiss~tot~peigne)) Etape 53 - à partir des trajets sélectionnés, le procédé calcule à l'aide d'étapes connues de l'Homme du métier # le nombre Nb-trajets de trajets sélectionnés sur le meilleur peigne, qu'il peut comparer à un nombre déterminé par exemple Nb~trajets~max, et # le vecteur Retards(1 : :Nb~trajets) des indices des trajets retenus sur le meilleur peigne. Le procédé calcule ensuite lors de l'étape 54 et pour les trajets sélectionnés à l'étape 52 L'amplitude complexe ou l'estimée du canal courant Pour p = 1 à Nb~trajets CanaCestimé(p) = Correl~pilot moy(Retards(p)) Fin Pour p = 1 à Nb~trajets L'étape 55 comprend la mise à jour du centre de la réponse impulsionnelle du canal courant de façon à mettre à jour la position du centre de la fenêtre de recherche par un calcul du retard moyen : Retard~moyen = 0. 5 * (Retards(l) + Retards(Nb~trajets)) Et la mise à jour des tableaux Retards et Puiss~moy~trajet ainsi que la mise à jour de l'indice du centre de la fenêtre de recherche Ind~centre~fenetre Retards(l : Nb~trajets) = Retards(l : Nb~trajets) - Retard~moyen Ind~centre~fenetre = Ind~centre~fenetre + Retard~moyen Sous~ech~retard Dans le cas où le paramètre Num~slot n'est pas un multiple de K*L, le procédé traite le créneau temporel ou slot à l'aide de méthode connue de l'Homme du métier pour déterminer l'amplitude et la phase de chacun des trajets au cours de l'étape 26 figure 5 avant d'effectuer les étapes 21 et 22. Les paramètres K, L, #t1, #t2, #t3 ainsi que les autres paramètres internes, notamment la taille de la fenêtre de recherche, le pas de recherche des retards considérés dans la seconde étape, le nombre maximum de trajets pris en compte pour la recombinaison RAKE, le seuil pour la sélection des trajets doivent être choisis en fonction des caractéristiques du canal de propagation et le compromis performances/complexité numérique à respecter. Sans sortir du cadre de l'invention, la séquence d'apprentissage ou de référence est émise de manière séquentielle ou de manière parallèle à celle des données utiles. De même sans sortir du procédé selon l'invention, le canal est par exemple estimé plusieurs fois par créneau temporel, l'étape d'estimation de l'amplitude complexe étant réalisée en utilisant un nombre de symboles d'apprentissage inférieur au nombre total de symboles d'apprentissage disponibles sur un créneau temporel. Ce mode de mise en oeuvre du procédé est particulièrement intéressant pour des canaux fluctuants très rapidement. Il est également possible de faire de l'interpolation, de façon à disposer à tout moment d'une estimation d'un canal (filtrage linéaire à partir de plusieurs valeurs estimées du canal). Le procédé comporte par exemple une étape de décision des bits démodulés, ces bits décidés pouvant être utilisés pour améliorer l'estimation du canal. Les symboles d'apprentissage peuvent être consécutifs ou être distants dans le temps. Par exemple, d'autres symboles de contrôle peuvent être insérés entre les symboles d'apprentissage. Exemple de séquence de contrôle : ---: symboles d'apprentissage - : autre type de symbole de contrôle (type 1) === : autre type de symbole de contrôle (type 2) L'estimation du canal est obtenue par exemple par simple corrélation des symboles pilotes reçus avec la séquence d'apprentissage étalée, ce qui suppose implicitement que la séquence d'apprentissage étalée est blanche, sa fonction d'auto-corrélation étant un Dirac. Il est aussi possible de tenir compte du caractère non idéal de la séquence d'apprentissage en corrélant les symboles pilote reçus avec une version blanchie de la séquence d'apprentissage. Selon une autre variante de mise en #uvre du procédé, les trajets retenus lors de la troisième étape ne sont pas séparés d'un nombre entier de durée chips. ANNEXE Liste des paramètres clé de l'invention et des variables utilisées dans la description algorithmique. NOM Type de Description Valeur donnée typique Nb~symbole~ ENTIER Nombre de 8 pilot symboles pilote Nb~symbole ENTIER Nombre de Fonction du data ~~~~~~~~~~~~~~~~ symboles utiles débit GE~controle ENTIER d'étalement Gain 256 d'étalement voie contrôle GE~data ENTIER Gain Fonction du d'étalement voie data débit Nb~ech~chip ENTIER Nombre 2 ou 4 d'échantillons par chip Etal~temp~m REEL Taille de la 20.10-6 (1) ax fenêtre de recherche (secondes) Sous ech ret ENTIER Facteur de sous- 1/2/4(2) ard , échantillonnage des retards Taille~fen~re ENTIER Taille de la 656 (3) ch fenêtre (échantillons) REEL Facteur d'oubli 0.95 (mise à jour des puissances des . ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ trajets) ~~~~~~~~~~~ Seuil~puissan REEL Seuil pour la 0.5 (4) ce sélection des trajets K ENTIER Fréquence de 5 (fonction du ~~~~~~~~~~ mise à jour des puissances canal) (5) L ENTIER Fréquence de 5 (fonction du ~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ mise à jour des retards canal) (6) Tableau 1 : Paramètres clé de l'algorithme milieu (1) : Valeur maximale de l'étalement temporel du canal radiomobile en milieu urbain. (2) : La résolution temporelle lors de la recherche des trajets est égale à Tc/(Nb~ech~chip/ Sous~ech~retard) où Tc est la durée du chip. Les valeurs possibles de la résolution temporelle de recherche des trajets sont Tc /2, Tc /4 et Tc. (3) : Cette valeur représente le nombre de temps de retard considérés dans la fenêtre de recherche. Elle vaut : Tai1Ie~fen~rech=2*(t/Te)*Eta!~temp~max*(Nb~ech~chip/Sous~ech~retard) (656 = 2 * 4.096.106 * 20.10-6 * 4/1) (4) : Cette valeur signifie que tout trajet de propagation dont la puissance moyenne est supérieure à la moitié de la puissance moyenne maximale, est sélectionné. (5) : Ce chiffre est exprimé en nombre de créneaux temporels (voir paragraphe 2.2.1). (6) : Ce chiffre est exprimé dans une unité égale à K fois la durée du créneau temporel (ainsi, les temps de retard sont mis à jour tous les K*L créneaux). NOM Type de Dimension Description donnée Num~slot ENTIER 1 Numéro de slot Correlation~pilote COMPL Taille-fen-rech Corrélation code EXE * Nb~symbole~pilot de contrôle / symboles pilote Ind~centre~fenetr ENTIER 1 Indice du centre de la fenêtre de recherche Ind~debut~demod ENTIER 1 Indice de début de démodulation Code~etal~control ENTIER GE~contrôle Code d'étalement de contrôle Code~etal~data ENTIER GE~data Code d'étalement des data Seq~symbole~pil ENTIER Nb~symbole~ Séquence des ote pilot symboles pilote Signal COMPL- Signal complexe EXE reçu Correl~pilot~moy COMPL Taille~fen~rech Moyenne des EXE corrélations pilote Nb~trajets ENTIER Nombre de trajets sélectionnés Retards ENTIER Variable Retards des trajets sélectionnés Canal~estimé' COMPL Variable Canal estimé EXE courant Puiss~inst~trajet REEL Taille~fen~rech Puissance instantanée des trajets Puiss~moy~trajet REEL Taille~fen~rech Puissance moyenne des trajets Puiss~moy~max REEL Puissance moyenne maximale Selec~trajets REEL Taille~fen~rech Indicateur de sélection des trajets Nb~retard~chip ENTIER 1 Nombre de retards scrutés par chip Puiss-tot-peigne REEL NbJclard~chip Puissance totale par peigne Ind~meilleur~peigne ENTIER 1 Indice du meilleur peigne Retard~moyen ENTIER Retard moyen courant Corrélation data COMPL Nb~trajets * Corrélation code EXE Nb~bits~data de data /bits data symboles~data~de REEL Nb~symbol~data symboles utiles mod démodulés Tableau 2 : Variables utilisées dans la description algorithmique REVENDICATIONS 1- Procédé d'estimation d'un canal de propagation, entre une source d'émission de données et un récepteur, en utilisant au moins une séquence d'apprentissage comportant des symboles dits symboles pilotes et connue du récepteur, pour décoder un signal de données (signal numérique), les signaux étant transmis par trames successives, chaque trame étant partitionnée en un nombre déterminé de créneaux temporels caractérisé en ce qu'il comporte au moins les étapes suivantes : a) choisir une fenêtre de recherche, estimer l'amplitude complexe et l'énergie de chaque trajet prépondérant k situé dans la fenêtre de recherche pendant la durée de chacun des créneaux temporels et démoduler les bits de données (bits utiles), b) mettre à jour l'énergie de chaque trajet possible de la fenêtre de recherche tous les K créneaux, c) sélectionner tous les K*L créneaux, les trajets k d'énergie prépondérants. 2 - Procédé selon la revendication 1 caractérisé en ce que le signal est un signal étalé selon un code d'étalement donné et en ce qu'il comporte au moins: pour l'étape b) # la détermination de l'énergie ou puissance moyenne (Puiss~moy~trajet (k)) pour chaque trajet k de la fenêtre de recherche par corrélation entre les symboles pilotes reçus et la séquence d'étalement de contrôle, la moyenne (Correl~pilot~moy (k)) desdites corrélations sur l'ensemble des symboles de la séquence d'apprentissage, le calcul du module de la corrélation et la mise à jour de l'énergie moyenne du trajet (Puiss~moy~trajet (k)) par un calcul du type puissance moyenne instantanée égale à la somme de la puissance instantanée desdits trajets et d'un terme correspondant au produit du facteur d'oubli et de la puissance moyenne, # la détermination de l'amplitude complexe (Canal~estimé~(p)) dudit canal p par corrélation entre les symboles pilotes et la séquence d'étalement. pour l'étape c) # la sélection de trajets de propagation k en comparant l'énergie moyenne d'un trajet (Puiss~moy~trajet(k)) à une valeur seuil fixée (Puiss~moy~max), telle que la puissance maximale de tous les trajets, # la détermination de l'amplitude complexe du canal p de propagation (Canal- estimé(p)). 3- Procédé selon l'une des revendications 1 ou 2 caractérisé en ce qu'il comporte après l'étape de sélection des trajets, une étape de détermination du meilleur peigne d'échantillonnage (Ind~meilleur~peigne) en l'argument de la puissance totale cumulée maximale sur tous les trajets dépassant la valeur seuil pour tous les trajets séparés d'un nombre entier de chips et en déterminant la puissance maximale cumulée. 4 - Procédé selon l'une des revendications précédentes caractérisé en ce qu'il comporte à l'étape c) une étape de comparaison du nombre de trajets (Nbtrajets) sélectionnés à une valeur maximale et/ou la mise à jour de la puissance moyenne des trajets (Puiss~moy~trajet ) et de l'indice du centre de le fenêtre de recherche (Ind~centre~fenetre) et le vecteur des retards des indices des trajets. 5 - Procédé selon l'une des revendications 1 à 4 caractérisé en ce que # K est fixé est un multiple de la durée du créneau temporel, et/ou # K*L est déterminé à partir de la vitesse de variation des trajets dans le temps. 6 - Procédé selon l'une des revendications précédentes caractérisé en ce qu'il comporte une étape de détermination de bits décidés effectuée après la démodulation des bits de données ou bits utiles. 7 - Procédé selon l'une des revendications précédentes caractérisé en ce que la séquence d'apprentissage est émise de manière séquentielle ou de manière parallèle à celle des données utiles. 8 - Dispositif pour estimer les paramètres d'un canal de propagation de signaux numériques entre un moyen d'émission et un moyen de réception afin de démoduler un signal de données (signal numérique), les signaux étant transmis pa r trames successives, chaque trame étant partitionnée en un nombre déterminé de créneaux temporels les données utiles reçues caractérisé en ce qu'il comporte un calculateur ou dispositif adapté pour mettre en #uvre le procédé selon l'une des revendications 1 à 7. 9 - Dispositif selon la revendication 8 caractérisé en ce que ledit moyen d'émission comporte un moyen permettant l'étalement du signal numérique et ledit moyen de réception comporte un récepteur de type RAKE. 10 - Application du procédé selon l'une des revendications 1 à 7 ou du dispositif selon l'une des revendications 8 et 9 pour démoduler un signal numérique à bande étalée. 11 - Application du procédé selon l'une des revendications 1 à 7 ou du dispositif selon l'une des revendications 8 et 9 pour démoduler un signal de type CDMA, ou de type UMTS.