Brevet FR2675968A1 — publié le 19921030

Procédé de décodage d'un code convolutif à maximum de vraisemblance et pondération des décisions, et décodeur correspondant Le domaine de l'invention est celui du décodage de données numériques reçues dans un décodeur, et notamment de données transmises en présence de bruit de transmission. Plus précisément, le procédé de l'invention concerne le décodage de données obtenues selon un codage convolutif De façon connue, les codes convolutifs associent à une donnée source à transmettre au moins une valeur codée obtenue par combinaison linéaire de cette donnée source avec au moins une des données source précédentes. Classiquement, de tels codes sont décodés à l'aide d'un algorithme à maximum de vraisemblance, du type de l'algorithme de Viterbi Cet algorithme fournit une estimation binaire de chaque symbole codé à l'émission Cette estimation s'avère donc, selon le succès du décodage, ou totalement bonne, ou totalement mauvaise. Il est apparu qu'il est particulièrement intéressant de pondérer les décisions prises par un algorithme de décision à maximum de vraisemblance, notamment lorsque le code convolutif mis en oeuvre est concaténé avec un ou plusieurs autres codes, tels que par exemple un code du type des codes de Reed-Solomon En effet, cela permet alors d'informer le décodeur de ce code concaténé de la fiabilité de l'estimation qui lui est transmise. Un décodeur à décisions pondérées délivre donc en sortie une information codée sur N bits, le bit de poids fort étant identique à celui délivré par le décodeur classique et les n-1 bits restants représentant la fiabilité affectée à la décision. On sait que l'algorithme de Viterbi, qui sera décrit plus en détail par la suite, repose sur la détermination d'un chemin optimal dans un treillis, par l'élimination systématique d'un chemin parmi deux chemins possibles atteignant chaque noeud du treillis Pour chaque noeud, on détermine donc deux métriques de transition, représentatives de la distance entre la transition possible sur chaque chemin et la valeur effectivement reçue par le décodeur Ces métriques de transition permettent de calculer des métriques cumulées, représentatives du bruit cumulé sur le chemin considéré Une métrique cumulée est ainsi une intégrale des métriques de transition Selon l'algorithme de Viterbi, seul le chemin correspondant à la métrique cumulée la plus faible est conservé. Il apparaît clairement que l'élimination systématique d'un chemin introduit un risque d'erreur, notamment lorsque les deux métriques calculées sont proches. En revanche, lorsque l'une des métriques est faible et l'autre élevée, la probabilité d'erreur d'estimation est faible La première idée mise en oeuvre pour pondérer l'algorithme de Viterbi a donc été d'associer, à chaque noeud, un coefficient de pondération égal à la différence entre les deux métriques cumulées. Ce mode de pondération, particulièrement simple, n'est pas optimal, en termes de résultat. On connaît par ailleurs, par le document de brevet français FR-85 11863, déposé le 02 08 1985 au nom de Battail, un procédé amélioré de décodage à pondération des symboles décodés par l'algorithme de Viterbi Selon ce procédé, le coefficient de pondération associé à une décision est déterminé en tenant compte des deux chemins qui ont servi à la déterminer, c'est-à-dire en tenant compte des deux suites de valeurs associées aux deux noeuds antécédents du noeud considéré. Ce procédé donne des résultats beaucoup plus satisfaisants que le principe de base En revanche, il s'avère extrêmement complexe à mettre en oeuvre En effet, il impose la mémorisation permanente des deux chemins associés à chaque noeud, ainsi qu'un nombre élevé de calculs à chaque instant de réception En pratique, ce procédé ne peut pas être implanté sur un circuit intégré pour être diffusé industriellement à un coût raisonnable. L'invention a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, l'invention a pour objectif de fournir un procédé de décodage de code convolutif à maximum de vraisemblance et pondération des décisions, dont les résultats sont quasi-optimaux, et en particulier supérieurs à ceux des procédés déjà connus Un objectif essentiel de l'invention est donc, en d'autres termes, de fournir un tel procédé assurant une répartition statistique de la pondération quasiment gaussienne. L'invention a également pour objectif de fournir un tel procédé, limitant la complexité de mise en oeuvre, tant en ce qui concerne les moyens de stockage que les moyens de traitement nécessaires Un objectif particulier de l'invention est ainsi de fournir un tel procédé de décodage, qui soit aisément implantable sur silicium, et donc réalisable à faible coût industriellement. Un autre objectif de l'invention est de fournir un tel procédé compatible avec tous les types de codes convolutifs, binaires ou plus généralement n-aires, quels que soient leur rendement (égal à 1/R, avec R entier supérieur à 1) et leur longueur de contrainte, qu'ils soient ou non poinçonnés Notamment, l'invention a pour objectif de fournir un tel procédé permettant le décodage de données codées selon le procédé décrit dans la demande de brevet conjointe, déposée aux noms des mêmes déposants, et intitulée "procédé de codage convolutif correcteur d'erreurs pseudo-systématique, procédé de décodage et dispositifs correspondants". De même, l'invention a pour objectif de fournir un tel procédé, qui puisse être mis en oeuvre conjointement avec un ou plusieurs autres décodeurs concaténés. L'invention a également pour objectif de fournir un décodeur utilisant un tel procédé de décodage. Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un procédé de décodage à maximum de vraisemblance d'une séquence d'échantillons reçus R(t), correspondant au codage convolutif d'une séquence d'éléments numériques source a(t), du type associant à chacun desdits échantillons reçus R(t) une estimation s(t) de l'élément numérique source correspondant a(t) et un coefficient de pondération m(t) représentatif de la fiabilité de ladite estimation s(t), ladite estimation s(t) prenant en compte les valeurs d'une première série de L échantillons reçus, comprenant ledit échantillon reçu R(t) correspondant audit élément numérique source a(t) et les L-1 échantillons reçus suivants R(t+ 1),, R(t+L-1), L étant supérieur ou égal à 2, et ladite pondération - i m(t) prenant en compte les valeurs d'une seconde série de N échantillons reçus, comprenant ledit échantillon reçu R(t) correspondant audit élément numérique source a(t) et les N-1 échantillons reçus suivants R(t+l),, R(t+L-1),, R(t+N-1), N étant strictement supérieur à L. Il s'avère en effet particulièrement efficace, après avoir décidé de l'estimation d'une valeur, de suivre encore l'évolution des échantillons reçus pour lui affecter un coefficient de pondération. Dans le cas d'un procédé de décodage du type comprenant une étape d'estimation de la valeur s(t) de chacun desdits éléments numériques source a(t), prenant en compte, pour l'estimation de la valeur d'un élément numérique source s(t), les valeurs d'une série d'échantillons reçus, comprenant l'échantillon reçu R(t) correspondant audit élément numérique source a(t) et au moins un des échantillons reçus suivants R(t+l),, R(t+L-1), et une étape de pondération de l'estimation s(t) consistant à associer, à chacune desdites estimations s(t), un coefficient de pondération m(t) représentatif de la fiabilité de ladite estimation, ce procédé comprend avantageusement également une étape de révision dudit coefficient de pondération consistant à réviser, à chaque instant de réception t, chacun des coefficients de pondération m(t-N-1) à m(t-L-1), correspondant aux N-L dernières valeurs estimées s(t-N-1) à s(t-L-1), en fonction de l'échantillon reçu R(t). L'invention concerne notamment un procédé du type consistant à décider, à l'aide d'un algorithme décisionnel du type de l'algorithme de Viterbi, d'une estimation s(t) de la valeur de chacun desdits éléments numériques source a(t), ledit algorithme décisionnel définissant un premier treillis T( 2 v, L) des états possibles du codage, comprenant un ensemble de noeuds, organisé en L colonnes, ou niveaux de profondeur, de 2 v noeuds, L étant le nombre d'échantillons reçus R(t-L-1),, R(t) pris en compte pour l'estimation s(t) de la valeur d'un desdits éléments numériques source a(t), et 2 v étant le nombre d'états possibles du code convolutif à un instant donné, v étant la longueur de contrainte du code utilisé, chacun desdits noeuds d'un niveau de profondeur i donné correspondant à un i instant de réception donné, et étant relié à deux noeuds du niveau de profondeur précédent i 1, correspondant à l'instant de réception précédent, par l'intermédiaire de deux chemins, chaque chemin correspondant à une transition possible selon ledit code convolutif, ladite étape d'estimation consistant à: déterminer, pour chaque noeud dudit premier treillis, le chemin y aboutissant le plus probable, ou chemin survivant, et éliminer dudit premier treillis le chemin concurrent dudit chemin survivant, le chemin survivant étant celui présentant la distance cumulée, ou métrique cumulée, M ou M 1 la plus faible; remonter dans ledit premier treillis le chemin optimal, en partant du noeud présentant la métrique cumulée la plus faible sur le premier niveau de profondeur, correspondant au dernier échantillon R(t) reçu, et en suivant à chaque niveau le chemin survivant associé au noeud atteint, associer à l'estimation s(t-L) correspondant au décodage de l'échantillon reçu R(t-L-1), la valeur du noeud terminal dudit chemin optimal, et ladite étape de pondération consistant à associer à ladite estimation s(t-L) un coefficient de pondération m(t-L), représentatif de la fiabilité de ladite estimation s(t-L), ledit coefficient de pondération étant obtenu par analyse des métriques cumulées M 9 et M 1 associées à chacun des noeuds dudit chemin optimal, ledit procédé étant caractérisé en ce qu'il comprend une étape de révision desdits coefficients de pondération, consistant à, à chaque instant de réception t: mémoriser le coefficient de pondération m(t-L) associé à ladite estimation s(t-L); définir un second treillis T'( 2 v, L') des états possibles du codage, o L'=N-L, consécutif audit premier treillis T( 2 v, L), correspondant aux instants de réception compris entre t-L-1 et t-L-L'; remonter, dans ledit second treillis, les deux chemins concurrents correspondant aux deux chemins issus dudit noeud terminal du chemin optimal du premier treillis; réviser les valeurs de chacun des coefficients de pondération m(t-L-1) à m(t-N-1) associé respectivement à chacune des estimations s(t-L-1) à s(t-N-1) des valeurs des échantillons numériques reçus entre les instants t-L-1 et t-N-1, en fonction d'une comparaison niveau à niveau des valeurs sk et s'k correspondant à ces échantillons numériques reçus, sur les deux chemins concurrents. Dans un mode de réalisation préférentiel de l'invention, ledit coefficient m(t- L) déterminé lors de ladite étape de pondération est égal à la valeur absolue A Mt-L de la différence entre les deux métriques M t L et M't-L associées audit noeud terminal dudit chemin optimal, encore appelée indice de concurrence, lesdites métriques M t-L et Mlt-L étant le cumul des distances L ou L 1 calculées pour chaque noeud dudit chemin optimal, lesdites distances représentant l'écart entre le symbole reçu et les symboles correspondant aux deux transitions possibles pour atteindre ce noeud. En effet, l'écart entre ces deux métriques est directement représentatif de la confiance que l'on peut accorder à une estimation Si les deux métriques sont proches, la décision sera peu fiable Au contraire, si l'une des métriques est élevée et l'autre faible, il est probable que le symbole reçu corresponde effectivement à la métrique faible. Avantageusement, ladite étape de révision réalise, à chaque instant de réception t et pour chacun des niveaux k dudit second treillis, une comparaison des valeurs sk et S k correspondant à l'échantillon reçu R(tL-k) sur chacun des deux chemins concurrents, ledit indice de concurrence mk étant révisé à la baisse si ces valeurs sk et s'k sont différentes. i est important en effet que la confiance accordée à une estimation donnée ne soit pas supérieure à la confiance accordée au choix du chemin permettant d'y parvenir. Dans un mode de réalisation particulier de l'invention, lorsque lesdites valeurs sk et s'k correspondant à l'échantillon reçu R(t-L-k) sur chacun des deux chemins concurrents sont différentes, ledit indice de concurrence mk est pris égal à la plus petite des valeurs mk et m L, m L étant l'indice de concurrence associé à l'estimation s(t-L), origine desdits chemins concurrents, déterminé lors de ladite étape de pondération. De façon avantageuse, un coefficient de pondération provisoire AM est associé à chacun desdits noeuds dudit premier treillis, chacun desdits coefficients de pondération AM étant mis à jour à chaque instant de réception t, en fonction de l'échantillon reçu R(t). Dans une autre variante de l'invention, ledit indice de concurrence m L est recalculé, à chaque instant de réception t, en fonction des échantillons reçus mémorisés R(t-L) à R(t). Préférentiellement, ladite étape de révision comprend une étape de compression logarithmique dudit indice de concurrence mt-L, avant de le mémoriser. Cette caractéristique, qui a pour but d'obtenir un meilleur échantillonnage des valeurs critiques vis à vis de la décision, permet d'obtenir une réduction très importante des taux d'erreur. Dans un mode de réalisation avantageux, la profondeur L' dudit second treillis est sensiblement égale à la moitié de la profondeur L dudit premier treillis. Il ne faut pas, en effet, que la longueur L' soit trop importante Dans le cas contraire, il apparaît des problèmes de révision inopportune à la baisse, lorsque les deux chemins concurrents sont faux. Les échantillons reçus R(t) peuvent notamment être du type comprenant, à au moins certains instants t, deux données codées distinctes X(t) et Y(t) correspondant audit élément numérique source a(t). Il peut en particulier s'agir de données produites par des codes convolutifs classiques, séparables, systématiques, ou tels que décrits dans la demande de brevet conjointe déjà citée. L'invention concerne également un décodeur mettant en oeuvre le procédé décrit ci-dessus, et notamment un décodeur d'une séquence d'échantillons reçus R(t), correspondant au codage convolutif d'une séquence d'éléments numériques source a(t), caractérisé en ce qu'il comprend: des moyens de mémorisation desdits premier et second treillis, se comportant comme des registres à décalage niveau par niveau; des moyens de remontée dudit chemin optimal, dans ledit premier treillis, et des moyens de remontée des deux chemins concurrents dans ledit second treillis; des moyens de mémorisation de l'ensemble desdits indices de concurrence associés à chacun des noeuds dudit premier treillis, de taille L x 2 Y x g, g étant le nombre de bits utilisés pour le codage d'un indice de concurrence; un registre à décalage, pour la mémorisation des coefficients de pondération m(t-L-1) à m(t-L-L'); des moyens de révision desdits coefficients de pondération, en fonction des deux chemins concurrents remontés dans ledit second treillis. Dans un autre mode de réalisation, les moyens de mémorisation de l'ensemble desdits indices de concurrence associés à chacun des noeuds dudit premier treillis, peuvent être remplacés par des moyens de mémorisation de l'ensemble des échantillons reçus R(t-L) à R(t), de taille L x n, N étant le nombre de bits utilisés pour le codage de la valeur d'un échantillon reçu. Avantageusement, ledit registre à décalage pour la mémorisation des coefficients de pondération est alimenté par l'indice de concurrence mt L dudit noeud final dudit chemin optimal, transformé selon une loi logarithmique. D'autres caractéristiques et avantages apparaîtront à la lecture de la description d'un mode de réalisation préférentiel de l'invention, donné à titre illustratif et non limitatif, et des dessins annexés dans lesquels: la figure 1 est un schéma du codeur convolutif considéré dans le mode de réalisation décrit, correspondant au code dit "standard", ayant une longueur de contrainte v égale à 2 et un rendement de 1/2; la figure 2 est un treillis des états du codage, représentatif du fonctionnement du codeur de la figure 1; la figure 3 est un treillis de décodage, mis en oeuvre dans un algorithme de Viterbi, de dimension horizontale, ou profondeur, L et de dimension verticale 2 V; la figure 4 présente la structure complète d'un décodeur mettant en oeuvre le procédé de l'invention, comprenant notamment un premier et un second treillis; la figure 5 est un schéma synoptique d'un exemple de module de calcul des métriques et des chemins survivants associés, selon un procédé connu; la figure 6 est un schéma synoptique d'un exemple particulier de réalisation d'un décodeur tel que représenté en figure 4; la figure 7 présente un schéma synoptique détaillé du module de remontée du chemin optimal du décodeur de la figure 6; la figure 8 présente un schéma synoptique détaillé du module de révision de la concurrence du décodeur de la figure 6; la figure 9 illustre une variante du calcul des coefficients de pondération, par rapport aux moyens mis en oeuvre dans le décodeur de la figure 6; la figure 10 présente une série de courbes illustrant les performances du procédé de l'invention, dans le cas d'un code de longueur de contrainte 4 et de rendement 4/7 concaténé à un code de longueur de contrainte 2 et de rendement 7/8, les deux décodeurs travaillant en décisions fines. Le fonctionnement du procédé de l'invention est décrit ci-dessous en détail dans le cas d'un code convolutif standard, de longueur de contrainte v= 2 et de rendement 1/2, obtenu à l'aide d'un codeur tel que représenté en figure 1. Toutefois, il est clair que ce procédé de décodage peut s'appliquer à tous les codes convolutifs de rendement 7 = 1/R (R entier > 1)quels qu'ils soient, par simple généralisation du procédé décrit. La figure 1 présente donc un codeur standard, qui associe à chaque donnée source a(t) deux valeurs codées distinctes X(t) et Y(t), obtenues par les sommes modulo 2 (OU exclusif) 11 et 12 de cette donnée source a(t) avec l'une au moins des données source précédentes a(t-1), a(t-2) mémorisées dans les cellules 13 A, 13 B d'un registre à décalage 13. Le fonctionnement de ce codeur peut être décrit par le diagramme du treillis représenté en figure 2 Cette présentation a été proposée par G D Forney, dans l'article 'The Viterbi algorithm" (Proc IEEE, mars 1973, 61, n 3, pp 268 278). L'algorithme de Viterbi est une technique de décodage qui permet de trouver dans le treillis le chemin à vraisemblance maximale, c'est-à- dire le chemin le plus probable par rapport à celui décrit à l'émission par le codeur. Chaque noeud 21 du treillis utilisé lors du décodage contient une information sur le chemin survivant, parmi les chemins 22 A et 22 B aboutissant au noeud 21 Le principe de base de l'algorithme de Viterbi est en effet de ne considérer, en chaque noeud, que le chemin le plus probable, de façon à permettre de remonter aisément le treillis, et donc de déterminer, a posteriori, une estimation de la valeur reçue plusieurs instants de réception auparavant. Le treillis utilisé au décodage, noté T( 2 V, L), est représenté en figure 3 Il a une dimension "verticale" égale au nombre d'états possibles du codeur, soit 2 v, v étant la longueur de contrainte du code, c'est-à-dire le nombre d'éléments mémoires utilisés lors du codage, et une dimension "horizontale", appelée profondeur, notée L Dans le cas présent, 2 v est égal à 4. Par ailleurs, il est clair que l'algorithme est d'autant plus efficace que L est grand, puisque L correspond au nombre d'échantillons reçus pris en compte pour le décodage d'un échantillon donné. L'algorithme de Viterbi est notamment décrit dans l'article "Error bounds for convolutional codes and an asymptotically optimum decoding algorithm" (Viterbi A J, IEEE Trans IT, USA (nov 1967), 13, n 6, pp 260 269) On rappelle ici, sur l'exemple du code standard, les opérations effectuées dans cet algorithme en une période d'horloge T: 1/ On calcule les distances, encore appelées métriques de transition ou métriques de branche, entre les symboles reçus et les symboles correspondant aux 8 transitions possibles 31, à savoir: L j = Ix' x jl 1 + Iy' Yll L 1 I= Ixl -X 1 l 1 + y' I pour j variant de O à 3, et o: (X',Y') représente le couple effectivement reçu et échantillonné sur n bits; X O j (respectivement Yj) représente la valeur X (respectivement Y) considérée sur la transition aboutissant à l'état j et correspondant à une valeur a(t-2) quittant le registre du codeur égale à O (correspondant aux liaisons en pointillé sur la figure 3); Xlj (respectivement Y 1 l) représente la valeur X (respectivement Y) considérée sur la transition aboutissant à l'état j et correspondant à une valeur a(t-2) quittant le registre du codeur égale à 1 (correspondant aux liaisons en trait plein sur la figure 3). Dans le cas général, 2 "+ 1 transitions sont ainsi calculées. 2/ A chaque état j est associé un additionneur-accumulateur contenant la métrique cumulée M telle que: Mo (t) = M O (t-1) + Lo (t-1); M 1 o (t) = M 1 (t-1) + L 1 o (t-1) M 1 (t) = M 2 (t-1) + L 01 (t-1); Mll (t) = M 3 (t-1) + L 1 l (t-1) M 02 (t) = M O (t-1) + L 2 (t-1); M 12 (t) = M 1 (t-1) + L 12 (t-1) M 03 (t) = M 2 (t-1) + L 03 (t- 1); M 13 (t) = M 3 (t-1) + L 13 (t-1) Ml V (t) = min (Mj (t); Mlj (t)) 3/ A chaque état j est associé un point mémoire, par exemple une bascule D, et l'ensemble du treillis constitue un registre de dimension ( 4, L) Sur la figure 3, le décalage a lieu de la droite vers la gauche Au premier niveau (i= 1), le contenu si de la bascule associée à l'état j est mis à O si M j (t) Ml (t) sj est donc directement représentatif du signe de M O i (t) Mlj (t) 4/ On remonte le chemin mémorisé dans le treillis de i= 1 à i=L en partant de l'état pourvu d'une métrique cumulée Mj la plus faible, parmi 4, et en utilisant à chaque niveau de cette remontée le contenu de la bascule à laquelle on aboutit, pour choisir entre les deux transitions possibles Le bit décodé provient alors de la bascule au niveau i=L, en fin de chemin remonté Ainsi, à l'instant t, on décode le bit a(t-L); / On effectue un décalage complet du treillis et on recommence à la période d'horloge suivante. A titre d'exemple, on décrit ci-dessous un mode de réalisation d'un module de calcul des métriques et des chemins survivants associés, tel qu'il peut être mis en oeuvre dans un décodeur, en relation avec la figure 5. Les données reçues X' et Y', échantillonnées sur N bits, sont introduites dans un module 51 de calcul des distances, selon le principe décrit plus haut (étape 1), produisant en sortie les valeurs L O j et Llj. Deux sommateurs 52 et 53 déterminent les métriques cumulées: M O j = M(t1) + L j MW = M'(t-1) + Lli w J = Les valeurs M(t-1) et M'(t-1) ne sont pas indicées: elles dépendent du treillis considéré, et donc du code utilisé Par exemple, si l'on considère le treillis de codage de la figure 2, ces valeurs sont obtenues de la façon décrite à l'étape 2 ci- dessus. Un soustracteur 54 détermine ensuite la différence entre les deux métriques cumulées M j et Mlj, codée sur p bits Cette différence peut se décomposer entre le signe sj(t) de la différence et la valeur absolue AM 1 (t) de cette différence, qui correspond à une pondération de la décision sur le signe. Le signe sj(t) désigne la métrique cumulée la plus faible Il pilote donc un multiplexeur 2 vers 1 55, qui dirige la métrique concernée M 1 (t) vers les bascules 56. Selon l'invention, un coefficient de pondération est associé à chacun des bits décodés, puis révisé au moins une fois Pour cela, dans le mode de réalisation décrit, et ainsi que cela est représenté en figure 4, le premier treillis T( 2 V, L) 42 est complété sur sa gauche, c'est-à-dire après le niveau i=L, par un second treillis T'( 2 V, L') 41. En parallèle avec le premier treillis 42 est disposée une mémoire 43 de type FIFO ("First In First Out"; "premier entré premier sorti"), de taille Lx 2 v x/. Cette mémoire 43 est alimentée, à chaque période d'horloge, par les 2 v grandeurs: &Mj (t) = I M j (t) (t) l pour j variant de 0 à 2 v -1, A Mi (t) étant codé sur ja bits. On appellera par la suite A 1 V (t) "indice de concurrence", "mesure de concurrence", ou "concurrence". En parallèle avec le second treillis 41 est disposé un registre à décalage 44, de taille L'x(n-1) Ce registre 44 est alimenté par la concurrence issue de la mémoire FIFO 43 au niveau i=L, à l'adresse correspondant à l'état JL auquel la remontée du chemin optimal 47 du premier treillis 42 a abouti. Avantageusement, cette concurrence est modifiée avant d'être mémorisée dans le registre 44, selon une loi de compression logarithmique 45, de la forme Olog( 1 + x/0) De très bons résultats sont notamment atteints avec O = 1. Soient m L cette concurrence modifiée par la compression logarithmique 45, et mk le contenu du registre 44 au niveau k (k>L), m L et mk étant codées sur n-1 bits Soit également s L la valeur binaire contenue dans la bascule d'adresse i=L, J=JL' SL est le signe associé à m L. La caractéristique essentielle de l'invention est de poursuivre ( 48) dans le second treillis 41 la remontée 47 du chemin à vraisemblance maximale du premier treillis 42, et de remonter, dans le même temps, également dans le second treillis 41, le chemin concurrent 49 du chemin à vraisemblance maximale 48 Ce chemin concurrent 49 est l'autre chemin quittant l'état JL, c'est-à-dire le chemin donné par le signe SL Soient sk et s'k les contenus des deux bascules 50 A et 50 B, au niveau k, des deux chemins ainsi remontés simultanément. Une opération de révision du contenu du registre 44 est alors effectuée, sous la forme suivante, pour tout niveau k: si sk s'k et si mk > m L, alors mk = m L Le résultat final du décodage est donné, après une latence L + L'+ 1, sous la forme suivante: pour le signe (valeur binaire estimée), par SL+LU+ 1, pour le poids, ou coefficient de pondération, par m L + L'+ 1. La profondeur L' du second treillis 41 est choisie de façon à obtenir les résultats les plus efficaces Il apparaît ainsi que la longueur L' idéale est de l'ordre de L/2, L étant la profondeur du premier treillis 42 On constate notamment que, lorsque L' est plus élevée, les résultats se dégradent, en particulier du fait de révisions inopportunes lorsque les deux chemins concurrents 48 et 49 sont faux. On présente maintenant un exemple de mise en oeuvre dans un décodeur du procédé qui vient d'être décrit. La figure 6 est un schéma synoptique d'un tel décodeur Il comprend un premier treillis 61, constitué de (L-1) x 2 v bascules D 62 placées en 2 v lignes de L-1 bascules cascadées Ce premier treillis se prolonge directement par un second treillis similaire 63, de profondeur L'. A chaque niveau de profondeur (colonne) du treillis 61 correspond un module 64, à 64 L-l de remontée, déterminant le chemin optimal Le fonctionnement de ce module 64 est précisé plus loin, en liaison avec la figure 7. De même, un module 65 L à 65 L + L' de double remontée est associé à chaque niveau du second treillis 63 Il détermine les deux chemins concurrents utilisés pour réviser les coefficients de pondération m L+ 1 à m L + L'+ 1 Ces modules à double remontée 65 sont constitués de deux modules de remontée simple, tels que décrits en figure 7, placés en parallèle. Parallèlement au treillis 61, le décodeur comprend une mémoire FIFO 66, dont chaque bascule 67 mémorise la concurrence AM correspondant à chaque noeud du treillis 61, codée sur p bits. La mémoire 66 est connectée à un multiplexeur 2 " vers 1 68, piloté par la valeur IL issue du dernier module 64 L-l de remontée, qui désigne l'extrémité du chemin optimal Ce multiplexeur 68 délivre donc la valeur de la métrique cumulée AML qui est transformée par un module 69 de compression logarithmique. Le module 69 de compression logarithmique fournit d'une part la valeur SL opposée au signe de M j (t) M 1 j (t), qui indique l'origine du chemin concurrent du chemin optimal, et qui est transmise au premier module 65 L de double remontée, et d'autre part un coefficient de pondération, ou indice de concurrence, m L. Ce module 69 de compression logarithmique a pour but de mettre l'accent, en terme de qualité d'échantillonnage, sur les valeurs les plus critiques, c'est-à-dire par exemple, si m L est codé entre -7 et + 7, sur les valeurs proches de 0 Cela permet de diviser environ par deux le taux d'erreur. Selon l'invention, les indices de concurrence m L + 1 à m L + L'+ 1 sont révisés à chaque instant de réception Pour cela, les indices sont stockés dans des bascules 70 L à 70 L + L' Entre chacune de ces bascules s'intercale un module 71 L+l à 71 L+Il+l de révision de la concurrence, qui compare niveau à niveau les valeurs Sk et s'k présentes sur les deux chemins concurrents, fournies par les modules de double remontée Ce module 71 de révision est décrit plus en détail en relation avec la figure 8. A chaque instant de réception, le décodeur fournit donc finalement les valeurs définitives s L + L'+l et mr L + L'+l* La figure 7 est le schéma de principe d'un module 64 de remontée Ce module comprend un multiplexeur 2 Y vers 1 75, alimenté par les 2 " survivants si au niveau k Le multiplexeur 75 est piloté par la valeur ik issue du module de remontée précédent, et désigne le survivant à considérer sur le chemin optimal au niveau k+l fl transmet à un module 76 cette information sjk qui, combinée à jk, fournit l'adresse jk 1 du noeud de niveau suivant du chemin optimal. Un module de révision 71 est représenté en figure 8 Au niveau k, l'indice de concurrence mk, codé sur n-1 bits est l'une des entrées 81 d'un multiplexeur 2 vers 1 82 L'autre entrée 83 de ce multiplexeur est fournie par un module 84 qui fournit la plus petite des valeurs mk et m D, m L étant l'indice de concurrence issu du module 69 (figure 5) de compression logarithmique. Le multiplexeur 82 est piloté par la sortie d'un OU exclusif 85, qui compare les valeurs sk et s'k des deux chemins concurrents au niveau k Si ces valeurs sont identiques, la valeur mk est conservée Sinon, mk est remplacée par la plus petite des valeurs mk et m L. L'obtention de m L peut également se faire de la façon suivante, plus favorable, d'un point de vue encombrement de circuit, pour les longueurs de contrainte élevées En se référant à la figure 6, la mémoire FIFO 66 contenant les indices de concurrence est remplacée par une autre mémoire, représentée en figure 9 Cette mémoire 91, également de type FIFO, est de taille L x 2 n, pour "transporter" les grandeurs reçues X' et Y' jusqu'au niveau i=L. Il est alors possible, en fin du premier treillis, de recalculer les métriques cumulées et la concurrence modifiée m L, dans un module de calcul 92 Cette variante évite le calcul des 2 v -1 indices de concurrence qui ne sont pas exploités à la sortie de la mémoire 66 (figure 6), dans le procédé précédemment décrit. Les valeurs des indices de concurrence AMO à AM 2 v 1 sont transmises ensuite au multiplexeur 2 V vers 1 68. fl est clair que le procédé de l'invention peut également s'appliquer aux codes systématiques, pseudo-systématiques ou séparables En effet, la fiabilité de la décision binaire peut être attribuée aux symboles X et Y reconstruits suivant les mêmes opérations combinatoires que celles effectuées lors du codage. Dans ce cas, en se référant à la figure 4,la condition de révision du contenu du registre 44 ne porte plus sur la comparaison des bits ak, représentés par sk, des deux chemins concurrents 48 et 49 dans le second treillis 41, mais sur la comparaison des bits Xk ou Yk reconstitués à chaque niveau k. Le procédé de l'invention est quasi-optimal, le terme optimal désignant ici un algorithme de pondération délivrant en sortie du décodeur des décisions dont les pondérations suivent une loi de distribution gaussienne. En effet, on obtient un taux d'erreur binaire identique en sortie d'une chaîne de deux décodeurs dont le premier mettrait en oeuvre un algorithme de pondération optimal, et en sortie d'un seul décodeur, identique au second décodeur de la chaîAne précédente, prélevant ses échantillons sur un canal gaussien dont le taux d'erreur binaire est égal au taux d'erreur binaire observé à la sortie du premier décodeur de la chaîne. La figure 10 illustre les performances du procédé de l'invention, dans le cas d'une concaténation d'un code de longueur de contrainte 4 et de rendement 4/7, dont la caractéristique de taux d'erreur est donnée par la courbe 101, le décodeur travaillant en décisions fines, et d'un code de longueur de contrainte 2 et de rendement 7/8 La courbe 102 est la caractéristique de taux d'erreur de ce second code, le décodeur travaillant également en décisions fines. La courbe 103 représente le taux d'erreur théorique en sortie de chaîne Elle est obtenue de la manière suivante: à un rapport signal à bruit Eb I No donné, Eb étant l'énergie reçue par bit utile et No la densité spectrale monolatérale de bruit, on relève ( 106) le taux d'erreur donné par la courbe 101 à l'abscisse Eb /No A, o A = 10 log 10 ( 8/7); à ce taux d'erreur correspond ( 107) sur la courbe 105 (transmission non codée) un rapport signal à bruit (Eb /No)' auquel on ajoute A = 10 log 10 ( 8/7), afin d'obtenir le rapport signal à bruit pour lequel la courbe 102 fournit ( 108) le taux d'erreur recherché On obtient ainsi le point 109 de la courbe théorique 103. Les croix 104 A, 104 B et 104 C représentent les résultats obtenus par simulation d'un décodeur utilisant le procédé de décodage de l'invention L'écart entre ces résultats et la courbe optimale 103 n'est pas mesurable Le procédé de l'invention est donc, à tout le moins, quasi-optimal. Ce procédé de décodage représente, en terme de circuiterie, une complexité environ double de celle d'un décodeur de Viterbi à décisions binaires, dans le cas o L'=L/2 Il peut donc aisément être implanté sur silicium. Par ailleurs, du fait de la structure série, et éventuellement pipe-line, du décodeur complet représenté en figures 4 et 6, les étapes de pondération et de révision ne pénalisent pas l'étape de décision selon l'algorithme de Viterbi, pour ce qui concerne sa rapidité de traitement de données. REVENDICATIONS 1 Procédé de décodage à maximum de vraisemblance d'une séquence d'échantillons reçus R(t), correspondant au codage convolutif d'une séquence d'éléments numériques source a(t), du type associant à chacun desdits échantillons reçus R(t) une estimation s(t) de l'élément numérique source correspondant a(t) et un coefficient de pondération m(t) représentatif de la fiabilité de ladite estimation s(t), caractérisé en ce que ladite estimation s(t) prend en compte les valeurs d'une première série de L échantillons reçus, comprenant ledit échantillon reçu R(t) correspondant audit élément numérique source a(t) et les L-1 échantillons reçus suivants R(t+ 1),, R(t+L-1), L étant supérieur ou égal à 2, et en ce que ladite pondération m(t) prend en compte les valeurs d'une seconde série de N échantillons reçus, comprenant ledit échantillon reçu R(t) correspondant audit élément numérique source a(t) et les N-1 échantillons reçus suivants R(t+ 1),, R(t+L-1),, R(t+N-1), N étant strictement supérieur à L 2 Procédé selon la revendication 1, du type comprenant une étape d'estimation de la valeur s(t) de chacun desdits éléments numériques source a(t) et une étape de pondération de l'estimation s(t), ladite étape d'estimation prenant en compte, pour l'estimation de la valeur d'un élément numérique source s(t), les valeurs d'une série d'échantillons reçus, comprenant l'échantillon reçu R(t) correspondant audit élément numérique source a(t) et au moins un des échantillons reçus suivants R(t+ 1),, R(t+L-1), ladite étape de pondération consistant à associer, à chacune desdites estimations s(t), un coefficient de pondération m(t) représentatif de la fiabilité de ladite estimation, caractérisé en ce qu'il comprend de plus une étape de révision dudit coefficient de pondération consistant à réviser, à chaque instant de réception t, chacun des coefficients de pondération m(t-N-1) à m(t-L-1), correspondant aux N-L dernières valeurs estimées s(t-N-1) à s(t-L-1), en fonction de l'échantillon reçu R(t). 3 Procédé selon la revendication 2, du type consistant à décider, à l'aide d'un algorithme décisionnel du type de l'algorithme de Viterbi, d'une estimation s(t) de la valeur de chacun desdits éléments numériques source a(t), ledit algorithme décisionnel définissant un premier treillis T( 2 v, L) des états possibles du codage, comprenant un ensemble de noeuds, organisé en L colonnes, ou niveaux de profondeur, de 2 r noeuds, L étant le nombre d'échantillons reçus R(t-L-1),, R(t) pris en compte pour l'estimation s(t) de la valeur d'un desdits éléments numériques source a(t), et 2 v étant le nombre d'états possibles du code convolutif à un instant donné, v étant la longueur de contrainte du code mis en oeuvre au codage, chacun desdits noeuds d'un niveau de profondeur i donné correspondant à un instant de réception donné, et étant relié à deux noeuds du niveau de profondeur précédent i-1, correspondant à l'instant de réception précédent, par l'intermédiaire de deux chemins, chaque chemin correspondant à une transition possible selon ledit code convolutif, ladite étape d'estimation consistant à: déterminer, pour chaque noeud dudit premier treillis, le chemin y aboutissant le plus probable, ou chemin survivant, et éliminer dudit premier treillis le chemin concurrent dudit chemin survivant, le chemin survivant étant celui présentant la distance cumulée M ou M 1 la plus faible; remonter dans ledit premier treillis le chemin optimal, en partant du noeud présentant la métrique cumulée la plus faible sur le premier niveau de profondeur, correspondant au dernier échantillon R(t) reçu, et en suivant à chaque niveau le chemin survivant associé au noeud atteint, associer à l'estimation s(t-L) correspondant au décodage de l'échantillon reçu R(t-N-1), la valeur du noeud terminal dudit chemin optimal, et ladite étape de pondération consistant à associer à ladite estimation s(t-L) un coefficient de pondération m(t-L), représentatif de la fiabilité de ladite estimation s(t-L), ledit coefficient de pondération étant obtenu par analyse des métriques cumulées M O et M 1 associées à chacun des noeuds dudit chemin optimal, ledit procédé étant caractérisé en ce qu'il comprend une étape de révision desdits coefficients de pondération, consistant à, à chaque instant de réception t: mémoriser le coefficient de pondération m(t-L) associé à ladite estimation s(t-L); définir un second treillis T'( 2 v, L') des états possibles du codage, o L'=N-L, consécutif audit premier treillis T( 2 v, L), correspondant aux instants de réception compris entre t-L-1 et t-L-L'; remonter, dans ledit second treillis, les deux chemins concurrents correspondant aux deux chemins issus dudit noeud terminal du chemin optimal du premier treillis; réviser les valeurs de chacun des coefficients de pondération m(t-L-1) à m(t-L- 1) associé respectivement à chacune des estimations s(t-L-1) à s(t-N-1) des valeurs des échantillons numériques reçus entre les instants t-L-1 et t-N-1, en fonction d'une comparaison niveau à niveau des valeurs sk et s'k correspondant à ces échantillons numériques reçus, sur les deux chemins concurrents. 4 Procédé selon la revendication 3, caractérisé en ce que ledit coefficient de pondération m(t-L) déterminé lors de ladite étape de pondération est égal à la valeur absolue A Mt L de la différence entre les deux métriques M O t Let Mlt-L associées audit noeud terminal dudit chemin optimal, encore appelée indice de concurrence, lesdites métriques M t-L et Mlt-L étant le cumul des distances L O ou L 1 calculées pour chaque noeud dudit chemin optimal, lesdites distances représentant l'écart entre le symbole reçu et les symboles correspondant aux deux transitions possibles pour atteindre ce noeud. Procédé selon la revendication 4, caractérisé en ce que ladite étape de révision réalise, à chaque instant de réception t et pour chacun des niveaux k dudit second treillis, une comparaison des valeurs sk et s'k correspondant à l'échantillon reçu R(t-L-k) sur chacun des deux chemins concurrents, ledit indice de concurrence mk étant révisé à la baisse si ces valeurs sk et s'k sont différentes. 6 Procédé selon la revendication 5, caractérisé en ce que, lorsque lesdites valeurs sk et s'k correspondant à l'échantillon reçu R(t-L-k) sur chacun des deux chemins concurrents sont différentes, ledit indice de concurrence mk est pris égal à la plus petite des valeurs mk et m L, m L étant l'indice de concurrence associé à l'estimation s(t-L), origine desdits chemins concurrents, déterminé lors de ladite étape de pondération. 7 Procédé selon la revendication 6, caractérisé en ce que ledit indice de concurrence m L est recalculé, à chaque instant de réception t, en fonction des échantillons reçus mémorisés R(t-L) à R(t). 8 Procédé selon l'une quelconque des revendications 3 à 6, caractérisé en ce qu'un coefficient de pondération provisoire AM est associé à chacun desdits noeuds dudit premier treillis, chacun desdits coefficients de pondération AM étant mis à jour à chaque instant de réception t, en fonction de l'échantillon reçu R(t). 9 Procédé selon l'une quelconque des revendications 4 à 9, caractérisé en ce que ladite étape de révision comprend une étape de compression logarithmique dudit indice de concurrence mt L, avant de le mémoriser. Procédé selon l'une quelconque des revendications 3 à 9, caractérisé en ce que la profondeur L' dudit second treillis est sensiblement égale à la moitié de la profondeur L dudit premier treillis. 11 Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce que lesdits échantillons reçus R(t) comprennent, à au moins certains instants t, deux données codées distinctes X(t) et Y(t) correspondant audit élément numérique source a(t). 12 Décodeur d'une séquence d'échantillons reçus R(t), correspondant au codage convolutif d'une séquence d'éléments numériques source a(t), selon le w procédé de l'une quelconque des revendications 3 à 11, caractérisé en ce qu'il comprend: des moyens de mémorisation desdits premier et second treillis, se comportant comme des registres à décalage niveau par niveau; des moyens de remontée dudit chemin optimal, dans ledit premier treillis, et des moyens de remontée desdits deux chemins concurrents dans ledit second treillis; des moyens de mémorisation de l'ensemble desdits indices de concurrence associés à chacun des noeuds dudit premier treillis, de taille L x 2 v x /, étant le nombre de bits utilisés pour le codage d'un indice de concurrence; un registre à décalage, pour la mémorisation des coefficients de pondération m(t-L-1) à m(t-L-L'); des moyens de révision desdits coefficients de pondération, en fonction desdits chemins concurrents remontés dans ledit second treillis. 13 Décodeur d'une séquence d'échantillons reçus R(t), correspondant au codage convolutif d'une séquence d'éléments numériques source a(t), selon le procédé de l'une quelconque des revendications 3 à 11, caractérisé en ce qu'il comprend: des moyens de mémorisation desdits premier et second treillis, se comportant comme des registres à décalage niveau par niveau; des moyens de remontée dudit chemin optimal, dans ledit premier treillis, et des moyens de remontée desdits deux chemins concurrents dans ledit second treillis; des moyens de mémorisation de l'ensemble des échantillons reçus R(t-L) à R(t), de taille L x n, N étant le nombre de bits utilisés pour le codage de la valeur d'un échantillon reçu; des moyens de calcul du coefficient de pondération m(t-L), à partir de l'ensemble des échantillons reçus R(t-L) à R(t) mémorisés; un registre à décalage, pour la mémorisation des coefficients de pondération p(t-L-1) à p(t-L-L'); des moyens de révision desdits coefficients de pondération, en fonction desdits chemins concurrents remontés dans ledit second treillis. 14 Décodeur selon l'une quelconque des revendications 12 ou 13, caractérisé en ce que ledit registre à décalage pour la mémorisation des coefficients de pondération est alimenté par l'indice de concurrence mt L dudit noeud final dudit chemin optimal, transformé selon une loi logarithmique.