Brevet FR2832879A1 — publié le 20030530

La présente invention concerne un procédé et un égaliseur adaptés notamment pour des modems de type série. Elle s'applique par exemple pour égaliser, démoduler dans certains modems de type série utilisés dans la gamme HF, des blocs de données de taille importante encadrés par de petites séquences de référence. Certains documents de normalisation internationale de procédés de transmission appelés STANAG (Standardization NATO Agreement en anglo-saxon) décrivent des formes d'ondes à utiliser pour des modems (modulateurs/démodulateurs), qui sont destinées à être transmises sur des canaux étroits (3kHz en général) et de type série. Les symboles sont transmis séquentiellement à une vitesse de modulation généralement constante de 2400 bauds. Le canal de transmission utilisé (gamme des Hautes Fréquences HF de 3 à 30 MHz) étant particulièrement perturbé et sa fonction de transfert évoluant relativement rapidement, toutes ces formes d'onde comportent à intervalles réguliers des signaux connus qui servent de références et à partir desquels la fonction de transfert du canal est déduite. Parmi les différents formats standardisés retenus, certains concernent des modems à haut débit, typiquement de 3200 à 9600 bits/s qui sont sensibles aux erreurs d'estimation du canal. Pour obtenir un haut débit, il est indispensable, en plus d'utiliser une modulation complexe de type QAM (Quadrature Amplitude Modulation ) à nombreux états, de limiter au maximum la proportion de signaux de référence, afin de maximiser le débit utile. En d'autres termes, la communication comportera des blocs de données de taille relativement grande, entre lesquels seront insérés des signaux de référence de petite taille. La figure 1 représente un exemple de structure d'un signal décrit dans le STANAG 4539 où l'on trouve en alternance, des blocs de 256 symboles de données avec insertion de blocs de 31 symboles connus (appelés probe ou référence), ce qui correspond à environ 11% du total. Pour évaluer la réponse impulsionnelle h (t) du canal au niveau du nième bloc de données, on dispose d'une première probe (n-1) située avant le bloc de données et d'une deuxième probe (n) disposée après le bloc de données qui permettent d'évaluer la fonction de transfert du canal au travers de la réponse impulsionnelle combinée obtenue par la convolution de : # la réponse impulsionnelle de l'émetteur, fixe, # la réponse impulsionnelle du canal, éminemment variable, . la réponse impulsionnelle du récepteur, fixe, ces trois éléments entrant en jeu pour définir le signal reçu à chaque instant. Pour simplifier, dans la suite de la description on supposera que cet ensemble forme la réponse impulsionnelle du canal. Le DFE (Decision Feedback Equalizer en anglo-saxon) est couramment utilisé dans des modems correspondant par exemple à des STANAG (tels que le 4285) où la proportion des signaux de référence est relativement élevée et les blocs de données relativement courts (par exemple 32 symboles dans le 4285). Une autre manière de procéder selon l'art antérieur consiste à utiliser un algorithme dit BDFE (Block Decision Feedback Equalizer). Ceci revient à estimer la réponse impulsionnelle du canal avant et après un bloc de données et à trouver les valeurs de symboles émis (données émises) les plus vraisemblables qui minimiseront l'erreur quadratique moyenne entre le signal reçu et le signal estimé à partir d'une réponse impulsionnelle locale supposée connue. Cet algorithme schématisé en liaison avec la figure 2 consiste notamment à exécuter les étapes suivantes : a) estimer la réponse impulsionnelle du canal de longueur L symboles, connaissant cette réponse impulsionnelle estimée, b) éliminer au début du bloc de données n comportant N symboles utiles, l'influence des symboles de la probe (n-1) placée devant (L-1 premiers symboles), c) supprimer de la probe (n) placée après le bloc des données, la participation des symboles de la probe qui sont perturbés par l'influence des derniers symboles de données (L-1 symboles), d) à partir des échantillons ainsi obtenus, dont le nombre est un peu plus grand que le nombre de symboles de données (à savoir N+L-1), estimer au mieux la valeur des N symboles utiles les plus probablement émis. L'étape b) peut considérer que la réponse impulsionnelle du canal vaut ho(t) dans la probe avant le bloc de données. De même l'étape c) considère que la réponse impulsionnelle du canal vaut hi(t) dans la probe après le bloc de données. Il est aussi possible de supposer que la réponse impulsionnelle du canal évolue linéairement entre ho (t) ethi(t) tout au long du bloc de données. Toutefois, à moins d'utiliser un procédé de correction d'erreurs sophistiqué et donc, nécessitant une puissance élevée de calcul, les performances obtenues à l'aide de cet algorithme sont à peine satisfaisantes pour des canaux de transmission très perturbés, qui varient très rapidement. Inversement, il s'avère que la dégradation des performances par rapport au cas idéal où la réponse impulsionnelle du canal est parfaitement connue, devient importante lorsque le canal de transmission est plutôt stable ou varie lentement. Ceci vient du fait que l'on est obligé d'estimer une réponse impulsionnelle du canal de longueur trop élevée par rapport à ce qu'elle est dans les configurations peu sévères, ce qui dégrade la qualité de la surestimation qui s'effectue à partir de probes de longueur réduite. En particulier, pour un canal avec un seul trajet, une valeur de L très faible (quelques symboles à 2400 bauds) suffit largement et conduit à des performances proches de ce qu'elles seraient avec une estimation idéale du canal. De même, pour un canal variant lentement, ayant ce que l'on appelle un faible étalement Doppler , il devrait être possible d'avoir une meilleure estimation puisque, entre blocs voisins, la réponse du canal est fortement corrélée (varie peu) et l'on pourrait envisager dans ce cas une forme de lissage qui améliorerait les performances. En général, les BDFE utilisés dans l'art antérieur présentent certaines faiblesses notamment : # la réponse impulsionnelle est supposée évoluer linéairement tout au long d'un bloc de données, ce qui est d'autant moins vrai que l'étalement Doppler d'au moins un trajet n'est pas négligeable. Ceci est par- ticulièrement pertinent pour les blocs de données libres espacés d'une durée proche de l'inverse de la fréquence d'échantillonnage, dite de Nyquist, qu'il faudrait pour pouvoir en théorie connaître parfaitement le canal, # aux faibles valeurs du rapport signal/bruit, la mauvaise estimation de la réponse impulsionnelle du canal dégrade encore un peu plus les performances. L'invention concerne un procédé qui permet notamment de s'adapter à la vitesse d'évolution du canal et d'offrir ainsi à tout instant un niveau de performances optimal , tout en n'augmentant que de façon négligeable la puissance de calcul requise. Le procédé et le dispositif selon l'invention visent notamment à obtenir une estimation plus fine et plus fréquente de la réponse impulsionnelle du canal en tenant compte de sa vitesse de variation et du niveau. La description fera appel à certaines notations adoptées dont les suivantes : > en : échantillons complexes émis, espacés d'un symbole et appartenant à l'une des constellations mentionnées plus haut (connus ou inconnus), rn : échantillons complexes reçus, les valeurs de n seront explicitées à chaque fois, ces échantillons pouvant appartenir à une probe ou à des données, > L : longueur de la réponse impulsionnelle, en symboles, du canal à estimer, > P : le nombre de symboles d'une probe (nom anglais des séquences de référence), > N : le nombre de symboles d'un bloc de données, > d0...dP-1 : valeurs complexes connues des symboles de référence, quelle que soit la probe concernée. L'invention concerne un procédé d'égalisation de données dans un récepteur après transmission dans un canal, le signal reçu comportant une ou plusieurs trames, une trame comportant au moins une probe et un bloc de données, caractérisé en ce qu'il comporte au moins une étape où l'on détermine au moins une probe fictive dans le bloc de données en utilisant au moins une partie des probes disponibles dans les trames avant et après la trame considérée, une étape de détermination de la réponse impulsionnelle intermédiaire associée à la ou aux probes fictives et la combinaison desdites réponses impulsionnelles intermédiaires. La probe fictive est par exemple disposée sensiblement au milieu du bloc de données. On dispose par exemple plusieurs probes fictives équiréparties dans le bloc de données ou réparties de façon à simplifier les calculs. On peut utiliser pour le calcul des probes fictives un total de M probes disponibles au voisinage du bloc de données considéré, avec M pair de préférence On estime, par exemple, les réponses impulsionnelles associées aux probes fictives en utilisant la méthode des moindres carrés. On peut déterminer les probes fictives à positionner dans le bloc de données en utilisant des interpolateurs et à partir d'une ou de plusieurs probes disponibles avant et/ou après le bloc de données. Les coefficients des interpolateurs sont par exemple choisis en minimisant l'erreur quadratique moyenne d'interpolation pour une rotation maximale donnée de la réponse impulsionnelle entre probes et pour une valeur de rapport S/B. On peut déterminer les coefficients des interpolateurs pour plusieurs valeurs de rotation de phase A. L'invention concerne aussi un dispositif pour égaliser au moins un signal ayant traversé un canal de transmission, le signal reçu comportant une ou plusieurs trames, une trame comportant au moins un bloc de données encadré par deux probes et caractérisé en ce qu'il comporte au moins un moyen recevant les signaux et adapté à déterminer au moins une probe fictive dans le bloc de données en utilisant au moins une partie des probes disponibles dans les trames avant et après la trame considérée et un dispositif adapté à déterminer la réponse impulsionnelle intermédiaire associée à la ou aux probes fictives et à combiner lesdites réponses impulsionnelles intermédiaires L'objet de la présente invention offre notamment les avantages suivants : # il permet d'atteindre des performances requises notamment dans le cas de canaux de transmission très perturbés, à variations rapides, tout en n'augmentant que de façon négligeable la puissance de calcul requise ; # une meilleure estimation de la réponse impulsionnelle dans le temps du canal qui conduit à augmenter les performances habituellement obtenues aux faibles rapports signal/bruit. La présente invention sera mieux comprise à la lecture de la description qui suit d'un exemple de réalisation donné à titre illustratif et nullement limitatif en référence aux figures qui représentent : # la figure 1 un exemple général de la structure des données à transmettre, # la figure 2 un schéma de l'algorithme BDFE utilisé selon l'art antérieur, # la figure 3 un exemple de mise en #uvre du procédé BDFE par segments selon l'invention, # la figure 4 un exemple d'un bloc de données modifié selon l'invention, # la figure 5 un synoptique des étapes pour estimer la réponse impulsionnelle du canal, # la figure 6 plusieurs interpolateurs fonction de différentes valeurs de rotation de phase, # la figure 7 un exemple de schéma fonctionnel d'un dispositif selon l'invention. L'exemple donné ci-après à titre illustratif et nullement limitatif concerne un signal structuré en super-trames comportant plusieurs trames, chaque trame étant constituée par exemple d'une probe ou séquence de référence et d'un bloc de données. Les trames se succèdent, formant ainsi un ensemble de probes précédant un bloc de données, du bloc de données n et de probes suivant le bloc de données. La trame courante désigne dans la suite de la description la trame comprenant le bloc de données à démoduler. En résumé, le procédé repose sur l'idée suivante : l'interpolation des réponses impulsionnelles du canal consiste à calculer K probes ou réponses impulsionnelles fictives par exemple régulièrement espacées dans la trame courante à démoduler. De manière plus générale et plus complète, le procédé selon l'invention met en #uvre les étapes suivantes : # estimer la réponse impulsionnelle à plusieurs instants, par exemple, régulièrement espacés précédant un bloc de données (hko ... ho) et à plusieurs instants régulièrement espacés le suivant (hi ... hk1). Ces instants sont au nombre de M où sont disposés des signaux connus appelés probes, cela revient à considérer des probes fictives transmises à intervalles réguliers à la place des données inconnues, # ré-estimer par interpolation/filtrage la réponse impulsionnelle du canal juste avant et juste après le dit bloc pour remplacer les estimations initiales (ho et h1), # estimer par interpolation/filtrage K réponses impulsionnelles intermédiaires régulièrement réparties dans le bloc de données # modifier l'algorithme BDFE pour qu'il tienne compte de l'estimation "par segments" de la réponse impulsionnelle ainsi obtenue, # utiliser pour le lissage, des filtres / interpolateurs adaptés au mieux à la vitesse de variation du canal (son "étalement Doppler"), au rapport S/B auquel on désire fonctionner, ainsi qu'à la position (début, milieu, fin) dans la super-trame en cours de réception, # effectuer à intervalles réguliers le choix entre les jeux d'interpolateurs disponibles en se basant sur un critère de qualité qui est le rapport signal/bruit estimé en sortie de l'algorithme BDFE. Le système s'adapte ainsi à chaque instant aux caractéristiques du canal de transmission, ce qui conduit à un niveau de performances optimal, pour une faible augmentation de puissance de calcul. La figure 3 décrit succinctement les interpolations à faire et les probes utilisées, pour le modem décrit par le STANAG 4539 où les trames sont regroupées par blocs (super-trames) de 72 trames. En pratique, et c'est là l'une des originalités du procédé, on utilisera pour ce traitement non pas 2 (comme l'art antérieur) mais M probes successives, de préférence avec M pair, avec la convention suivante : - la probe correspondant à l'indice k = 0 est la probe juste avant la trame courante, - celle correspondant à l'indice k = 1 est la probe juste après la trame courante, - celle correspondant à l'indice ko = 2 - M...O (ko toujours négatif ou nul) est la probe la plus ancienne (ou la première disponible), - celle correspondant à l'indice ki = 1...ko + M -1 (k1 toujours positif supérieur ou égal à 1) est la probe la plus récente (ou la dernière disponible), Dans la partie centrale d'un bloc de trames, les probes utilisées pour l'interpolation sont les probes ko = -M/2 ... 0 1 ... k1 = M/2 - 1. Par exemple, pour M = 6, les probes utilisées portent les numéros-2 à +3. Lors de la réception des trames 1 à 4, aucune démodulation n'est effectuée. Après réception de (la probe après) la trame 5, on démodule les trames 1 à 3 en utilisant les 6 probes disponibles (d'avant la trame 1 jusqu'après la trame 5) avec ko = 0...-2 et k1 = ko + 5. Après réception de (la probe après) les trames t = 6...71, on démodule les trames t = 4... 69 en utilisant les 6 probes qui les encadrent (3 avant, 3 après), avec ko =-2 et ki = 3. Enfin, après réception de (la probe après) la trame 72, on démodule les trame 70 à 72 en utilisant les 6 dernières probes reçues avec ko = -2...-4 et ki = ko + 5 Après réception de (la probe après) la trame t = 6...71, on démodule la trame t = 4... 69 en utilisant les 6 probes qui l'encadrent (3 avant, 3 après). Enfin, après réception de (la probe après) la trame 72, on démodule les trame 70 à 72 en utilisant les 6 dernières probes reçues. On voit qu'au début de la super-trame ainsi qu'à sa fin, les trames disponibles avant et après la trame en cours ne sont pas en même nombre, ce qui se traduit par des jeux non constants de valeurs (ko, ki). On doit donc disposer au total, pour des interpolateurs comportant M prises, de M -1 jeux de coefficients, dont un symétrique (celui utilisé le plus souvent) et les autres dissymétriques, mais pouvant éventuellement se correspondre deux à deux. Ceci peut être généralisé à un nombre quelconque M de probes utilisées pour le filtrage, ce nombre étant de préférence pair, à la fois pour des raisons de simplicité (symétrie des coefficients des filtres) et parce qu'ainsi la contrainte qui veut que un canal stable soit parfaitement interpolé a relativement peu d'influence sur le gain en rapport signal/bruit (l'erreur d'interpolation présente un minimum "naturel" pour une rotation de phase nulle). Mécanisme d'interpolation des réponses impulsionnelles L'interpolation proprement dite consiste à calculer K probes ou réponses impulsionnelles fictives régulièrement espacées dans la trame courante à démoduler. A l'issue de cette étape d'interpolation, le procédé dispose de K réponses impulsionnelles intermédiaires fictives qui vont être utilisées d'estimer la réponse impulsionnelle du canal de propagation avant de mettre en oeuvre un algorithme BDFE. La figure 4 schématise un exemple de répartition de probes fictives à l'intérieur d'un bloc de données à démoduler. Cet exemple a consisté à découper le bloc de données en K sous-blocs par exemple 4 sous-blocs, de longueur égale ou sensiblement égale. Le nombre choisi K doit préférentiellement diviser N, N étant le nombre de symboles dans le bloc de données, pour des raisons de simplicité. Il est aussi possible de ne pas respecter cette contrainte. Chaque sous-bloc d'indice i est associé à une réponse impulsionnelle hi définie à son début par une probe fictive Pi de longueur P. La référence Q désigne la longueur correspondant aux données d'un sous-bloc entre probe fictive Pi de ce bloc et la probe fictive après Pi+1. Sur ce schéma est aussi représenté le signal reçu pour un bloc donné d'indice i, prenant en compte la longueur L de la réponse du canal de transmission. L'interpolation des probes fictives est réalisée selon un schéma donné à la figure 5, par exemple. La référence x définit la position de la probe concernée, en prenant comme convention que x=0 correspond à la probe réelle avant le bloc de données considéré, c'est-à-dire le bloc de données à démoduler et x=1 à la probe réelle après ce bloc de données. Dans cet exemple, les valeurs des positions x pour les probes fictives intermédiaires associées au bloc de données sont par exemple, k étant le rang de la probe dans les données : k = 0 : x = P / (P + N) k = 1 : x = (P + P + Q) / (P + N) ou (P + N/K) / (P + N) k = 2 : x = (P + 2(P + Q)) / (P + N) ou (P + 2 N/K) / (P + N) k = K -1 : x = (P + (K -1 )(P + Q)) / (P + N) ou (P + (K -1 ) N/K) / (P + N) avec P, N et Q définis précédemment. Dans l'algorithme proposé, le calcul sera aussi effectué pour les probes vraies, à savoir k = -1, x = 0 pour la probe avant, et k = K, x = 1 pour la probe après, pour profiter de la réduction de bruit obtenue par l'interpolation, qui est aussi optimisée pour assurer une fonction de filtrage (voir plus loin). Première étape du procédé : de la réponse impulsionnelle associée à une probe fictive d'indice i La première étape consiste à estimer les réponses impulsionnelles "vraies", en nombre égal à M, associées aux probes de rangs n + ko...n + k1. Ces réponses impulsionnelles sont notées hk(t) ou hk, o.. L-1, avec k = ko...ki sachant que M = k1- ko + 1 ; L'estimation de ces réponses impulsionnelles se fait par exemple selon la méthode des moindres carrés connue de l'Homme du métier et rappelée à titre d'exemple non limitatif. On cherche la meilleure estimation des L échantillons de la réponse impulsionnelle h du canal notés ho...L-i , cette méthode étant la même pour toutes les réponses impulsionnelles l'indice k de h k, 0..L-1 est omis. Le signal émis connu est d0...dP-1, pour une probe donnée, et le signal à traiter est noté ro...rp-1, pour cette même probe. L'estimation de la réponse impulsionnelle h est effectuée en minimisant l'erreur quadratique totale donnée par : Pour que seuls les symboles connus interviennent (i.e. do à dP-1 seulement), on prend No = L - 1 et N1 = P - 1, ce qui a en particulier pour conséquence de calculer, lors de l'opération précédente de filtrage, uniquement les P - L (au lieu de L) valeurs corrigées r'. La minimisation de E conduit aux L équations suivantes : (2) que l'on peut réécrire : ou encore : avec et La matrice A = {Ap,m} étant hermitienne, la solution du problème est obtenue en utilisant la décomposition L-U de Cholesky, bien connue de l'homme du métier, où A = L U et : # L est une matrice triangulaire inférieure n'ayant que des 1 sur la diagonale # U est une matrice triangulaire supérieure où les éléments de la diagonale sont réels. En pratique, les matrices L et U sont précalculées par exemple en mémoire morte puisque la matrice A est formée à partir de valeurs constantes. Formellement, il est possible d'écrire que A h = B ou L U h = B, que l'on résout en faisant intervenir un vecteur intermédiaire y, en résolvant d'abord L y = B puis U h = y. Une fois les M réponses impulsionnelles trouvées, on en calcule la combinaison linéaire à une position x donnée, soit hx (t) ouhx, O...L-1 par l'équation simple : ceci correspond au i-ème échantillon de la réponse impulsionnelle pour une position x. Les M coefficients réels ax, 0..M-1 sont les coefficients d'un interpolateur qui dépend de x, ko et ki et qui est optimisé pour des conditions données de transmission. Un exemple de mode de calcul d'optimisation est exposé ci-dessous. Optimisation des coefficients M pour les interpolateurs Les interpolateurs ont notamment pour objet d'estimer à partir des probes vraies, situées aux positions k0...k1 (par rapport à la trame courante), les K probes ou les K réponses impulsionnelles intermédiaires fictives à utiliser dans la trame courante. Le critère retenu consiste par exemple à minimiser l'erreur quadratique moyenne d'interpolation pour une rotation maximale donnée de la réponse impulsionnelle entre probes (ce qui correspond à un "étalement Doppler" donné) et à un rapport signal/bruit donné (qui dépend des spécifications) afin d'obtenir en même temps une fonction de filtrage réductrice de bruit. De plus, on requiert par exemple que l'interpolation soit parfaite pour une rotation de phase nulle, ce qui permet un niveau de performances maximal sur canal à variations lentes. L'expérience montre que cette contrainte a un effet minime sur le bruit d'interpolation lorsque le nombre M de coefficients des interpolations est pair car l'erreur d'interpolation présente un minimum "naturel" au voisinage de 0 si M est pair. Chaque interpolateur possède M coefficients réels : a0...M-1 Pour déterminer ces coefficients, le procédé cherche à minimiser l'erreur quadratique moyenne : # pour une puissance de bruit (3 donnée (i.e. à un rapport S/B bien défini), # à une position x comprise entre 0 et 1, sachant que la position 0 correspond à la probe avant, la position 1 à la probe après, et les valeurs intermédiaires aux probes fictives entre les deux, # en utilisant le signal aux positions ko, ..., 0, 1, ... ki = ko + M - 1, # sachant que la rotation de phase entre deux positions vaut au plus A en valeur absolue (A La puissance de bruit, à minimiser, vaut : L'erreur d'interpolation, pour une rotation # vaut : L'erreur quadratique moyenne est alors : et sa (demi-) dérivée par rapport à am (m = O...M 1): soit: ou encore : La contrainte C est donnée par : La minimisation avec contrainte consistera à minimiser la quantité : EQM+#C (13) avec l'équation supplémentaire : C=0 (14) Le système d'équations final à résoudre est donc de dimension M + 1 avec M + 1 inconnues, à savoir . (non utilisé) et ao...M-i : M équations de minimisation : une équation pour la contrainte : Le procédé met en oeuvre par exemple la solution suivante : # faire la somme des K premières équations et en déduire , sachant que la somme des ai vaut 1 : # modifier les M premières équations : # résoudre le système de M équations modifiées. Les interpolateurs sont par exemple calculés une fois pour toutes et stockés en mémoire morte. Selon une variante de mise en oeuvre du procédé, on calcule des jeux d'interpolateurs correspondant à différentes valeurs de rotation A. Ceci permet avantageusement l'adaptation à différents canaux, ces derniers étant plus ou moins stables dans le temps. Un canal stable correspond à une rotation maximale A voisine de 0. Le rapport signal/bruit d'optimisation sera par exemple fonction de sa valeur théorique pour un taux d'erreurs donné (par exemple 10-5). Cette valeur est d'autant plus faible que : - la constellation utilisée est moins peuplée (une modulation QPSK quadrature phase shift keying à 4 états est beaucoup moins fragile qu'une modulation QAM-64 quadrature amplitude modulation à 64 états), - la variation maximale de phase A est faible (A est représentative de l'étalement Doppler du canal et un étalement Doppler faible nécessite un rapport S/B moins élevé qu'un étalement Doppler élevé. La figure 6 représente les coefficients des interpolateurs pour M = 8 prises, K = 4 probes fictives, et des valeurs de rotation A en progression géométrique : A = Ao...A3 = 20 , 36 , 66 et 120 . Les valeurs en dB donnent l'effet de réduction de bruit obtenu, à savoir le rapport entre le S/B de l'estimation directe et le S/B de l'estimation interpolée : cette réduction de bruit est d'autant plus faible que la largeur de bande de l'interpolateur (exprimée par la valeur de A) est plus élevée. En considérant l'ensemble du procédé, les interpolateurs sont avantageusement choisis afin notamment de suivre au mieux l'évolution du canal de transmission. Le procédé choisit le jeu d'interpolateurs "optimal" par exemple trame par trame ou tout du moins à intervalles suffisamment rapprochés pour pouvoir suivre l'évolution du canal de transmission. Si à la trame précédente (ou pour les trames précédentes), l'interpolateur correspondant à Ap a été choisi (p = 0...3 dans cet exemple), la démodulation se fera avec les interpolateurs correspondant à Ap-1 (si possible), Ap, et Ap+1 (si possible) et c'est celui donnant les meilleurs résultats qui servira de point de départ à la trame suivante (ou aux trames suivantes). Algorithme BDFE par segments Les réponses impulsionnelles utilisées pour l'exécution de l'algorithme BDFE sont par exemple les suivantes, en nombre égal à K + 2 : h('1)o...i~-i = ho, 0 ... L-1 (associée à la probe avant, correspondant à x = 0) hto.. K-1)O.-.L-1 = hx. O...L-1 (associées aux K probes fictives aux positions x x0...xK-1) où Xk est donné par : xk=P+Pk P+N k = O...K - 1 avec Pk = k N/K ( "position de la réponse impulsionnelle") (19) h(K)0...L-1 = h1, o . L-1 (associée à la probe après, correspondant à x = 1 ) Les probes considérées pour la trame courante correspondent aux symboles ayant les indices suivants : -P...-1 (vraie probe avant) Po...Po + P -1 (première probe fictive) P1...P1 + P -1 (deuxième probe fictive) .............. ; PK-1...PK-1 + P -1 (Kème probe fictive) N...N + P -1 (vraie probe après) Par la suite, et pour être conforme au schéma décrivant les probes intermédiaires, on définira N/K comme étant égal à P + Q où P est la longueur d'une probe (vraie ou fictive) et Q est la longueur d'un segment de données entre deux probes fictives. Une fois calculées les différentes réponses impulsionnelles, on supprime l'influence des probes sur les données en remplaçant les échantillons reçus rn par des échantillons corrigés t'on de la manière suivante: - probe avant (20): - au centre (21): #nc=#n n=L-l N- - probe après (22): n = N....N + L - 1 rappel PK = N Les symboles reçus ne dépendent alors plus que des b,. Dans le cas idéal, l'influence des probes a été éliminée, les échantillons reçus, notés ridnsont donnés par : - début du bloc 0 : - reste du bloc 0 : - début du bloc k, incluant le traînage du bloc k-1 (k = 1...K-1 ) : - reste du bloc k (k = 1...K-1) : - traînage du bloc K-1 : Le calcul des bi s'effectue par exemple en minimisant la quantité : sachant que bm (m = 0...N-1) n'intervient que dans le calcul de L échantillons "idéaux", ceux d'indices m, m+1, ..., m + L -1. De façon rigoureuse, on vérifie que (29) : bk (p + Q) + i avec : k = O...K-1 1 = O...P+Q- 1 apparaît dans #kid (P+Q)+i+1 avec j = O...L - 1 avec un coefficient égal à Les N équations permettant de déterminer les bm résulteront de l'annulation des N dérivées suivantes (30) : ou encore : soit enfin : k = 0 ..K - 1 i=O...P+Q-1 1 m=k(P+Q)+i (32) Les N équations à résoudre seront donc de la forme : k = 0.. K - 1 i=O..P+Q- 1 m=k(P+Q)+i (33) Le second membre se calcule de la manière suivante : k = O...K - 1 i=O..P+Q-1 1 m=k(P+Q)+i (34) Le calcul du premier membre est réalisé par exemple en reprenant les équations donnant les rid et en les clarifiant en utilisant les coefficients ssk,ij définis plus haut : pour k = 1...K-1: pourk=1...K-1: En considérant dans l'équation de rang m = k (P + Q) + i, pour k = O...K - 1, et i = O...P + Q - 1, le coefficient de bm + p (avec p = O...L - 1, car la matrice correspondante est Hermitienne, et contient uniquement des zéros à une distance supérieure ou égale à L de sa diagonale) est donné par (40): -pouri=O...P+Q-Letp=O...L-1: -pouri=P+Q-L+1....P+Q-1 1 et k = 0... K - 2 : -pourp=O...P+Q-1 -i: -pourp=P+Q-i...L-1: 0 (zéro, car les bi correspondants n'existent pas...) L'expression suivante (41 ): se développe successivement en : Sous une forme plus condensée : avec : Un raisonnement identique amène à écrire la somme utilisée à la fin d'un bloc sous la forme : avec : En récapitulant cela donne -pourk=O...K-2 -pour i = 0...P+Q-L m = k (P + Q) + -pourp=O...L-1 1 coefficient de bm+p dans l'équation m donné par Bm, m+pdebut -pouri=P+Q-L+1...P+Q-1 1 m=k(P+Q)+i -pour p = 0...P+Q-1-i coefficient de bm+p dans l'équation m donné par debut Bm, m+p -pour p = P+Q-i...L-1 1 coefficient de bm+p dans l'équation m donné par fin Bm, m+p -pourk=K-1 1 -pouri=O...P+Q-L m = k (P + Q) + -pourp=O...L-1 1 coefficient de bm+p dans l'équation m donné par debut Bm, m+p -pouri=P+Q-L+1...P+Q-1 1 m = k (P + Q) + i -pourp=O...P+Q-1 -i coefficient de bm+p dans l'équation m donné par debut Bm, m+p Fin de récapitulation. L'aspect général de la matrice B (en omettant les détails) est de la forme suivante (exemple pour L = 3, N = 15, K = 3 ou P+Q = 5) : deb deb deb deb deb deb deb deb deb deb deb deb deb deb deb deb fin deb deb deb fin fin fin fin deb deb deb fin deb deb deb deb B= deb deb deb deb deb deb deb deb deb fin deb deb deb fin fin fin fin deb deb deb fin deb deb deb deb deb deb deb deb deb deb deb deb deb deb deb deb Le reste (décomposition L-U, résolution, décision, etc) est connu de l'homme de l'art. Il faut noter que si les équations ci-dessus sont plus complexes (à comprendre et à écrire) que dans le cas où l'on se contente d'une interpolation linéaire simple pour toute la trame, elles représentent une puissance de calcul équivalente puisqu'il n'y a pas plus de termes à calculer et que la complexité des expressions qui les donnent (en nombre d'opérations élémentaires) est équivalente. On peut toutefois mentionner que le critère de choix des interpolateurs qui donne le meilleur résultat est déduit de la dernière étape du BDFE, de la façon exposée ci-après. Ce critère donne le rapport signal / bruit estimé pour la trame après l'exécution de l'algorithme BDFE qui, rappelons le, a pour but de déterminer les valeurs les plus probables pour les symboles émis compte tenu du signal reçu et de la réponse impulsionnelle du canal estimée par les moyens exposés précédemment. Pour schématiser, la phase finale du BDFE procède en N étapes (N est le nombre de symboles inconnus émis pour la trame en cours de démodulation). A l'étape n (n = 0... N - 1), on dispose des valeurs estimées êo, ê 1, ê 2, ..., ên-1 des symboles émis. On soustrait alors du signal reçu rn l'influence des symboles émis précédents, compte tenu de la réponse impulsionnelle du canal, pour obtenir une valeur corrigée r'n. On détermine alors dans la "constellation" courante le point qui est le plus proche de r'n (opération de décision) qui devient la valeur (complexe) la plus probable du nème symbole émis ên. La différence entre r'n et ê n est due au bruit (d'une manière générale) et l'on peut prendre comme critère de choix le rapport signal/bruit estimé pour la trame comme étant le rapport entre la puissance moyenne du signal (les en) et la puissance moyenne du bruit (espérance mathématique du carré du module de la différence avant décision) : Plus ce rapport S/B est élevé, plus on peut considérer que le jeu d'interpolateurs utilisé est adapté à la situation du moment. Compte tenu du fait que, si l'on teste de façon rigoureuse 3 jeux d'interpolateurs pour faire un choix (le jeu courant et ses deux voisins), l'algorithme BDFE doit être itéré 3 fois par trame pour avoir un niveau de performances optimal. Mais, en pratique, il n'est pas obligatoire (sinon au tout début de la réception si cela est absolument indispensable) de faire ces opérations aussi souvent. Si (par exemple), le choix n'est fait que toutes les 2 trames, l'algorithme BDFE ne doit plus être itéré que (1 + 3) / 2 = 2 fois en moyenne par trame. Autre exemple : s'il n'est fait que toutes les 8 trames, l'algorithme BDFE ne doit plus être itéré que (1 + 1 +... + 1 + 3) / 8 = 1. 25 fois en moyenne par trame, ce qui représente une faible augmentation de la puissance de calcul nécessaire. La figure 7 schématise une structure d'un dispositif selon l'invention. Le ou les signaux préconditionnés après passage dans un ensemble de dispositifs habituellement utilisés et comportant des filtres adaptés, un CAG (contrôle automatique de gain, ...) et tous les dispositifs permettant le préconditionnement est transmis par exemple à un microprocesseur 1 pourvu d'un logiciel conçu pour exécuter les différentes étapes mentionnées ci-dessus. Les résultats obtenus sont ensuite transmis à un algorithme BDFE, 2, permettant d'obtenir les symboles émis les plus probables, selon une méthode connue de l'Homme du métier. REVENDICATIONS 1- Procédé d'égalisation de données dans un récepteur après transmission dans un canal, le signal reçu comportant une ou plusieurs trames, une trame comportant au moins une probe et un bloc de données, caractérisé en ce qu'il comporte au moins une étape où l'on détermine au moins une probe fictive dans le bloc de données en utilisant au moins une partie des probes disponibles dans les trames avant et après la trame considérée, une étape de détermination de la réponse impulsionnelle intermédiaire associée à la ou aux probes fictives et la combinaison desdites réponses impulsionnelles intermédiaires. 2 - Procédé selon la revendication 1 caractérisé en ce que la probe fictive est disposée sensiblement au milieu du bloc de données. 3 - Procédé selon l'une des revendications 1 et 2 caractérisé en ce que l'on dispose plusieurs probes fictives équiréparties dans le bloc de données ou réparties de façon à simplifier les calculs. 4 - Procédé selon l'une des revendications 1 à 3 caractérisé en ce que l'on utilise pour le calcul des probes fictives un total de M probes disponibles au voisinage du bloc de données considéré, avec M pair de préférence. 5 - Procédé selon l'une des revendications 1 à 4 caractérisé en ce que l'on estime les réponses impulsionnelles associées aux probes fictives en utilisant la méthode des moindres carrés. 6 - Procédé selon l'une des revendications 1 à 5 caractérisé en ce que l'on détermine les probes fictives à positionner dans le bloc de données en utilisant des interpolateurs et à partir d'une ou de plusieurs probes disponibles avant et/ou après le bloc de données. 7 - Procédé selon la revendication 6 caractérisé en ce que les coefficients des interpolateurs sont choisis en minimisant l'erreur quadratique moyenne d'interpolation pour une rotation maximale donnée de la réponse impulsionnelle entre probes et pour une valeur de rapport S/B. 8 - Procédé selon la revendication 7 caractérisé en ce que l'on détermine les coefficients des interpolateurs pour plusieurs valeurs de rotation de phase A. 9 - Dispositif pour égaliser au moins un signal ayant traversé un canal de transmission, le signal reçu comportant une ou plusieurs trames, une trame comportant au moins un bloc de données encadré par deux probes et caractérisé en ce qu'il comporte au moins un moyen recevant les signaux et adapté à déterminer au moins une probe fictive dans le bloc de données en utilisant au moins une partie des probes disponibles dans les trames avant et après la trame considérée et un dispositif adapté à déterminer la réponse impulsionnelle intermédiaire associée à la ou aux probes fictives et à combiner lesdites réponses impulsionnelles intermédiaires.