Brevet FR2820258A1 — publié le 20020802

La présente invention concerne la transmission de données par un canal de transmission imparfait. Pour transmettre un train de données à travers un canal de transmission, on émet une suite de symboles, de période déterminée, représentant chacun l'état d'un ou plusieurs bits. Par exemple, un émetteur radio est commandé en modulation de fréquence d'une porteuse pour émettre à une fréquence instantanée parmi deux possibles, en fonction de l'état 0 ou 1 d'un bit à émettre. En réception, on détermine la forme du signal reçu pendant chaque période et on en déduit la valeur binaire correspondante. Cependant, et en particulier pour les transmissions radio, il existe, outre le trajet direct, des trajets annexes correspondant à des échos renvoyés vers le récepteur. Le train de signaux émis est ainsi reçu plusieurs fois mais avec des retards spécifiques à la longueur de chaque trajet annexe. A un instant donné, le signal composite reçu correspond donc au signal utile du trajet direct, déformé par les signaux parasites d'autres données binaires antérieures provenant respectivement des autres trajets annexes. On effectue donc, en réception, un traitement du signal composite reçu, pour y déterminer les amplitudes et retards supplémentaires des trains parasites. Lorsque ces amplitudes et retards ont été déterminés, on les met sous la forme de coefficients de pondération d'échantillons du signal composite, et ils commandent un filtre numérique recevant les échantillons des signaux composites ultérieurs, qui retrouvent ainsi leur forme d'émission et peuvent donc être reconnus sans risque d'erreur. Le filtre numérique comporte des étages en cascade dans lesquels on mémorise temporairement les échantillons d'une tranche de temps courante, pour les traiter. Comme le traitement dépend de tous les échos, il faut donc encore disposer de tous les échantillons lorsqu'arrive le dernier écho de ceux-ci. Le retard maximal d'écho étant parfois important, la tranche de temps, et donc le nombre d'étages nécessaires, est considérable et la puissance requise pour le bloc de calcul effectuant le filtrage est très élevée. Il faut prévoir un bloc de calcul rapide et de grande taille, donc coûteux et à consommation élevée du fait de sa taille et de sa vitesse de fonctionnement. La présente invention vise à réduire au moins l'un des deux inconvénients du bloc de calcul cités ci-dessus. A cet effet, l'invention concerne tout d'abord un procédé d'adaptation de signaux de symboles numériques représentés chacun par une pluralité d'échantillons, dans lequel on multiplie chaque échantillon par un coefficient de pondération particulier d'une pluralité correspondante de coefficients, procédé caractérisé par le fait que - on classe préalablement les coefficients en plusieurs groupes de dynamiques différentes ayant un seuil haut spécifique, - le traitement, par les coefficients de chaque groupe, étant limité au seuil haut de ce groupe. Ainsi, les coefficients de pondération de faible amplitude, et qui en pratique sont les plus nombreux, ne requièrent qu'une puissance de calcul limitée. En d'autres termes, on élimine tout traitement par les poids forts des nombres représentant les coefficients de faible valeur, puisque ces poids forts sont égaux à zéro. On peut donc mettre hors service, selon les besoins, une partie du bloc de calcul utilisé et/ou utiliser un bloc de calcul de taille ou de vitesse réduite. L'invention concerne aussi un filtre pour la mise en oeuvre du procédé de l'invention, comportant des moyens de multiplication d'échantillons de signaux de symboles numériques, à traiter par multiplication par des coefficients de pondération de diverses dynamiques, caractérisé par le fait que les moyens de multiplication sont agencés pour limiter les traitements auxdites dynamiques. L'invention sera mieux comprise à l'aide de la description suivante d'un mode de mise en oeuvre préféré du procédé de l'invention, en référence au dessin annexé, sur lequel : - la figure 1 illustre, dans un modem, une chaîne de réception de symboles de données, émis par un autre modem sur une liaison de transmission de données présentant de la distorsion, - la figure 2 représente une courbe de réponse impulsionnelle calculée de la liaison, illustrant la distorsion, et - la figure 3 représente un ensemble de circuits de traitement des symboles reçus, pour les adapter afin d'en supprimer la distorsion. La chaîne de réception de la figure 1 comporte, dans l'ordre de propagation des signaux de symboles de données reçus, des circuits analogiques 1, d'isolation et de transposition de fréquence, un filtre numérique fixe 2, un bloc égaliseur 3, ou bloc de filtrage adaptateur et adaptatif, et un décodeur 4 de traitement des symboles égalisés, qui prend une décision pour déterminer qu'un symbole reçu correspond à l'un d'une pluralité de symboles attendus. Chaque symbole représente un bloc de bits de longueur déterminée et de valeur spécifique. La présente invention porte spécifiquement sur la structure du filtre adaptateur 3, qui est basé sur des filtrages transversaux, c'est-à-dire qui comporte une cascade d'étages que traversent les (sur) échantillons du signal pour y être multipliés par un coefficient de pondération propre à chacun. Une telle structure est bien acaptée aux égaliseurs transversaux (filtres à Réponse Impulsionnelle Finie) ou aux égaliseurs à retour de décision (filtres à Réponse Impulsionnelle Infinie). On notera toutefois qu'un filtre ayant une telle structure peut être utilisé ailleurs dans la chaîne de réception, par exemple pour annuler des échos ou bien prédire l'amplitude de l'erreur sur les signaux reçus, ou être utilisé dans une chaîne d'émission, par exemple comme précodeur pour appliquer une contre-distorsion aux signaux à émettre. La figure 2 représente la courbe de réponse impulsionnelle de la liaison, plus particulièrement la partie causale. Cette courbe, calculée par des moyens non représentés, est le résultat d'un calcul d'autocorrélation entre la forme d'un symbole reçu, distordu, et celle du symbole de référence correspondant attendu, c'est-à-dire théorique ou nominale, tel qu'émis (avant contre-distorsion éventuelle). En l'absence de distorsion de la liaison et de bruit, la réponse impulsionnelle théorique est une impulsion unique, correspondant à l'amplitude du coefficient de rang n = 1 sur la figure 2. Tout défaut du signal reçu modifie l'amplitude de ce premier coefficient et fait dévier, de la valeur théorique nulle, l'amplitude d'autres coefficients. Un symbole reçu est donc reconnu lorsque la réponse impulsionnelle, obtenue par corrélation avec l'un des symboles de référence, présente le pic de corrélation représenté par le premier coefficient. Par contre, la corrélation entre les divers symboles de référence est nulle, c'est-à-dire que le symbole reçu présente, s'il a conservé sa forme théorique, une corrélation nulle avec les symboles autres. La réponse impulsion nulle est donc alors plate et d'amplitude quasiment nulle. Toutefois, de la distorsion dans un symbole reçu va détruire l'équilibre de non-corrélation évoqué ci-dessus et faire apparaître un début de corrélation, sous forme d'ondulations de la réponse impulsionnelle. Pour optimiser la discrimination entre la réponse à pic de corrélation et les autres, il convient donc d'adapter les échantillons, par compensation de la distorsion de la liaison, pour que ce pic ait une amplitude maximale, représentant toute l'énergie de la courbe de réponse impulsionnelle et qu'en outre les autres courbes de réponse retrouvent leur forme. En pareil cas, seul un bruit aléatoire intense risque de provoquer l'apparition d'un pic parasite. La partie de la réponse impulsionnelle de la figure 2 est représentée ici par une rangée de N = 180 coefficients, chacun servant à pondérer en particulier l'un des N échantillons d'un symbole. La réponse impulsionnelle a globalement la forme d'une oscillation amortie, le premier coefficient de pic de grande amplitude, (ici + 0,27) étant suivi d'un deuxième coefficient d'amplitude moindre (-0,09) et d'un troisième coefficient légèrement positif. Les coefficients avant le pic ne sont pas pris en compte. Les coefficients suivants ont des amplitudes qui décroissent globalement avec leur rang, d'environ-0, 05 à une valeur quasiment nulle en valeur absolue. Les coefficients sont classés en G groupes de dynamiques différentes. Dans cet exemple, on a déterminé G = 3 groupes GI, G2, G3 de coefficients, avec NI = 10 coefficients, N2 = 50 et N3 = 120, les dynamiques des groupes respectifs étant de Al = 22 bits, A2 = 20 bits et A3 = 4 bits. On peut alors considérer que les 22 bits représentent une dynamique en décimal de 0 à 0,32, suffisante pour le premier coefficient. Dans ce cas, A2 correspond en décimal à 0,08 et A3 à environ Al/250 000. La distorsion, et donc la réponse impulsionnelle, dépend du type de codage utilisé pour l'émission des symboles et de la vitesse ou débit de transmission. Dans le présent exemple, la courbe de réponse impulsionnelle correspond au débit maximal possible, c'est-à-dire que, comme les symboles présentent, pour être transmis à la vitesse de modulation voulue, des transitions rapides correspondant à de hautes fréquences, atténuées et/ou déphasées par la liaison, la distorsion se manifeste proportionnellement de façon maximale. L'enveloppe des coefficients de la figure 2 limite donc, avec l'axe horizontal de rangement des coefficients, la zone de dynamique possible des amplitudes de ces coefficients. Comme exposé ci-dessus, le filtrage d'adaptation, pour égaliser les symboles, consiste à effectuer N multiplications sur N échantillons de symbole avec les N coefficients respectifs. Dans cet exemple, pour optimiser l'adaptation au cours du temps, le bloc de filtrage 3 étant adaptatif, on additionne les résultats des multiplications pour obtenir une fonction d'erreur, encore dite fonction de coût, commandant en rebouclage un bloc de calcul qui ajuste, après chaque filtrage de symbole, les valeurs des coefficients de pondération en vue d'obtenir une valeur moindre de la fonction de coût lors du filtrage du symbole suivant. On notera toutefois que cette adaptation en retour des coefficients n'est qu'une option, prévue dans cet exemple. Dans un autre exemple, le filtre d'adaptation pourrait fonctionner avec des coefficients fixés de façon définitive à la mise en service, par exemple dans le cas d'un précodeur d'une chaîne d'émission. En pratique, pour limiter le volume de matériel, les N multiplications s'effectuent séquentiellement dans un même bloc de calcul et chaque résultat d'une multiplication est additionné aux précédents dans un additionneuraccumulateur. Dans un filtre de l'art antérieur, le bloc de multiplication présenterait un format unique, pour tous les coefficients, c'est-à-dire 22 bits par exemple. Compte tenu du fait que la majorité (N3) des N coefficients ne nécessite que 4 bits utiles, les étages binaires de multiplication par 0, des 18 bits de poids fort, seraient inutiles une majeure partie du temps. Cela représenterait un volume excédentaire de matériel et/ou une consommation inutile d'énergie. La présente invention évite ces inconvénients, comme illustré sur la figure 3. A cet effet, recevant dans le bloc de filtrage 3 une pluralité de N échantillons d'un signal de symbole numérique à adapter en multipliant chaque échantillon par un coefficient de pondération particulier d'une pluralité correspondante de N coefficients, on classe les coefficients en plusieurs groupes G1, G2, G3 de dynamiques différentes, ayant chacun un seuil haut spécifique Al, A2, A3, et le traitement, par les coefficients de chaque groupe G1, G2, G3, est limité au seuil haut Al, A2, A3, de ce groupe. On notera que le classement par groupes des N coefficients est équivalent à un classement semblable des N échantillons, d'après la dynamique du coefficient associé à chacun. Sur la figure 2, on voit que la somme des surfaces des rectangles AI. N1, A2. N2 et A3. N3, représentant la puissance de calcul nécessaire, est bien moindre que celle du rectangle fictif Al. N qui correspondrait à un calcul classique. Le traitement de classement par groupes est effectué avec un outil de test et l'opérateur estime un compromis optimal entre le nombre G des groupes à constituer, qui doit rester limité, et le fait que certains des coefficients d'un groupe conservent, dans leur format restreint à la dynamique de leur groupe, un ou plusieurs poids forts lorsqu'ils ont une dynamique ne dépassant pas la moitié du seuil haut du groupe considéré, mais toutefois supérieure au seuil haut du groupe de moindre dynamique. L'opérateur détermine alors le schéma du filtre, avec le nombre de blocs de multiplication et leur format. Le principe ci-dessus, de fenêtrage par limitation du traitement au seuil haut du groupe, peut être mis en oeuvre de deux façons. Selon la première, non illustrée, on utilise un bloc de multiplication unique, commun, dont on peut inhiber, en fonction de la dynamique prévue, un nombre déterminé d'étages binaires de poids les plus forts. On les met alors au repos, en état de veille à consommation réduite ou totalement hors tension. Dans l'exemple numérique ci-dessus, avec les trois groupes indiqués, on inhibe alors respectivement zéro, deux et dix-huit étages de poids les plus forts. La figure 3 illustre la seconde façon de mettre en oeuvre ce principe. Dans ce cas, le bloc de filtrage 3 comporte un bloc de multiplication qui est constitué d'autant de blocs élémentaires de multiplication qu'il y a de groupes, ici G = 3, chaque bloc élémentaire ayant un nombre d'étages binaires correspondant à la dynamique Al, A2, A3 du groupe associé Gl, G2, G3, donc ici respectivement 22,20 et 4 étages. Le schéma de la figure 3 représente le bloc de filtrage 3, comportant des circuits de multiplication de l'amplitude Xk (k = 1 à N) de N échantillons d'un symbole à adapter par égalisation, dont l'amplitude est codée sur P bits, par N coefficients respectifs. Les échantillons Xk entrent dans une mémoire tampon 10 qui est ici un registre à décalage à N étages à sorties parallèles. Le registre 10 comporte G = 3 zones de 11, 12, 13, de réception de NI, N2, N3 échantillons auxquelles correspondent, dans une mémoire 40, G = 3 zones 41,42, 43 contenant NI, N2, N3 coefficients respectifs. Les zones mémoires 42 et 43 ont donc un format de données réduit à A2 = 20 et A3 = 4 bits, respectivement. Des blocs de multiplication avec ici accumulation en sortie, au nombre de G = 3, référencés 21,22, 23, sont reliés en entrée, d'un côté, à une zone 11, 12,13 respective et, d'un autre côté, à la zone correspondante 41,42, 43 fournissant les coefficients de pondération des échantillons du registre 10. Plus précisément ici, des multiplexeurs 14, 15, 16 permettent de balayer chaque zone 11, 12, 13 pour traiter les échantillons successifs de la zone considérée dans les blocs de multiplication respectifs 21,22, 23. De façon identique, et en synchronisme, des multiplexeurs 44,45, 46 permettent de lire les coefficients successifs des zones mémoire 41, 42, 43 pour les transmettre en entrée des blocs de multiplication respectifs 21,22, 23. Les blocs 21,22, 23 ont un même type de structure, ici à virgule fixe, mais des tailles respectives allant en décroissant. Chaque bloc 21,22, 23, de structure classique, comporte un multiplieur de tête, référence 27 dans le bloc 21, relié en sortie à un additionneur d'accumulation des résultats des multiplications successives, référencé 28. La sortie de chaque additionneur comme celui référencé 28 est rebouclée en entrée de celui-ci pour ajouter, après chaque cycle élémentaire de multiplication par un coefficient, le nouveau résultat au cumul précédent. Il est ici prévu G circuits 24, 25,26 de contrôle des rebouclages respectifs, pour remettre à zéro les additionneurs respectifs au début d'une nouvelle série de multiplications, pour un autre symbole. Le bloc 21 reçoit donc cycliquement P bits d'échantillon et Al bits de coefficient, comme un bloc de l'art antérieur. Toutefois, comme il n'accumule que les résultats relatifs à NI multiplications, la taille de l'additionneur 28 est limitée à P + CI + log2 (NI) bits. Les blocs 22 et 23 ont par contre des multiplieurs de tailles réduites, P. C2 et P. C3 respectivement, et les deux additionneurs accumulateurs associés ont des tailles respectives de P + C2 + log2 (N2) bits et P + C3 + log2 (N3) bits. Les sorties des circuits de contrôle 24, 25, 26 sont reliées à trois mémoires tampon respectives 31,32, 33 pour y mémoriser le résultat de chaque bloc 21, 22, 23 dans l'attente des autres et pour ensuite en calculer la somme dans un additionneur 30. L'additionneur 30 est relié en sortie à un bloc de calcul 34 qui fait évoluer les valeurs des coefficients de la mémoire 40 en vue de réduire, pour les symboles suivants, une fonction de coût, ou d'erreur d'adaptation, représentée par le cumul issu de l'additionneur 30. Dans le cas d'un fonctionnement séquentiel des blocs 23, 22 puis 21, intervenant l'un après l'autre pour effectuer les multiplications, on peut prévoir que la mémoire tampon 33 soit un circuit de retard, tel que registre à décalage, présentant un retard de (N2 + N3) T, T étant la période élémentaire d'une multiplication-accumulation relative à un coefficient et correspondant à un rythme commun aux blocs 21,22, 23. De façon semblable, la mémoire 32 retarde de N2. T et la mémoire 31 est alors omise. Ainsi, les décalages temporels entre les sorties des blocs 23, 22, 21 sont compensés et l'additionneur 30 additionne ainsi, en phase et à la volée, les trois premiers résultats courants des blocs respectifs 21,22, 23 puis cycliquement les trois résultats courants suivants pendant un nombre, de périodes élémentaires T, représentant le plus grand des nombres NI, N2, N3. Les additionneurs accumulateurs comme celui référencé 28 sont alors omis. La sortie des blocs 21, 22, 23 passe à zéro sous l'effet du circuit 24,25, 26 lorsque le bloc 21,22, 23 considéré a terminé ses calculs. En variante, les G = 3 périodes de fonctionnement des multiplieursaccumulateurs 23,22, 21 ne sont pas calées sur leur front avant comme ci-dessus mais sur leur front arrière, avec des retards de NI + N2 et de NI pour les mémoires 33 et 32 respectives, afin que le bloc de calcul 34 termine l'accumulation des sommes partielles, des résultats courants, de l'additionneur 30 dès que le dernier bloc 21, à faible nombre de coefficients, a terminé son traitement. Ainsi, on retarde de façon spécifique les résultats de multiplication de certains groupes pour les recaler sur ceux d'un autre groupe et additionner les résultats de multiplication de tous les G groupes. La fonction des additionneurs accumulateurs tels que celui référencé 28 est donc alors déportée dans le bloc 34, ou simplement dans l'additionneur 30, qui sert d'addition accumulateur commun fonctionnant à la volée. On peut prévoir, comme indiqué, que les trois blocs de multiplication 21, 22, 23 fonctionnent l'un après l'autre, pour traiter les opérations des groupes GI, G2puisG3. On peut aussi les faire intervenir simultanément pour effectuer en parallèle les multiplications, éventuellement à des vitesses différentes. En pareil cas, le bloc de multiplication 21 du groupe Gl, qui n'a qu'un nombre très limité de coefficients à traiter, peut alors être constitué de circuits intégrés d'une technologie à faible consommation, suffisante pour fonctionner à la faible vitesse requise. On peut, en variante prévoir, uniquement G-1, soit ici 2, blocs de multiplication pour les G-1 derniers groupes, à grand nombre de coefficients et à faibles dynamiques. Les deux blocs de multiplication 22,23 ci-dessus fonctionnent alors simultanément, indépendamment l'un de l'autre, pour traiter leurs coefficients respectifs à A2 = 20 ou A3 = 4 bits utiles, puis on les monte en cascade pour ainsi former un bloc de multiplication de dynamique A2 + A3 = 24 bits, donc au moins égale à la dynamique Al de 22 bits requise pour le groupe Gl. En variante de la figure 3, on peut omettre le registre 10 et les multiplexeurs 14, 15, 16 et appliquer directement les échantillons courants Xk aux trois blocs 21, 22, 23 pour qu'ils soient traités à la volée dans celui qui convient, les autres étant inhibés. On détermine à la volée, par un compteur d'un séquenceur non représenté, les rangs des échantillons qui arrivent successivement, pour déterminer à chaque fois la dynamique du coefficient de même rang et ainsi limiter le traitement de façon correspondante. Le compteur sélectionne le bloc 21,22, 23 qui convient et commande les multiplexeurs 44, 45, 46 pour lire le coefficient ci-dessus. De façon similaire, la mémoire 40 et les multiplexeurs 44,45, 46 peuvent être remplacés par une mémoire à fonctionnement en anneau, tel que registre à décalage, avec une seule sortie commandant à chaque instant d'un des blocs de multiplication 21,22, 23. Lorsqu'on prévoit, pour une raison quelconque, de réduire la vitesse de modulation ou transmission en ligne par rapport à la vitesse pour laquelle la courbe de réponse de la figure 2 a été établie, on peut en déduire que la distorsion va être réduite, ce qui a pour effet de réduire, à une valeur négligeable, la dynamique A3 des coefficients de dernier groupe, G3. En pareil cas, on n'effectue aucun traitement des symboles avec les coefficients du groupe G3. On peut alors inhiber le bloc 23, en le laissant à l'état de veille, quasiment ou totalement hors tension. Le filtre d'adaptation 3 est ainsi fonctionnellement configuré de façon dynamique selon les besoins. D'une façon générale, l'inhibition de tout ou partie d'un bloc de multiplication 21,22, 23 peut être effectuée à travers un circuit spécifique bloquant l'alimentation ou encore en bloquant une horloge commandant le bloc, ce qui interrompt toute consommation dans le cas de la technologie C. MOS. REVENDICATIONS 1-Procédé d'adaptation de signaux de symboles numériques représentés chacun par une pluralité d'échantillons, dans lequel on multiplie chaque échantillon par un coefficient de pondération particulier d'une pluralité correspondante de coefficients, procédé caractérisé par le fait que - on classe préalablement les coefficients en plusieurs groupes (gel, G2, G3) de dynamiques différentes (Al, A2, A3) ayant un seuil haut spécifique, - le traitement, par les coefficients de chaque groupe, étant limité au seuil haut (Al, A2, A3) de ce groupe (gel, G2, G3). 2-Procédé selon la revendication 1, dans lequel les groupes interviennent l'un après l'autre pour effectuer les multiplications. 3-Procédé selon la revendication 1, dans lequel les groupes interviennent simultanément pour effectuer en parallèle les multiplications. 4-Procédé selon l'une des revendications 1 à 3, dans lequel on additionne les résultats des multiplications pour calculer une fonction d'erreur et, après traitement de chaque symbole, on fait varier les valeurs des coefficients en vue de réduire la fonction d'erreur des symboles suivants. 5-Procédé selon la revendication 4, dans lequel, effectuant les traitements des divers groupes (gel, G2, G3) à un rythme commun, on retarde de façon spécifique les résultats de multiplication de certains groupes (gel, G2, G3) pour les recaler sur ceux d'un autre groupe et additionner les résultats de multiplication de tous les groupes. 6-Procédé selon la revendication 5, dans lequel on additionne à la volée les résultats courants de multiplication des divers groupes dans un additionneur-accumulateur commun (30,34). 7-Procédé selon l'une des revendications 1 à 6, dans lequel on détermine à la volée les rangs d'échantillons qui arrivent successivement pour déterminer à chaque fois la dynamique du coefficient de même rang et ainsi limiter le traitement de façon correspondante. 8-Procédé selon la revendication 2, dans lequel, les multiplications des groupes étant effectuées dans un bloc de calcul commun (21), on en inhibe un nombre d'étages de poids forts déterminé d'après la dynamique (Al, A2, A3) du groupe à traiter. 9-Filtre pour la mise en oeuvre du procédé de la revendication 1, comportant des moyens (10,14, 15,16, 21,22, 23,40, 44,45, 46) de multiplication des échantillons de signaux de symboles numériques, à traiter par multiplication par des coefficients de pondération de diverses dynamiques (Al, A2, A3), caractérisé par le fait que les moyens de multiplication sont agencés pour limiter les traitements auxdites dynamiques. 10-Filtre selon la revendication 9, dans lequel les moyens de multiplication comportent plusieurs blocs en parallèle (27) de multiplication à virgule fixe associés en sortie à des moyens additionneurs (28,30, 34).