FR 2849555 A1 20040702 FR 0216714 A 20021226 La présente invention concerne les systèmes de communication dans lesquels, afin d'améliorer la fidélité de la transmission, les données à transmettre sont soumises à un codage de canal. Elle concerne plus particulièrement, d'une part, des procédés de codage, et d'autre part des 5 procédés de décodage ainsi que les dispositifs et appareils destinés à mettre en oeuvre ces procédés. On rappelle que le codage dit " de canal " consiste, quand on forme les " mots de code " envoyés au récepteur, à introduire une certaine redondance dans les données à transmettre. Plus précisément, on transmet, au 10 moyen de chaque mot de code, un nombre prédéterminé k de symboles d'information choisis au sein d'un " alphabet " prédéterminé de taille finie q; on forme à partir de ces k symboles d'information un nombre n de symboles prélevés dans le même alphabet, de manière à former des mots de code. = (v1,v2,...,v,); l'ensemble des règles de calcul de ces n symboles en 15 fonction des k symboles d'information définit un " code ", ou " procédé de codage ", de " dimension " k et de " longueur " n, ainsi caractérisé par un certain ensemble de mots de code constituant une sorte de dictionnaire. Lorsque la taille q de l'alphabet est une puissance d'un nombre premier, on peut donner à cet alphabet une structure de corps, dit " corps de 20 Galois Fq ". Dans ce cas, certains codes peuvent, de façon commode, être définis au moyen d'une matrice H de dimension (n-k)x n définie sur Fq, dite " matrice de parité ": un mot v de longueur n donné est un mot de code si, et seulement si, il vérifie la relation: H - T = O (o l'exposant T indique la transposition). Ces codes, que l'on appelle " codes linéaires ", seront les seuls 25 codes considérés plus bas. Au niveau du récepteur, le procédé de décodage associé exploite alors judicieusement cette redondance pour détecter d'éventuelles erreurs de transmission et si possible les corriger. Il y a erreur de transmission si la différence e entre un mot reçu r, et le mot de code v correspondant envoyé par 30 l'émetteur, est non-nulle. Plus précisément, le décodage se fait en deux étapes principales. La première étape consiste à associer au mot reçu un " mot de code associé ". Pour ce faire, le décodeur calcule d'abord le vecteur de " syndromes d'erreurs " s = H rT = H eT. Si les syndromes sont tous nuis, on supposera qu'il n'y a pas eu d'erreur de transmission, et le " mot de code associé " sera 5 alors simplement pris égal au mot reçu. Si ce n'est pas le cas, on en déduit que certains symboles dans le mot reçu sont erronés, et l'on met alors en oeuvre un algorithme de correction destiné à estimer la valeur de l'erreur e; l'algorithme va ainsi fournir une valeur estimée ê de manière à ce que (L- êe) soit un mot de code, qui constituera alors le " mot de code associé ". La seconde étape consiste simplement à inverser le procédé de codage, c'est-à-dire à retirer les symboles de redondance du " mot de code associé " pour retrouver les symboles d'information initiaux. L'invention concerne plus particulièrement la première de ces deux étapes, et les conditions de mise en oeuvre de l'algorithme de correction. Un algorithme de correction a pour tâche d'associer au mot reçu le mot de code situé à la distance de Hamming la plus courte de ce mot reçu, la " distance de Hamming " étant, par définition, le nombre d'emplacements o deux mots de même longueur possèdent un symbole différent. On appelle " distance minimale " d d'un code la plus petite distance de Hamming entre 20 deux mots différents de ce code. C'est un paramètre important du code. Plus précisément, il est en principe possible de trouver la position des erreurs éventuelles dans un mot reçu, et de fournir le symbole de remplacement correct (c'est-à-dire, identique à celui envoyé par l'émetteur) pour chacune de ces positions, chaque fois que le nombre de positions erronées est au plus égal à 25 INT[(d-1)/2] (o " INT " désigne la partie entière) pour un code de distance minimale d (pour certaines configurations d'erreurs, on peut même parfois faire mieux). Dans tous les cas toutefois, il ne s'agit que d'une possibilité de principe, car il est souvent difficile de mettre au point un algorithme de décodage atteignant cette performance. On notera également que, lorsque l'algorithme 30 choisi parvient à proposer une correction pour le mot reçu, cette correction est d'autant plus fiable (du moins, pour la plupart des canaux de transmission) qu'elle concerne un plus petit nombre de positions. Parmi les codes connus, on peut citer les " codes de ReedSolomon ", qui sont réputés pour leur efficacité (pour une définition des codes de ReedSolomon, on pourra se référer à l'ouvrage de R.E. Blahut intitulé " Theory and practice of error-control codes ", Addison-Wesley, Reading, 5 Mass.,1983). Ces codes sont définis sur Fq, et leur distance minimale d est égale à (n-k+1). Pour leur décodage, on utilise habituellement un algorithme dit de " Berlekamp-Massey " pour la détection des positions erronées dans un mot reçu, et un algorithme dit de " Forney " pour la correction des symboles erronés correspondants (ces algorithmes sont décrits dans l'ouvrage mentionné 10 ci-dessus). Mais les codes de Reed-Solomon présentent la particularité que la longueur n des mots de code est nécessairement inférieure ou égale à la taille q de l'alphabet des symboles. De ce fait, si l'on souhaite disposer d'un code de Reed-Solomon ayant des mots de code de grande longueur, on doit envisager 15 de grandes valeurs de q, ce qui conduit à des mises en oeuvre coteuses au niveau des calculs et de la mémorisation. De plus, de grandes valeurs de q sont parfois inadaptées à l'application technique envisagée. Or dans les supports d'information modernes, par exemple dans les enregistrements de CD (" compacts discs ") et de DVD (" digital video discs "), 20 on cherche à accroître la densité d'information. Quand un tel support est affecté par un défaut physique tel qu'une éraflure, un nombre important de symboles d'information peuvent être rendus illisibles. On peut toutefois remédier à ce problème en utilisant un code de très grande longueur. C'est pourquoi l'on a cherché à construire des codes offrant de manière naturelle une plus grande 25 longueur de mots que les codes de Reed-Solomon. On a notamment proposé récemment des codes dits " codes de géométrie algébrique " ou " codes de Goppa géométriques " (voir par exemple " Algebraic Geometric Codes ", par J.H. van Lint, dans " Coding Theory and Design Theory", 1ère partie, IMA Volumes Math. Appt., volume 21, Springer30 Verlag, Berlin, 1990). Ces codes, eux aussi définis sur un corps de Galois Fq, sont construits à partir d'une équation algébrique à deux inconnues X et Y. Les solutions de cette équation algébrique peuvent être considérées comme les coordonnées (x,,y1) de points d'une " courbe algébrique ". Pour définir une matrice de parité, on constitue d'abord un ensemble ordonné, appelé " ensemble de localisation " (" locating set " en anglais), à partir de n tels points dont toutes les coordonnées sont finies; puis chaque ligne de la matrice 5 de parité est obtenue en évaluant une fonction bien choisie de X et Y en chaque élément de cet ensemble de localisation. On obtient ainsi un code de géométrie algébrique de longueur n. Un paramètre important d'une telle courbe est son " genre " g. Dans le cas particulier o la courbe est une simple droite (le genre g est alors nul), le 10 code de géométrie algébrique se réduit à un code de Reed- Solomon. Dans certains cas, les codes de géométrie algébrique permettent d'atteindre une longueur égale à (q + 2g &q), qui peut être très élevée; par exemple, avec une taille d'alphabet égale à 256 et un genre égal à 120, on obtient des mots de code de longueur 4096. On notera par ailleurs que les codes de géométrie 15 algébrique possèdent une distance minimale d supérieure ou égale à (n - k+l-g). Les codes de géométrie algébrique sont avantageux quant à leur distance minimale et, comme on l'a dit, quant à la longueur des mots de code, mais ils présentent l'inconvénient de requérir des algorithmes de décodage 20 assez complexes, et donc assez coteux en termes d'équipements (logiciel et/ou matériel) et de temps de traitement. Cette complexité est en fait plus ou moins grande selon l'algorithme considéré, une plus grande complexité étant en principe le prix à payer pour accroître la capacité de correction d'erreurs du décodeur (voir par exemple l'article de Tom H0holdt et Ruud Pellikaan intitulé 25 " On the Decoding of AlgebraicGeometric Codes ", IEEE Trans. Inform. Theory, vol. 41 n0 6, pages 1589 à 1614, novembre 1995). Une catégorie connue de codes de géométrie algébrique est constituée par les codes dits " hyperelliptiques ". Ces codes sont définis à partir d'une équation algébrique dite " hyperelliptique ", qui est, notamment, 30 quadratique par rapport à l'une des deux inconnues (disons, Y). Pour obtenir des codes de grande longueur, il est, en particulier, commode de choisir une équation hyperelliptique, telle que, quelle que soit la valeur x de X, cette équation possède exactement deux solutions (x,y1) et (x,y2) o, en outre, les valeurs Yi et Y2 de Y sont différentes l'une de l'autre: de tels codes hyperelliptiques, définis sur un corps de Galois Fq o l'équation algébrique possède 2q solutions, sont dits " maximaux ". De manière générale, les codes 5 hyperelliptiques permettent de corriger un nombre important d'erreurs de transmission. Comme tous les codes, les codes hyperelliptiques peuvent être " raccourcis ". Un code CR est une version " raccourcie " du code C s'il ne comprend que les mots de C dont, pour un nombre p de positions 10 prédéterminées, les composantes sont toutes nulles: ces positions étant connues du récepteur, on peut se dispenser de les transmettre, de sorte que le code raccourci est de longueur (n - p). En particulier, un code hyperelliptique de longueur 2q peut être raccourci en supprimant de l'ensemble de localisation, le cas échéant, l'un des points, ou les deux points, dont la coordonnée x est 15 nulle. Or les auteurs de la présente invention se sont demandés si, quand on détermine les propriétés du code destiné à transmettre des informations sur un canal donné, on ne pourrait pas prendre en compte les caractéristiques du canal envisagé pour choisir un code bien adapté. Notamment, lesdits auteurs 20 se sont intéressés aux canaux dans lesquels les données à transmettre sont groupées en blocs de longueur prédéterminée, et dans lesquels le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc; autrement dit, de tels canaux sont physiquement caractérisés en ce que, le plus souvent, les " bruits " de transmission affectent les données 25 par bloc, et peuvent affecter différemment des blocs différents; ainsi, pour certains blocs, la probabilité d'erreur pourra être très faible ou même nulle, cependant que pour certains autres blocs la probabilité d'erreur pourra être élevée et même proche de (q-1)Iq. Un exemple d'un tel canal est fourni par un système de 30 communication à porteuses multiples connu sous le nom de " OFDM " (initiales des mots anglais " Orthogonal Frequency Division Multiplexing " signifiant " Multiplexage à Division de Fréquences Orthogonale "). L'OFDM est particulièrement utile dans le cas o le canal utilisé est tel que le signal reçu est la somme de multiples signaux émis qui ont subi diverses réflexions, et donc divers déphasages et atténuations, sur leur trajet entre émetteur et récepteur. Il en résulte des effets d'interférence qu'il faut pouvoir corriger pour garantir une 5 bonne qualité de réception. L'OFDM atteint cet objectif en divisant la bande passante totale en un certain nombre de portions affectées à des " sousporteuses " de fréquences différentes, de telle manière que le signal OFDM résulte de la superposition des signaux individuels, orthogonaux entre eux, associés à ces sous-porteuses. Plus précisément, les données à transmettre sont d'abord exprimées, de manière classique, sous forme de " symboles élémentaires ", c'est-à-dire de nombres complexes définis conformément à un certain procédé de modulation, par exemple de phase (en anglais, " Phase Shift Keying " ou " PSK "), ou bien de phase et d'amplitude en combinaison (en anglais, 15 " Quadrature Amplitude Modulation " ou " QAM "). Dans un système OFDM, ces symboles élémentaires sont ensuite pris P par P (o P est un entier prédéterminé) et convertis, au moyen d'une transformation de Fourier discrète dite inverse (en anglais, " Inverse Discrete Fourier Transform ", ou IDFT) en une série de K (o K est un entier prédéterminé) nombres complexes Cr 20 (r = 0,... ,K-1) représentant autant de " porteuses ". Enfin, on émet la partie réelle du signal défini par: K-I c(t) exp(-ncot) ycrh(t -rT), (1) rzO o la fonction h(t) est, par définition, égale à 1 dans l'intervalle 0 Après réception du signal modulé, on met en oeuvre une transformation de Fourier discrète (en anglais, " Discrete Fourier Transform ", ou DFT) inverse de la précédente, ce qui restitue chacun des symboles élémentaires individuels. Pour plus de détails sur l'OFDM, on pourra par exemple se référer au 30 livre de R. van Nee et R. Prasad intitulé " OFDM for Wireless Multimedia Communications " (Artech House, Boston et Londres, 2000). Ainsi, le bruit affectant ce signal c(t) pendant sa transmission sur le canal va affecter globalement le bloc de P symboles élémentaires dont il est issu, et par suite les MP éléments binaires correspondants, o 2M est le cardinal de la constellation de modulation. La présente invention concerne donc un code de canal apte à tirer parti d'une telle répartition du bruit sur un canal de transmission. En même temps, on souhaite que ce code soit facile à décoder, et possède une distance minimale relativement élevée. L'invention concerne ainsi, selon un premier aspect, une première 10 famille de procédés de codage de données destinées à être transmises en blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc. Un tel procédé est remarquable en ce qu'il comprend les étapes suivantes: a) on code les données d'information selon un code de canal défini sur un corps de Galois Fq d'élément primitif y, et de longueur n = 2q, caractérisé en ce que sa matrice de parité est de la forme: H a -aE H=L H 4HM, o - H et H sont des réalisations respectives pour u = a et u = D de la matrice Hu à u lignes et q colonnes définie par HU i = yi(l) (15 i s u, 1 i j Une première famille de codes de Miura, de longueur n = 2q, est définie par la matrice de parité suivante (par la suite, on désignera par y un élément primitif du corps de Galois Fq): H=L1 H= ' o - H2 et H sont des réalisations respectives pour u = 2t et u = t de la matrice Hu à u lignes et q colonnes définie par HuI = 7(i--1) (1 Mais ces codes de Miura ont pour inconvénient que leur distance minimale, qui est égale à (2t+1), est (pourvu que t soit supérieur à 8) inférieure à la distance minimale de codes hyperelliptiques maximaux de même redondance. C'est pourquoi les procédés de la première famille selon la présente invention utilisent un code tel que décrit succinctement cidessus. Un tel code possède les mêmes propriétés de " décomposition " en une paire de codes de Reed-Solomon que les codes de Miura, mais peut posséder une distance minimale supérieure. Selon des caractéristiques particulières, on pourra avantageusement choisir, lors de la construction de la matrice de parité H, des matrices Y1 et Y2 telles que les couples (XY) ayant pour valeur (0, (Yi)qq), (0, (Y2)qq), (Yi-1,(Yi)ii) et (f,(Y2)11), o 1 s i s q-1, soient solutions d'une certaine équation hyperelliptique. En effet, de tels codes offrent une distance minimale 15 relativement grande. L'invention concerne également, selon le même premier aspect, une seconde famille de procédés de codage de données destinées à être transmises en blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement 20 constant au sein d'un même bloc. Un tel procédé est remarquable en ce qu'il comprend les étapes suivantes: a) on code les données d'information selon un code de canal défini sur un corps de Galois Fq d'élément primitif y, et de longueur n = 2(q-1), dans lequel la matrice de parité est de la forme: H=Lj HO tHP Y, HP Y2 M o - Ha et Ho sont des réalisations respectives pour u = a et u = D de la matrice HU à u lignes et (q-1) colonnes définie par Huq = y"(/-) (1 i S U, 1 j On peut d'ailleurs définir une deuxième famille de codes de Miura, de longueur n = 2(q-1), par la matrice de parité suivante H 2t? H2 (HtH Y Ht Y2 o - H2t et Ht sont des réalisations respectives pour u = 2t et u = t de la matrice Hu à u lignes et (q-1).colonnes définie par HU = y(i-)/-) (1 Ces codes de Miura de la seconde famille, ont pour inconvénient, comme ceux de la première famille, que leur distance minimale, qui est égale à (2t+1), est (pourvu que t soit supérieur à 8) inférieure à la distance minimale de codes hyperelliptiques maximaux de même redondance. Les procédés de la seconde famille selon la présente invention utilisent donc un code tel que décrit succinctement ci-dessus, pour les mêmes raisons que celles invoquées pour les procédés de la première famille. Selon des caractéristiques particulières, on pourra avantageusement choisir, lors de la construction de la matrice de parité H, des matrices Y1 et Y2 10 telles que les couples (X, Y) ayant pour valeur (y'-1,(Y1)11) et (71(Y2)ii), O 1 i Selon d'autres caractéristiques particulières, on prendra ca = 2t et = t, o t est un entier strictement positif prédéterminé. Ce choix conduit à un 15 algorithme de décodage particulièrement simple et efficace. On notera que les caractéristiques particulières que l'on vient de mentionner peuvent avantageusement être combinées. On peut montrer que, pour un tel code, la distance minimale est égale à (2t + 2); elle est donc supérieure d'une unité à la distance minimale du code de Miura correspondant. 20 Un algorithme de décodage adapté pour un tel code est capable de corriger, dans un mot reçu, t agrégats contenant des erreurs (dont la position et la valeur sont inconnues avant application de cet algorithme), même si les deux composantes de ces agrégats sont erronées, sauf dans le cas o certains agrégats sont tels que, non seulement les deux composantes d'un tel agrégat 25 contiennent une erreur, mais en outre ces deux erreurs sont égales entre elles. En deuxième lieu, la présente invention tire parti du fait que, lorsque l'on applique l'algorithme de correction d'erreurs " à la Miura " à un mot reçu résultant de la transmission, soit d'un mot de code soit, respectivement, d'un mot de code -V-[VI() çVI(q lV2() -V2 (q-) cet algorithme opère sur les paires de composantes constituées par le symbole reçu correspondant à v1(j) et par le symbole reçu correspondant à v2(j) (pour j= 1,...,q, ou, respectivement, pour j= 1,...,q-1) ; ces paires vl(j) et v2(j) (ou les paires de symboles reçus correspondants) seront appelées des 5 " agrégats ". En raison de ce traitement par agrégats, l'efficacité de cet algorithme de correction d'erreurs est optimisée s'il se trouve que, pour un mot reçu comportant des erreurs de transmission, ces erreurs affectent, pour la plupart des agrégats, soit les deux composantes d'un tel agrégat, soit aucune des deux (au lieu d'affecter une seule composante de cet agrégat et une seule 10 composante d'un autre agrégat). Grâce à l'invention, les deux composantes de chaque agrégat sont insérées en position adjacente dans le flux de données à transmettre. Ainsi, ces composantes seront, de manière générale, représentées dans le même bloc de données émises; par exemple, dans le cas de l'OFDM, les deux composantes de chaque agrégat seront représentées dans le même 15 intervalle de durée KT. Ainsi, les procédés de codage de la première ou de la seconde famille selon l'invention sont particulièrement efficaces dans le cas des canaux décrits ci-dessus (naturellement, pour qu'un tel procédé soit utile, il faut que le nombre d'agrégats contenant des erreurs ne dépasse que rarement le nombre 20 d'agrégats corrigibles par le code). Pour certaines applications particulières, on pourra utiliser avantageusement, dans un procédé de codage selon l'invention, un code obtenu en raccourcissant un code tel que décrit succinctement ci-dessus, c'està-dire en utilisant une matrice de parité obtenue en supprimant p colonnes 25 prédéterminées (o 1 c p Enfin, on notera que les mots w définis ci-dessus peuvent être considérés comme les mots d'un code défini par une matrice de parité HP obtenue en appliquant aux colonnes de ladite matrice H la même permutation 30 que celle indiquée ci-dessus pour les composantes de v. On peut donc évidemment, de manière équivalente au procédé décrit succinctement cidessus, mettre en oeuvre l'invention en constituant directement des mots w orthogonaux à une telle matrice HP, sans avoir à construire au préalable lesdits mots v. Selon des caractéristiques particulières applicables lorsque les mots de code ne sont pas exactement divisibles en blocs, on complète chaque bloc incomplet par une séquence de données quelconque prédéterminée. Selon d'autres caractéristiques particulières applicables lorsque les mots de code ne sont pas exactement divisibles en blocs, on complète chaque bloc incomplet en copiant la valeur des données situées en un nombre de positions prédéterminées du mot de code correspondant égal au nombre de 10 données à compléter. Il sera habituellement commode de copier des données situées dans le même bloc incomplet. Grâce à ces dispositions, on peut accélérer le processus de transmission des blocs, et aussi utiliser les données supplémentaires ainsi insérées aux fins de synchronisation. Corrélativement, l'invention concerne, selon le même premier aspect, divers procédés de décodage. Elle concerne ainsi, premièrement, un procédé de décodage applicable lorsque les données reçues résultent de la transmission de blocs de données qui ont été codées en utilisant un procédé de la première famille selon 20 l'invention. Ce procédé de décodage comprend les étapes suivantes: a) on met bout à bout lesdits blocs de données reçues après en avoir retiré, le cas échéant, les données ajoutées avant transmission pour compléter certains blocs, b) on identifie dans le flux de données ainsi obtenues des séquences 25 de longueur n formant des " mots reçus " S [rI (1), r2 (1), * rl (q), r2 (q)] c) on forme, pour chacun desdits mots reçus s, le mot r [rI (1),., r1 (q), r2 (), , r2 (q)] obtenu ainsi par permutation des composantes de s, et d) on applique à r un algorithme de correction d'erreurs adapté au décodage des mots orthogonaux à ladite matrice de parité H. L'invention concerne aussi, deuxièmement, un procédé de décodage applicable lorsque les données reçues résultent de la transmission de blocs de données qui ont été codées en utilisant un procédé de la seconde famille selon l'invention. Ce procédé de décodage comprend les étapes suivantes: a) on met bout à bout lesdits blocs de données reçues après en avoir retiré, le cas échéant, les données ajoutées avant transmission pour compléter certains blocs, b) on identifie dans le flux de données ainsi obtenues des séquences de longueur n formant des " mots reçus " s _[rI (1), r2 (1,rI (q - 1), r2 (q -1)] c) on forme, pour chacun desdits mots reçus s, le mot r - [rI (1), * , rI (q -1), r2 (1), , r2 (q - 1)] obtenu ainsi par permutation des composantes de s, et d) on applique à r un algorithme de correction d'erreurs adapté au 15 décodage des mots orthogonaux à ladite matrice de parité H. Les avantages de ces procédés de décodage sont essentiellement les mêmes que ceux des procédés correspondants décrits succinctement cidessus. En outre, un tel procédé sera particulièrement efficace si l'on utilise un algorithme de décodage capable de prendre en compte les " effacements ", 20 c'est-à-direl'information selon laquelle la valeur du symbole est incertaine en telle ou telle position dans le mot reçu; un tel algorithme est divulgué dans la demande française no 0214385 au nom de CANON. On peut évidemment, de manière équivalente, mettre en oeuvre les procédés de décodage selon l'invention en appliquant audit mot s un 25 algorithme adapté au décodage des mots orthogonaux à la matrice de parité HP définie ci-dessus, sans avoir à construire ledit mot r. L'invention concerne également, selon le même premier aspect, un procédé de communication de données sous forme de blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par 30 donnée transmise est essentiellement constant au sein d'un même bloc. Ce procédé de communication comprend les étapes suivantes: a) les données à transmettre sont codées conformément à l'un des procédés de codage succinctement décrits ci-dessus, b) lesdits blocs de données codées sont transmis par OFDM, et c) les données reçues sont décodées conformément à l'un des procédés de décodage succinctement décrits ci-dessus. Les avantages de ce procédé de communication sont essentiellement les mêmes que ceux des procédés de codage et de décodage correspondants exposés succinctement ci-dessus, avec en outre les avantages propres offerts par l'OFDM. Selon un deuxième aspect, l'invention concerne divers dispositifs. Elle concerne ainsi, premièrement, un dispositif de codage de données destinées à être transmises en blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc. Ce dispositif de codage 15 comprend: - une unité d'addition de redondance capable de coder les données d'information selon un code de canal défini sur un corps de Galois Fq d'élément primitif y, de longueur n = 2q, et dont la matrice de parité est de la forme H=L_4 -ffia M, o cc -13 - H et H sont des réalisations respectives pour u = a et u = D de la matrice Hu à u lignes et q colonnes définie par Hui, = yi-.1) (15 i U, 1 j Selon des caractéristiques particulières, les couples (X,Y) ayant 10 pour valeur (0, (Yl)qq), (0, (Y2)qq), (yi-',(Yl)ii) et (y-1,(Y2)ii), o 1 Deuxièmement, I'invention concerne un dispositif de codage de données destinées à être transmises en blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est 15 essentiellement constant au sein d'un même bloc. Ce dispositif de codage comprend: - une unité d'addition de redondance capable de coder les données d'information selon un code de canal défini sur un corps de Galois Fq d'élément primitif y, et de longueur n = 2(q-1), dans lequel la matrice de parité est de la 20 forme: H= H u HPY (HP Y, HP Y2 o - H et Ho sont des réalisations respectives pour u = oc et u = D de la matrice Hu à u lignes et (q-1) colonnes définie par HUij = i(-P) (1 Selon des caractéristiques particulières, les couples (X,Y) ayant 10 pour valeur (yfi,(Y1)ii) et ('y-1,(Y2)11), o 1 s i s q-1, sont solutions d'une équation hyperelliptique. Selon des caractéristiques encore plus particulières, a. = 2t, et i = t, o t est un entier strictement positif prédéterminé. Selon des caractéristiques particulières applicables lorsque les mots 15 de code ne sont pas exactement divisibles en blocs, ladite unité de formatage est capable de compléter chaque bloc incomplet par une séquence de données quelconque prédéterminée. Selon d'autres caractéristiques particulières applicables lorsque les mots de code ne sont pas exactement divisibles en blocs, ladite unité de 20 formatage est capable de compléter chaque bloc incomplet en copiant la valeur des données situées en un nombre de positions prédéterminées du mot de code correspondant égal au nombre de données à compléter. Par exemple, ces données copiées peuvent être commodément situées dans le même bloc incomplet. Troisièmement, l'invention concerne un dispositif de décodage de données reçues résultant de la transmission de blocs de données codées au moyen d'un procédé de codage appartenant à la première famille selon l'invention. Ce dispositif de décodage comprend: - une unité de reformatage capable de mettre bout à bout lesdits blocs 30 de données reçues après en avoir retiré, le cas échéant, les données ajoutées avant transmission pour compléter certains blocs, d'identifier dans le flux de données ainsi obtenues des séquences de longueur n formant des " mots reçus " s [rI (1), r2 (1), *, r1 (q), r2 (q)] et de former, pour chacun desdits mots reçus s, le mot - [r, rI (q), r2 r2 (q)] obtenu ainsi par permutation des composantes de s, - une unité de correction d'erreurs capable d'appliquer à r un algorithme de correction d'erreurs adapté au décodage des mots orthogonaux à ladite matrice de parité H, et - une unité de suppression de la redondance. Quatrièmement, l'invention concerne un dispositif de décodage de données reçues résultant de la transmission de blocs de données codées au moyen d'un procédé de codage appartenant à la seconde famille selon l'invention. Ce dispositif de décodage comprend: - une unité de reformatage capable de mettre bout à bout lesdits blocs de données reçues après en avoir retiré, le cas échéant, les données ajoutées avant transmission pour compléter certains blocs, d'identifier dans le flux de données ainsi obtenues des séquences de longueur n formant des " mots reçus " s [r (l), r2 (1), ,rI (q -),r2 (q - l)] et de former, pour chacun desdits mots reçus s, le mot r =[r (1), -, r (q -1), r2 (l), , r2 (q -1)] obtenu ainsi par permutation des composantes de s, - une unité de correction d'erreurs capable d'appliquer à r un 25 algorithme de correction d'erreurs adapté au décodage des mots orthogonaux à ladite matrice de parité H, et - une unité de suppression de la redondance. Selon des caractéristiques particulières de ces dispositifs de décodage, ledit algorithme de correction d'erreurs est capable de prendre en 30 compte les effacements. Les avantages de ces dispositifs sont essentiellement les mêmes que ceux des procédés de codage et de décodage correspondants décrits succinctement ci-dessus. L'invention vise également: - un appareil d'émission de signaux codés comprenant un codeur tel que décrit succinctement ci-dessus, ainsi que des moyens pour moduler lesdits signaux codés, notamment selon l'OFDM, - un appareil de réception de signaux codés comprenant un décodeur tel que décrit succinctement ci-dessus, ainsi que des moyens pour démoduler 10 lesdits signaux codés, notamment selon l'OFDM, - un système de communication de données sous forme de blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc, comprenant au moins un appareil d'émission de signaux 15 numériques codés tel que décrit succinctement ci-dessus, et au moins un appareil de réception de signaux numériques codés tel que décrit succinctement ci-dessus, - un moyen de stockage de données inamovible comportant des instructions de code de programme informatique pour l'exécution des étapes de 20 l'un quelconque des procédés de codage et/ou de décodage succinctement exposés ci-dessus, - un moyen de stockage de données partiellement ou totalement amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes de l'un quelconque des procédés de codage et/ou 25 de décodage succinctement exposés ci-dessus, et - un programme d'ordinateur, contenant des instructions telles que, lorsque ledit programme commande un dispositif de traitement de données programmable, lesdites instructions font que ledit dispositif de traitement de données met en oeuvre l'un des procédés de codage et/ou de décodage 30 succinctement exposés ci-dessus. Les avantages offerts par cet appareil d'émission, cet appareil de réception, ce système de communication, ces moyens de stockage de données et ce programme d'ordinateur sont essentiellement les mêmes que ceux offerts par les procédés de décodage selon l'invention. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-dessous de modes de réalisation particuliers, 5 donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels: - la figure 1 est un schéma synoptique d'un système de transmission d'informations selon un mode de réalisation de l'invention, - la figure 2 représente un appareil d'émission de signaux incorporant un 10 codeur selon l'invention, et - la figure 3 représente un appareil de réception de signaux incorporant un décodeur selon l'invention. La figure 1 est un schéma synoptique d'un système de transmission d'informations utilisant un codage et décodage de canal selon un mode de 15 réalisation de l'invention. Ce système a pour fonction de transmettre des informations de nature quelconque à partir d'une source 100 vers un destinataire ou utilisateur 109. En premier lieu, la source 100 met ces informations sous la forme de symboles appartenant à un certain alphabet (par exemple des octets de bits 20 dans le cas o la taille q de l'alphabet vaut 256), et transmet ces symboles à une unité de stockage 101, qui accumule les symboles de façon à former des ensembles contenant chacun k symboles. Ensuite, chacun de ces ensembles est transmis par l'unité de stockage 101 à une unité d'addition de redondance 102 qui construit un mot v orthogonal à la matrice de parité H. Dans ce mode de réalisation de l'invention, cette matrice est de la forme H HO HIIYJ tHP Y, HP Y2) ou - Ha et Ho sont des réalisations respectives pour u = aE et u = D de la 30 matrice Hu à u lignes et (q-1) colonnes définie par HU'y = yi -1) (1S i Les mots de code Y [VI 1) VI (q -1,V2 (1, ,V2 (q-1) ainsi formés sont ensuite transmis à une unité de formatage 20, dont la tâche est de formater les données en vue de leur transmission. Dans ce mode de réalisation de l'invention, l'unité de formatage 20 associe tout d'abord à chaque 10 mot de code v un " mot entrelacé " W_ [VI (1), V2 (1,VI (q -1, V2 (q-1) par permutation des composantes de v. Ensuite, l'unité de formatage 20 met bout à bout les mots w de manière à construire des blocs de la longueur prévue par le système de transmission. On peut considérer que les unités 101, 102 et 20 forment conjointement un " codeur " 30. Ce codeur 30 transmet lesdits blocs à un modulateur 103. Ce modulateur 103 associe à chaque groupe de M symboles binaires (" bits ") un symbole de modulation. Il pourra par exemple s'agir d'une amplitude complexe 20 définie selon la constellation 4-QAM, ou 8-DPSK ou 16-QAM; on pourra en fait être amené, le cas échéant, à limiter (si c'est permis) la taille de la constellation afin de limiter le nombre de données incluses dans chaque bloc de P symboles élémentaires (o, par exemple, P = 48), car une erreur de transmission affectant tout un bloc représentant un grand nombre de composantes de w 25 pourrait s'avérer dépasser la capacité de correction du code. Mais on doit alors savoir comment résoudre le problème pratique qui se pose lorsque les mots de code ne sont pas exactement divisibles en blocs, c'est-à-dire lorsque la longueur des mots de code, exprimée en " bits ", n'est pas un multiple entier des MP " bits " représentés dans un bloc. Pour illustrer ce problème, prenons le cas de mots de code de longueur 510 octets (correspondant à q = 256), soit 4080 " bits ", et prenons P = 48. On constate que 4080 n'est pas divisible par 48M, et cela que M soit égal à 2, à 3 ou à 4. Prenons, par exemple, M = 2: les " bits " d'un mot de code vont alors " remplir " 42 blocs représentant chacun 96 " bits ", mais il restera encore 48 " bits " à traiter, qui n'occupent qu'un demi-bloc. Considérons d'abord le cas o les composantes des mots de code 5 ne sont pas produites en continu par le codeur 30. Si l'on a commencé un premier bloc en même temps qu'un mot de code, alors le dernier bloc est à moitié incomplet, car la deuxième moitié de son contenu, qui pourrait " loger " le début du mot de code suivant, n'est pas encore disponible. Cela cause un retard à la transmission qui peut être gênante pour le destinataire de la 10 transmission. Pour résoudre ce problème, dans ce mode de réalisation, on complète le dernier bloc par une séquence quelconque prédéterminée, par exemple une suite de zéros. En variante, on répète 48 " bits " lus en des positions prédéterminées du mot de code, par exemple les 48 derniers " bits " 15 du mot de code représentés dans la première moitié du dernier bloc. On transmet ensuite le bloc ainsi complété sans attendre le mot de code suivant. Ces deux façons d'associer mots de code, et blocs à transmettre, peuvent être utiles également dans le cas o les composantes des mots de code sont produites en continu par le codeur 30. En effet, l'une ou l'autre façon 20 peut être commodément utilisée par le récepteur de la transmission à des fins de synchronisation, puisqu'il suffit à ce récepteur de détecter un bloc de données dont la seconde moitié contient, dans le premier mode de réalisation, une séquence prédéterminée, ou bien, dans le second mode de réalisation, une répétition de données déjà reçues en certaines positions prédéterminées. Ensuite, ces symboles de modulation sont transmis à un émetteur ou à un enregistreur 104, qui insère les symboles dans un canal de transmission. Ce canal peut être par exemple une émission filaire ou non-filaire comme c'est le cas d'un lien radio. Il peut correspondre également à un stockage sur un support adapté tel qu'un DVD ou une bande magnétique. Comme expliqué ci-dessus, il pourra avantageusement s'agir d'un émetteur OFDM transmettant une superposition de K (o, par exemple, K = 48 ou bien K = 64) transformées de Fourier discrètes des P symboles élémentaires. Cette transmission, après avoir été affectée par un " bruit de transmission " dont l'effet est de modifier ou d'effacer, aléatoirement, certaines 5 des données transmises, parvient à un récepteur ou à un lecteur 105. Il pourra avantageusement s'agir d'un récepteur OFDM qui applique une transformation de Fourier discrète, inverse de la précédente, à l'amplitude complexe reçue, de manière à obtenir P symboles élémentaires. Le récepteur ou lecteur 105 transmet alors ces symboles 10 élémentaires au démodulateur 106, qui les transforme en symboles de l'alphabet Fq. Ces symboles de Fq sont ensuite transmis à l'unité de reformatage 40. L'unité de reformatage 40 commence par supprimer dans chaque bloc successif les données supplémentaires, par exemple des suites de zéros, 15 qui avaient été ajoutées dans les blocs de données pour " compléter " ces blocs, avant de les transmettre. Ensuite, elle identifie des séquences de n = 2(q-1) symboles successifs ainsi obtenus, chacune de ces séquences constituant un " mot reçu " s - [r, (1), r2 (1), -, r (q -1), r2 (q -1]' Enfin, I'unité de reformatage 40 associe à chaque mot reçu s un " mot désentrelacé " r -- [r1 (1),..., rI (q -1),r2 (1),., r2 (q -1)] par permutation des composantes de s. Ce mot rest ensuite traité par une unité 107, qui met en oeuvre un 25 algorithme de correction d'erreurs adapté, de manière à fournir un " mot de code associé ". Cet algorithme pourra par exemple être le suivant. On construit, pour j = 1,...,q-1: - un mot r de longueur (q-1) dont les composantes sont rji rl(j)+r2(j), et - un mot i de longueur (q-1) dont les composantes sont Yj -(Y)jj rl (j)+(Y2) jjr2(j) - On essaye ensuite de corriger le mot ri pour obtenir un mot v de longueur (q-1) faisant partie du code défini par la matrice de parité H/. Pour ce faire, on pourra utiliser n'importe quel algorithme applicable aux codes de Reed-Solomon; par exemple, ledit algorithme pourra être l'algorithme de 5 Berlekamp-Massey suivi de l'algorithme de Forney, et il pourra utiliser les syndromes d'erreur S(i) _ ((i),ri (i= 1,...,c), o 6(i)est la i-ème ligne de Ha, et la notation (a,b_ désigne le produit scalaire des vecteurs a et b. Si cet algorithme n'a pas été capable de fournir un mot v, on en conclut que les moyens mis en oeuvre ne permettent pas, en raison d'un 10 nombre trop important d'erreurs de transmission, de corriger ce mot reçu s; la suite des opérations (par exemple, remplacement du mot par un mot prédéterminé tel que le mot nul) dépend des applications envisagées du procédé de décodage. Si en revanche, on constate que la tentative de correction a abouti 15 (fournissant donc un mot v), on essaye de corriger le mot ' pour obtenir un mot v de longueur (q-1) faisant partie du code défini par la matrice de parité H/. Pour ce faire, on pourra utiliser n'importe quel algorithme applicable aux codes de Reed-Solomon; par exemple, ledit algorithme pourra être l'algorithme de Berlekamp-Massey suivi de l'algorithme de Forney, et il pourra utiliser les 20 syndromes d'erreur T(i) =-(6(),I (i = 1,...,.). Si cet algorithme n'a pas été capable de fournir un mot v, on en conclut que les moyens mis en ceuvre ne permettent pas, en raison d'un nombre trop important d'erreurs de transmission, de corriger le mot reçu s. Si en revanche, on constate que la tentative de correction a abouti 25 (fournissant donc un mot v), on obtient finalement l'estimation cherchée a v = [u01re, d l (q - 1d c2 (1),as, 2 (q - 1)] , autrement dit le " mot de code associé " au mot r - [r1 (1), .., r, (q -1), r2 (1), ., r2 (q -1)] correspondant au mot v ayant, le cas échéant, été entaché d'erreurs de transmission, en résolvant le système d'équations: ( l) j (y) j!V2 J) (v0 pour j = 1,...,q- 1 Comme on le voit, l'algorithme de correction d'erreurs ci-dessus 5 manipule les composantes du mot r sous forme d'agrégats, c'est-à-dire sous forme de paires r1(j) et r2(j), pour toutj = 1,...,q-1. Cette caractéristique, et notamment les propriétés de cet algorithme quant à sa capacité à corriger des erreurs, sont à l'origine de la disposition de l'invention selon laquelle les deux composantes de chaque agrégat sont insérées en position adjacente dans le 10 flux de données à transmettre, de sorte que les erreurs de transmission affectent, pour la plupart des agrégats, soit les deux composantes d'un tel agrégat, soit aucune des deux. Une fois la correction terminée, le mot de code associé v est transmis à une unité de suppression de redondance 108, qui en extrait k 15 symboles d'information en inversant la transformation mise en oeuvre par l'unité 102. Enfin, ces symboles d'information sont fournis à leur destinataire 109. On peut considérer que les unités 40, 107 et 108 forment conjointement un " décodeur " 10. On notera que diverses variantes de l'exemple de réalisation décrit 20 cidessus sont possibles sans sortir du concept de l'invention. Par exemple, on pourra agencer le dispositif de correction d'erreurs 107 de manière à pouvoir se passer de l'entrelaceur 40. Le schéma synoptique de la figure 2 représente, de façon très schématique, un appareil d'émission de signaux 48 incorporant le codeur 30. Ce codeur 30 comprend un clavier 911, un écran 909, une source d'informations externe 100, un modulateur 103 et un émetteur 104, conjointement reliés à des ports d'entrée/sortie 903 d'un dispositif de codage 30 qui est réalisé ici sous la forme d'une unité logique. Le dispositif de codage 30 comporte, reliés entre eux par un bus 30 d'adresses et de données 902: - une unité centrale de traitement 900, une mémoire vive RAM 904, - une mémoire morte 905, et - lesdits ports d'entrée/sortie 903. Chacun des éléments illustrés en figure 2 est bien connu de l'homme 5 du métier des micro-ordinateurs et des systèmes de transmission et, plus généralement, des systèmes de traitement de l'information. Ces éléments connus ne sont donc pas décrits ici. On observe, cependant, que: - la source d'informations 100 pourrait être, par exemple, un périphérique d'interface, un capteur, un démodulateur, une mémoire externe ou 10 un autre système de traitement de l'information (non représenté), et pourrait par exemple fournir des séquences de signaux représentatifs de parole, de messages de service ou de données multimédia notamment de type IP ou ATM, sous forme de séquences de données binaires, - l'émetteur 104 est adapté à émettre des signaux du système OFDM. La mémoire vive 904 conserve des données, des variables et des résultats intermédiaires de traitement, dans des registres de mémoire portant, dans la description, les mêmes noms que les données dont ils conservent les valeurs. On observera, au passage, que le mot " registre " désigne, à travers la présente description, aussi bien une zone mémoire de faible capacité (quelques 20 données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier) au sein d'une mémoire vive ou d'une mémoire morte. La mémoire vive 904 comporte notamment les registres suivants: - un registre " symbolesinformation " dans lequel sont conservés les 25 groupes de k symboles d'information appartenant à Fq, un registre " motscode ", dans lequel sont conservés les mots de code v, un registre " motsentrelacés ", dans lequel sont conservés les mots entrelacés w, et - un registre " blocsdonnées " dans lequel sont conservés les blocs de données avant qu'ils ne soient soumis au modulateur 103. La mémoire morte 905 est adaptée à conserver, dans des registres qui, par commodité, possèdent les mêmes noms que les données qu'ils conservent: le programme de fonctionnement de l'unité centrale de traitement 700, dans un registre " programme ", - la longueur des blocs de données transmises, dans un registre " longueurblocs ", - le cardinal du corps de Galois Fq servant d'alphabet pour le code utilisé, dans un registre " q ", - le nombre de symboles d'information servant à construire un mot de code, dans un registre " k ", et - la matrice de parité du code, dans un registre " H ". Le schéma synoptique de la figure 3 représente, de façon très schématique, un appareil de réception de signaux 70 incorporant le décodeur 15 10. Cet appareil 70 comprend un clavier 711, un écran 709, un destinataire d'informations externe 109, un récepteur 105 et un démodulateur 106, conjointement reliés à des ports d'entrée/sortie 703 du décodeur 10 qui est réalisé ici sous la forme d'une unité logique. Le décodeur 10 comporte, reliés entre eux par un bus d'adresses et 20 de données 702: - une unité centrale de traitement 700, - une mémoire vive (RAM) 704, - une mémoire morte (ROM) 705, et - lesdits ports d'entrée/sortie 703. Chacun des éléments illustrés en figure 3 est bien connu de l'homme du métier des micro-ordinateurs et des systèmes de transmission et, plus généralement, des systèmes de traitement de l'information. Ces éléments connus ne sont donc pas décrits ici. On observe, cependant, que: - le destinataire d'informations 109 pourrait être, par exemple, un 30 périphérique d'interface, un afficheur, un modulateur, une mémoire externe ou un autre système de traitement de l'information (non représenté), et pourrait être adapté à recevoir des séquences de signaux représentatifs de parole, de messages de service ou de données multimédia notamment de type IP ou ATM, sous forme de séquences de données binaires, - le récepteur 105 est adapté à recevoir des signaux du système OFDM. La mémoire vive 704 conserve des données, des variables et des résultats intermédiaires de traitement, dans des registres de mémoire portant, dans la description, les mêmes noms que les données dont ils conservent les valeurs. La mémoire vive 704 comporte notamment les registres suivants: - un registre " blocsdonnées " dans lequel sont conservés les blocs 10 de données issus du démodulateur 106, - un registre " motsreçus ", dans lesquels sont conservés les mots reçus s. - un registre " motsdésentrelacés ", dans lequel sont conservés les mots désentrelacés r, - un registre " motsassociés ", dans lequel sont conservés les symboles des " mots de code associés ", et - un registre " symbolesinformation ", dans lequel sont conservés les symboles résultant de la suppression de la redondance. La mémoire morte 705 est adaptée à conserver, dans des registres 20 qui, par commodité, possèdent les mêmes noms que les données qu'ils conservent: - le programme de fonctionnement de l'unité centrale de traitement 700, dans un registre " programme ", - la longueur des blocs de données transmises, dans un registre 25 " longueur blocs ", - le cardinal du corps de Galois Fq servant d'alphabet pour le code utilisé, dans un registre " q ", - le nombre de symboles d'information servant à construire un mot de code, dans un registre " k ", et - la matrice de parité du code, dans un registre " H ". On notera que, dans certaines applications, il sera commode d'utiliser le même dispositif informatique (fonctionnant en mode multi-tâches) pour l'échange, c'est-à-dire à la fois l'émission et la réception, de signaux selon l'invention; dans ce cas, les unités 10 et 30 seront physiquement identiques. REVENDICATIONS 1. Procédé de codage de données destinées à être transmises en 5 blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc, caractérisé en ce qu'il comprend les étapes suivantes: a) on code les données d'information selon un code de canal défini sur un corps de Galois Fq d'élément primitif y, et de longueur n = 2q, caractérisé 10 en ce que sa matrice de parité est de la forme: HD Y, Hé Y2 o - H et H sont des réalisations respectives pour u = a et u = 3 de la matrice H-u à u lignes et q colonnes définie par H ui = j i(-1) (1 i), o 1 3. Procédé de codage de données destinées à être transmises en blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc, caractérisé en ce qu'il comprend les étapes suivantes: a) on code les données d'information selon un code de canal défini sur un corps de Galois Fq d'élément primitif y, et de longueur n = 2(q-1), dans lequel la matrice de parité est de la forme: HP Y, HP Y2 M o - Ha et H sont des réalisations respectives pour u = a et u = 3 de la matrice Hu à u lignes et (q-1) colonnes définie par Hu = (yiu-1) (1 5. Procédé de codage selon la revendication 3 ou la revendication 4, caractérisé en ce que a = 2t, et D = t, o t est un entier strictement positif prédéterminé. 6. Procédé de codage, caractérisé en ce que sa matrice de parité est 10 obtenue en supprimant certaines colonnes de la matrice de parité d'un code de canal selon l'une quelconque des revendications précédentes. 7. Procédé de codage selon l'une quelconque des revendications 1 à 6, dans lequel les mots de code ne sont pas exactement divisibles en blocs, caractérisé en ce que l'on complète chaque bloc incomplet par une séquence 15 de données quelconque prédéterminée. 8. Procédé de codage selon l'une quelconque des revendications 1 à 6, dans lequel les mots de code ne sont pas exactement divisibles en blocs, caractérisé en ce que l'on complète chaque bloc incomplet en copiant la valeur des données situées en un nombre de positions prédéterminées du mot de 20 code correspondant égal au nombre de données à compléter. 9. Procédé de codage selon la revendication 8, caractérisé en ce que lesdites données copiées sont situées dans le même bloc incomplet. 10. Procédé de décodage de données reçues résultant de la transmission de blocs de données codées selon la revendication 1, caractérisé 25 en ce qu'il comprend les étapes suivantes: a) on met bout à bout lesdits blocs de données reçues après en avoir retiré, le cas échéant, les données ajoutées avant transmission pour compléter certains blocs, b) on identifie dans le flux de données ainsi obtenues des séquences 30 de longueur n formant des " mots reçus " s [r1 (1), r2 (1), - ,1r (q), r2 (q)J c) on forme, pour chacun desdits mots reçus s. le mot r= (1), , (q), r2 ( 1) 2 (q)] obtenu ainsi par permutation des composantes de s., et d) on applique à r un algorithme de correction d'erreurs adapté au décodage des mots orthogonaux à ladite matrice de parité H. 11. Procédé de décodage de données reçues résultant de la transmission de blocs de données codées selon la revendication 3, caractérisé en ce qu'il comprend les étapes suivantes: a) on met bout à bout lesdits blocs de données reçues après en avoir retiré, le cas échéant, les données ajoutées avant transmission pour compléter 10 certains blocs, b) on identifie dans le flux de données ainsi obtenues des séquences de longueur n formant des " mots reçus " s -[rI (1), r2 (1), *,r (q -1),r2 (q -1)] c) on forme, pour chacun desdits mots reçus s, le mot 15 - [r, (1), - , r, (q -1), r2 (1), , r2 (q -1)] obtenu ainsi par permutation des composantes de s, et d) on applique à r un algorithme de correction d'erreurs adapté au décodage des mots orthogonaux à ladite matrice de parité H. 12. Procédé de décodage selon la revendication 10 ou la 20 revendication 11, caractérisé en ce que ledit algorithme de correction d'erreurs est capable de prendre en compte les effacements. 13. Procédé de communication de données sous forme de blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un 25 même bloc, caractérisé en ce qu'il comprend les étapes suivantes: a) les données à transmettre sont codées conformément à un procédé selon la revendication 1, b) lesdits blocs de données codées sont transmis par OFDM, et c) les données reçues sont décodées conformément à un procédé 30 selon la revendication 10. 14. Procédé de communication de données sous forme de blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc, caractérisé en ce qu'il comprend les étapes suivantes: a) les données à transmettre sont codées conformément à un procédé selon la revendication 3, b) lesdits blocs de données codées sont transmis par OFDM, et c) les données reçues sont décodées conformément à un procédé selon la revendication 11. 15. Dispositif de codage (30) de données destinées à être transmises en blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc, caractérisé en ce qu'il comprend: - une unité d'addition de redondance (102) capable de coder les 15 données d'information selon un code de canal défini sur un corps de Galois Fq d'élément primitif y, de longueur n = 2q, et dont la matrice de parité est de la forme: H = (_ _ M o - H et H sont des réalisations respectives pour u = ce et u = D de la matrice Hu à u lignes et q colonnes définie par HuiU = rî(1) (1' i u, 1 16. Dispositif de codage selon la revendication 15, caractérisé en ce que les couples (X,Y) ayant pour valeur (0, (Yi)qq), (0, (Y2)qq), ( 17. Dispositif de codage (30) de données destinées à être transmises en blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc, caractérisé en ce qu'il comprend: - une unité d'addition de redondance (102) capable de coder les données d'information selon un code de canal défini sur un corps de Galois Fq d'élément primitif y, et de longueur n = 2(q-1), dans lequel la matrice de parité est de la forme: H= IH i Her2 M o - H et H/ sont des réalisations respectives pour u = oa et u = 13 de la matrice Hu à u lignes et (q-1) colonnes définie par HUy = i0'-l) (1 18. Dispositif de codage selon la revendication 17, caractérisé en ce que les couples (X,Y) ayant pour valeur ( 19. Dispositif de codage selon la revendication 17 ou la revendication 18, caractérisé en ce que (x = 2t, et 3 = t, o t est un entier strictement positif prédéterminé. 20. Dispositif de codage selon l'une quelconque des revendications à 19, dans lequel les mots de code ne sont pas exactement divisibles en 15 blocs, caractérisé en ce que ladite unité de formatage (20) est capable de compléter chaque bloc incomplet par une séquence de données quelconque prédéterminée. 21. Dispositif de codage selon l'une quelconque des revendications à 19, dans lequel les mots de code ne sont pas exactement divisibles en 20 blocs, caractérisé en ce que ladite unité de formatage (20) est capable de compléter chaque bloc incomplet en copiant la valeur des données situées en un nombre de positions prédéterminées du mot de code correspondant égal au nombre de données à compléter. 22. Dispositif de codage selon la revendication 21, caractérisé en ce 25 que lesdites données copiées sont situées dans le même bloc incomplet. 23. Dispositif de décodage (10) de données reçues résultant de la transmission de blocs de données codées selon la revendication 1, caractérisé en ce qu'il comprend: - une unité de reformatage (40) capable de mettre bout à bout lesdits 30 blocs de données reçues après en avoir retiré, le cas échéant, les données ajoutées avant transmission pour compléter certains blocs, d'identifier dans le flux de données ainsi obtenues des séquences de longueur n formant des " mots reçus " s [rI (1), r2 (1),*** rl (q), r2 (q)] et de former, pour chacun desdits mots reçus s, le mot _ [r * rI (q), r2 r2 (d obtenu ainsi par permutation des composantes de s. - une unité de correction d'erreurs (107) capable d'appliquer à r un algorithme de correction d'erreurs adapté au décodage des mots orthogonaux à ladite matrice de parité H, et - une unité de suppression de la redondance (108). 24. Dispositif de décodage (10) de données reçues résultant de la transmission de blocs de données codées selon la revendication 3, caractérisé en ce qu'il comprend: - une unité de reformatage (40) capable de mettre bout à bout lesdits 15 blocs de données reçues après en avoir retiré, le cas échéant, les données ajoutées avant transmission pour compléter certains blocs, d'identifier dans le flux de données ainsi obtenues des séquences de longueur n formant des " mots reçus " s- [ri (1), r2),r1(q-1),r2(q-1)] et de former, pour chacun desdits mots reçus s, le mot _ -= [rI (1), * * , rI (q - 1), r2 (1), * * , r2 (q - 1)] obtenu ainsi par permutation des composantes de s, - une unité de correction d'erreurs (107) capable d'appliquer à r un algorithme de correction d'erreurs adapté au décodage des mots orthogonaux à 25 ladite matrice de parité H, et - une unité de suppression de la redondance (108). 25. Dispositif de décodage selon la revendication 23 ou la revendication 24, caractérisé en ce que ledit algorithme de correction d'erreurs est capable de prendre en compte les effacements. 26. Appareil d'émission de signaux numériques codés (48), caractérisé en ce qu'il comprend un dispositif de codage selon l'une quelconque des revendications 15 à 22, et en ce qu'il comporte des moyens (103) pour moduler lesdits signaux numériques codés. 27. Appareil selon la revendication 26, caractérisé en ce que ladite modulation est conforme à l'OFDM. 28. Appareil de réception de signaux numériques codés (70), caractérisé en ce qu'il comprend un dispositif de décodage selon l'une quelconque des revendications 23 à 25, et en ce qu'il comporte des moyens (106) pour démoduler lesdits signaux numériques codés. 29. Appareil selon la revendication 28, caractérisé en ce que ladite 10 démodulation est conforme à l'OFDM. 30. Système de communication de données sous forme de blocs de longueur prédéterminée sur un canal dans lequel le taux d'erreur de transmission par donnée transmise est essentiellement constant au sein d'un même bloc, caractérisé en ce qu'il comprend: - au moins un appareil d'émission de signaux numériques codés selon la revendication 26 ou la revendication 27, et - au moins un appareil de réception de signaux numériques codés selon la revendication 28 ou la revendication 29. 31. Moyen de stockage de données inamovible, caractérisé en ce 20 qu'il comporte des instructions de code de programme informatique pour l'exécution des étapes d'un procédé de codage selon l'une quelconque des revendications 1 à 9, et/ou d'un procédé de décodage selon l'une quelconque des revendications 10 à 12. 32. Moyen de stockage de données partiellement ou totalement 25 amovible, caractérisé en ce qu'il comporte des instructions de code de programme informatique pour l'exécution des étapes d'un procédé de codage selon l'une quelconque des revendications 1 à 9, et/ou d'un procédé de décodage selon l'une quelconque des revendications 10 à 12. 33. Programme d'ordinateur, caractérisé en ce qu'il contient des 30 instructions telles que, lorsque ledit programme commande un dispositif de traitement de données programmable, lesdites instructions font que ledit dispositif de traitement de données met en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 9, et/ou un procédé de décodage selon l'une quelconque des revendications 10 à 12.