FR 2611332 A1 19880826 FR 8802253 A 19880224 APPAREIL DE CODAGE ET DECODEUR POUR SYSTEMESDE TRANSMISSION A CANAL A REPONSE PARTIELLE La présente invention concerne de façon générale les systèmes à codage par modulation et à réponse partielle. Dans le codage par modulation on code des symboles sous forme de signaux extraits d'une constellation de telle façon que certaines séquences seulement de signaux soient possibles. Au cours des dernières années, on a développé et appliqué (par exemple dans des modems) de nombreux types de codes de modulation en treillis pour obtenir des gains de codage de 3 à 6 dB sur des canaux à haut rapport signal à bruit, à bande limitée, tels que les canaux téléphoniques de transmission de parole. Les premiers codes en treillis sont dês à Ungerboeck (brevet US n 3 877 768 de Cjsaka et autres; Ungerboeck, "Channel Coding with Multilevel/Phase Signals", IEEE Transactions on Information Theory, vol. IT-28, pp. -67, janvier 1982). Les codes d' Ungerboeck pour émettre n bits par symboles sont basés sur des partitions en sous- ensembles de 4 ou de 8, de constellationsde signaux à 2n+l points à une dimension (PAM) ou deux dimensions (QAM) combi- nées avec un code binaire convolutionnel linéaire de rende- ment 1/2 ou de rendement 2/3 qui détermine une séquence de sous-ensembles. Un ensemble supplémentaire de bits non codés détermine alors quels points de signal dans les sous-ensem- bles indiqués sont effectivement envoyés. La partition et le code sont prévus pour garantir un certain minimum de distan- ce au carré d2in entre les séquences permises de points de Min signal. Même en tenant compte du coût en puissance d'une constellation de signal dilatée (un facteur de quatre (6 dB) pour une dimension ou un facteur de deux (3 dB) en cas de deux dimensions) l'augmentation du minimum de la distance au carré procure un gain de codage qui va d'un facteur d'en- viron deux (3 dB) pour les codes simples jusqu'à un facteur de quatre (6 dB) pour les codes les plus compliqués, pour des valeurs de n qui peuvent être aussi grandes qu'on le souhaite. Gallager (demande de brevet US n 577 044, déposée le 6 février 1984, et discutée dans Forney et autres, "Efficient Modulation for Band-Limited Channels", IEEE J. Select. Areas Commun., vol. SAC-2, pp. 632-647, 1984) a ima- giné un code en treillis multidimensionnel basé sur une par- tition en sous-ensembles de 16 d'une constellation de signal à quatre dimensions, combinée à un code convolutionnel à rendement 3/4. Le sous-ensemble à quatre dimensions est dé- terminé en sélectionnant une paire de sous-ensembles à deux dimensions et les points de la constellation de signal à quatre dimensions sont constitués de paires de points d'une constellation de signal à deux dimensions. Avec un code à 8 états seulement, on peut obtenir une valeur de d2.in égale à min quatre fois le minimum de distance de séquence non codée, alors que la perte due à l'expansion de la constellation de signal peut être réduite à un facteur d'environ 21/2 (1,5 dB) ce qui procure un gain de codage net d'environ 4,5 dB. Un code similaire a été créé par Calderbank et Sloane ("Four-dimensional Modulation with an Eight-State Trellis Code", AT&T Tech. J., vol. 64, pp. 1005-1018, 1985; brevet US 4 581 601). Wei (demande de brevet US n 727 398 du 25 avril 1985) a créé plusieurs codes multidimensionnels basés sur des partitions de constellationsen quatre, huit et seize dimensions, combinées avec des codes convolutionnels de rendement (n-1)/n. Les constellations multidimensionnelles de Wei consistent encore en séquences de points de constel- lation à deux dimensions. Les codes sont prévus pour minimi- ser l'expansion de constellations en deux dimensions, pour obtenir le meilleur compromis entre la performance (gain de codage) et complexité de code dans un large domaine et pour d'autres avantages tels que la transparence en cas de rota- tion de phase. Calderbank et Sloane "New Trellis Codes", IEEE Trans. Inf. Theory, à paraître en mars 1987; "An Eight- dimensional Trellis Code", Proc. IEEE, vol. 74, pp. 757-759, 1986, ont également créé divers codes en treillis multidimen- sionnels, généralement avec un rapport performance à comple- xité similaire, davantage d'expansion de constellation, mais dans certains cas un nombre moindre d'états. Tous les codes ci-dessus sont prévus pour des ca- naux dans lesquels la gêne principale (en dehors des rota- tions de phase) est constituée par le bruitet en particulier pour des canaux qui ne présentent pas de brouillage intersym- bole. L'hypothèse implicite est que tout brouillage intersym- bole introduit par le canal réel sera réduit à un niveau né- gligeable par des filtres d'émission et de réception; ou, plus spécialement par un égaliseur linéaire adaptatif dans le récepteur. On sait qu'un tel système fonctionne bien si le canal réel ne présente pas de forte atténuation dans la bande de transmission. Mais dans le cas d'une forte attenua- tion (présence de "zéros" ou de "presque zéros") la puissance de bruit peut être fortement augmentée dans l'égaliseur (ren- forcement du bruit). Une technique bien connue pour éviter le renforce- ment du bruit consiste à réaliser le système de transmission de façon à commander le niveau de brouillage intersymbole plutôt qu'à le supprimer. Les modes les plus connus de ce ty- pe sont appelés les modes de transmission à réponse partielle (Forney, "Maximum Likelihood Sequence Estimation of Digital Sequences in the Presence of Intersymbol Interference", IEEE Trans. Inform. Theory, vol. IT-18, pp. 363-378, 1972). Dans un mode a réponse partielle représentatif (a une dimension) la sortie désirée Yk du récepteur est prévue pour être la différence entre deux entrées successives Xk, c'est-à-dire que: Yk = Xk - Xk-1 plutôt que Yk = xk. En no- tation de données échantillonnées, en utilisant l'opérateur retard D, cela signifie que la séquence de sortie désirée y(D) est égale à x(D)(l-D) plutôt qu'à x(D); c'est ce qu'on appelle un système à réponse partielle "l-D". Etant donné que le spectre d'un canal en temps discret avec une réponse impulsionnelle 1-D présente un zéro a fréquence nulle (cou- rant continu), la combinaison des filtres d'émission et de réception avec le canal réel doit de méme avoir un zéro en courant continu pour obtenir cette réponse désirée. Sur un canal qui a un zéro ou un presque zéro en courant continu, un égaliseur de réception prévu pour une réponse désirée 1-D introduira moins de renforcement de bruit qu'un canal prévu pour produire une réponse parfaite (sans brouillage intersymbole). La transmission en réponse partielle est également utilisée pour atteindre d'autres résultats tels que réduire la sensibilité aux défauts de canal a proximité des bords de bande, rendre moins strictes les exigences de filtrage, au- toriser des tonalités de pilotage en bord de bande, ou ré- duire le brouillage entre canaux adjacents dans les systèmes à multiplexage en fréquence. Parmi d'autres types de systèmes à réponse partiel- le connus, on peut citer un système 1+D qui présente un zéro en bord de bande de Nyquist et un système 1-D qui a des zéros en courant continu et en bord de bande de Nyquist. On peut modéliser un système à réponse partielle en quadrature (à deux dimensions) dit QPRS, en le considérant comme ayant une entrée complexe a deux dimensions; la réponse (complexe) 1+D conduit a un système QPRS qui a des zéros en bord de ban- de haut et bas dans un système A modulation de porteuse (QAM) en bande transposée. Tous ces systèmes à réponse par- tielle sont très proches les uns des autres et des modes pour l'un sont aisément adaptés à in autre, de sorte qu'on peut créer un système pour la réponse 1-D et facilement l'étendre aux autres. Calderbank, Lee et Mazo ("Baseband Trellis Codes with A Spectral Null at Zero", soumis à IEEE Trans. Inf. Theory) ont. proposé un schéma pour construire des séquences codées en treillis qui ont des zéros dans le spectre, en par- ticulier en courant continu, un problème qui est lié à la création d'un système à réponse partielle, bien que les ob- jectifs soient en général un peu différents. Calderbank et autres ont adapté des codes en treillis multidimensionnels connus avec des constellations de signal multidimensionnelles pour produire des séquences de signaux avec des zéros dans le spectre par la technique suivante: la constellation de si- gnal multidimensionnelle a deux fois plus de points de signal que cela ne serait nécessaire pour le cas de la réponse non partielle et elle est divisée en deux sous-ensembles dis- joints de même taille, l'un constitué des points de signal multidimensionnels dont la somme de coordonnées est inférieu- re ou égal à zéro, l'autre dont la somme est supérieure ou égale à zéro. Une "somme numérique itérative" dite RDS, des coordonnées, initialement mise à zéro, est ajustée pour cha- que point de signal multidimensionnel sélectionné par la somme de ces coordonnées. Si la RDS courante n'est pas néga- tive, alors le point de signal courant est choisi dans le sous-ensemble de signal dont les sommes de coordonnées sont inférieures ou égales à zéro; si la RDS est négative, le point de signal courant est choisi dans l'autre sous-ensem- ble. Ainsi, on borne la RDS dans un domaine étroit près de zéro et on sait forcer ainsi la séquence de signal à avoir un zéro de spectre en courant continu. Mais pour le reste, les points de signal sont choisis dans les sous-ensembles de la même façon qu'on le ferait dans un système à réponse non partielle. La constellation multidimensionnelle agrandie, di- visée en un certain nombre de sous-ensembles avec des pro- priétés de distance favorableset un code convolutionnel de rendement (n-1) n, détermine une séquence qui garantit que le minimum de la distance au carré entre séquences soit au moins égal à d2in. Le gain de codage est réduit par le doublement de la constellation (par un facteur de 21/2, ou 1,5' dB, en un fcteu de 1/4 quatre dimensions, ou par un facteur de 2/4, ou 0,75 dB en huit), mais pour le reste on obtient des performances simi- laires à celles du cas en réponse non partielle, avec une complexité de code similaire. Suivant un premier aspect de l'invention, il est prévu un appareil pour générer une séquence de signaux numé- riques xk et/ou une séquence de signaux numériques Yk (la séquence Yk étant en accord avec un code de modulation donné) o k = 1, 2,..., de telle façon que la relation entre les signaux Xk et Yk soit: Yk = Xk + XkL, L étant un entier. Un codeur sélectionne à signaux Yk' avec J > 1, désignés par (Yk' Yk+l'... Yk±1_) qui doivent être congrus à une séquen- ce de C représentants de co-ensemble ck (modulo M), M étant un entier spécifié suivant le code de modulation donné, les J symboles étant choisis dans une de plusieurs constallations à J dimensions, le choix étant basé sur une valeur antérieure xk, avec k' autre point ayant une somme de coordonnées négatives. Le co- deur est prévu de façon que les signaux xk aient une variance finie S Suivant un autre aspect de l'invention, le codeur sélectionne les signaux xk de façon qu'ils soient congrus à une séquence de représentants de coensemble de substitution ck (modulo M), o: =k =k - ckL (modulo M) si Y k Xk + Xk-L Ck = ck + c_L (modulo M) si Yk = Xk - Xk-L Suivant un mode particulier encore de l'invention, les signaux Yk sont compris dans un alphabet de signaux pos- sibles Yk qui sont régulièrement répartis dans l'alphabet avec un espacement A et le codeur est prévu pour que la sé- quence Yk ait une variance Sy inférieure à 2S0 et que la sé- quence xk ait une variance Sx qui ne dépasse pas notablement S2/4(Sy - S0), S0 étant approximativement la puissance mini- male de signal requise pour représenter n bits par signal avec un alphabet à espacement A. Suivant un autre aspect encore de l'invention, le codeur fait que les signaux xk et Yk aient n'importe les- quelles de variances sélectionnées Sx et Sy dans des domaines prédéterminés. Dans des modes de réalisation avantageux, les do- maines sont commandés par un paramètre 3, Sx est approxima- tivement So/(1- P2) et Sy est approximativement 2S0/(1+ À). Suivant un autre aspect encore de l'invention, il est proposé un appareil pour générer une séquence dans un code de modulation à N dimensions, par génération d'une sé- quence de signaux à une dimension basée sur des bits codés et non codés, le code de modulation étant basé sur une cons- tellation à N dimensions, fractionné en des sous-ensembles associés aux codes, les sous-ensembles représentant chacun plusieurs signaux à N dimensions. L'appareil comprend un co- deur pour créer à partir de chaque symbole à N dimensions un jeu de représentants de co-ensembles ck a une dimension et à N valeurs possibles, correspondant aux classes de congruence de chacune des N coordonnées (modulo M) du symbole, chaque représentant de co-ensemble désignant un sous- ensemble de valeurs unidimensionnelles dans une constellation à une di- mension de valeurs de coordonnées possibles pour chacune des N dimensions, chaque signal à une dimension dans la séquence étant choisi parmi les valeurs de coordonnées possibles, sur la base des bits non codés. Dans des modes avantageux de réalisation, on peut fournir soit la séquence xk soit la séquence Yk en tant que sortie; L = 1; Yk = Xk - Xk-L; le code peut être un code en treillis ou un code en réseau; M peut être 2 ou 4 ou un multiple de 4 ou 2 + 2i; J peut être 1 ou être égal au nombre de dimensions du code de modulation; k' = k-l; J = 1 et cha- que constellation est une plage de valeurs à une dimension centrée sur P xk_1 avec 0eP1, e étant avantageusement posi- tif; il y a un ensemble fini de constellations à J dimen- sions, par exemple deux ensembles non disjoints; Yk et xk peuvent être des valeurs réelles ou des valeurs complexes. Suivant un autre aspect encore de l'invention, il est proposé un décodeur pour décoder une séquence Zk = Yk + nk avec k = 1, 2,..., et fournir une séquence décodée Yk o la séquence de signaux Yk est telle que (a) la séquence est tirée d'un code de modulation donné; (b) la somme numérique itérative xk = Yk + Yk-1 + Yk-2 +... a une variance finie Sx; (c) les signaux Yk sont dans un domaine autorisé prédé- x Y terminé qui dépend de xk, avec k' C k; et la séquence nk re- présente le bruit. Un moniteur de viol de domaine reconstitue la somme numérique itérative Xk = k + k-1 + compare la séquence décodée Yk avec un domaine autorisé prédéterminé sur la base de la somme numérique itérative estimée Ak' avec k' , o la séquence des signaux Yk est telle que (a) la séquence est tirée d'un code de modulation donné, le code étant susceptible d'être généré par un codeur ayant un nombre fini Q d'états; (b) Yk = Xk Xk-L, L étant un nombre entier, o la séquence xk a une variance finie Sx..DTD: et la séquence nk représente du bruit, comprenant un estima- teur modifié de séquence de vraisemblance maximale prévu pour trouver MQ séquences décodées partielles jusqu'à un certain instant K, à raison d'une séquence pour chaque combinaison du nombre fini Q d'états, et de chaque valeur d'un nombre fini M de valeurs modulo M espacées de nombres entiers, de façon que chaque séquence (a) soit dans le code jusqu'à l'instant K; (b) corresponde à la situation du codeur dans un état donné à l'instant K; (c) corresponde à une valeur de XK à l'instant K qui est congrue modulo M à l'une donnée des valeurs. L'invention permet d'adapter des codes de modula- tion connus, en particulier des codes en treillis, à l'uti- lisation dans des systèmes à réponse partielle, pour obtenir les mêmes genres d'avantages que présentent les codes en treillis dans des systèmes à réponse non partielle,en parti- culier des gains de codage notables pour des nombres n de bits par symboles de grandeur arbitraire, avec une complexi- té de décodage raisonnable. L'invention permet également de réaliser des codes en treillis pour des systèmes à réponse partielle de façon à obtenir à la fois une puissance de si- gnal d'entrée Sx relativement basse et une puissance de sor- tie S relativement basse, et permet un compromis satisfai- y sant entre ces deux quantités. De plus, des codes en treil- lis ayant des dimensions plus élevées peuvent être adaptés à l'utilisation dans des systèmes à réponse partielle qui sont de façon inhérente à dimensions plus faibles. L'invention sera mieux comprise à la lecture de la description qui suit de modes particuliers de réalisation donnés à titres d'exemples. La description se réfère aux dessins qui l'accompagnent, dans lesquels: La figure 1 est un schéma d'un canal à réponse partielle l-D; La figure 2 est un schéma d'un codeur pour un code Ungerboeck à 8 états; La figure 3 est une constellation de signal pour le code Ungerboeck fractionné en 8 sous-ensembles; La figure 4 est un schéma d'un codeur équivalent pour le code Ungerboeck; La figure 5 est un schéma d'un codeur en treillis à N dimensions généralisé; La figure 6 est un schéma montrant une modification de la figure 5, basée sur des représentants de co-ensembles; La figure 7 est un schéma d'un codeur équivalent à une dimension; La figure 8 est un schéma d'un codeur en treillis généralisé à N dimensions; La figure 9 est un schéma d'un codeur généralisé avec précodage de co-ensembles; La figure 10 est un schéma combinant les figures 8 et 9; La figure 11 est un schéma d'un codeur avec boucla- ge par somme numérique itérative (RDS) et précodage de co- ensembles; Les figures 12, 13 et 14 sont des variantes de la figure 11; Les figures 15, 16 et 17 sont des schémas de trois dispositions de filtrage équivalentes; La figure 18 est un schéma d'un décodeur généralisé; Les figures 19, 20 et 21 sont des schémas d'autres codeurs; La figure 22 montre une autre constellation de signal; La figure 23 est un schéma synoptique d'un côdeur destiné à être utilisé avec la constellation de la figure 22; Les figures 24, 25 et 26 sont des synoptiques de trois codeurs équivalents; La figure 27 est un synoptique d'un décodeur sui- vant une variante; La figure 28 est un schéma d'une constellation de signal agrandie; La figure 29 est un losange utilisé avec la cons- Ii tellation de la figure 28; La figure 30 est un schéma d'un codeur à deux di- mensions à bouclage par somme numérique itérative; La figure 31 est un diagramme des dimensions d'un losange destiné à être utilisé avec la constellation de la figure 28; La figure 32 montre une paire de constellations; La figure 33 montre deux constellations disjointes. Dans le cas montré en figure 1, l'invention met en oeuvre une technique destinée à générer des séquences de si- gnal destinées à être utilisées en tant qu'information d'en- trée pour un canal à réponse partielle 10, comme par exemple un système en bande de base à réponse partielle 1-D de type unidimensionnel (réel), avec un zéro en courant continu. (Ultérieurement, on indiquera brièvement comment modifier une telle structure pour d'autres types de systèmes à réponse partielle.) Chaque signal de sortie zk d'un tel système est donné par la relation: Zk Yk + nk dans laquelle la séquence nk (n(D)) représente le bruit, et la séquence Yk (y(D)) est une séquence codée à réponse par- tielle (dite PRC) qui est définie par la relation: Y=k X k - Xk-1' dans laquelle la séquence xk (x(D)) est la séquence des si- gnaux d'entrée du canal. Du fait que: xk =Xk-1 + Xk, on peut récupérer la séquence xk à partir de la séquence PRC, en formant une somme numérique itérative, dite RDS, des va- leurs Yk (connaissant une valeur initiale pour la séquence xk); on donne donc l'appellation "séquence RDS" à la séquence xk. On désigne respectivement par Sx et Sy les variances d'échantillons de la séquence RDS x(D) et de la séquence PRC y(D). La réponse partielle à des instants discrets 1-D (représentée par le bloc 12) est une combinaison des réponses d'une chalne de filtres d'émission, d'un canal réel, de fil- tres de réception, d'égaliseurs, d'échantillonneurs, etc, conçus d'une manière classique de façon à donner une réponse partielle composite 1-D, avec la puissance de bruit P (de la séquence de bruit n(D)) faible par rapport à la puissance PRC S. On désirera donc émettre un nombre de bits n relativement Y grand par entrée de canal. Un détecteur (non représenté) tra- vaille sur la séquence PRC bruyante z(D) pour estimer x(D) (ou de façon équivalente y(D), du fait qu'il existe une re- lation biunivoque entre elles.Si le détecteur est un estima- teur de séquence à probabilité maximale, l'objectif est, au premier ordre, de maximiser la distance au carré minimale dmin entre des séquences PRC y(D) permises. min Dans certaines applications, la contrainte de con- ception consistera simplement à minimiser la variance d'échantillon Sx de la séquence (d'entrée) RDS. Dans d'autres, la contrainte portera sur S. Dans d'autres applications Y encore, il y aura une contrainte de puissance effective quelque part au milieu de la chaîne composite de filtres, ce qui fait qu'il sera souhaitable de maintenir faibles à la fois S et Sy, et de réaliser en fait entre eux un compromis soigneusement étudié. Un problème connexe consiste dans la conception de séquences avec des zéros spectraux, par exemple un zéro à la fréquence zéro (en continu). L'objectif peut être dans ce cas de concevoir des séquences y(D) capables de représenter n bits par échantillon, qui ont un zéro spectral, qui ont une variance d'échantillon S aussi faible que possible, mais qui y 2 ont également une distance au carré minimale dmin élevée en- min tre des séquences y(D) possibles. Un objectif auxiliaire com- mun est de limiter également la variation de la somme numéri- itérative (RDS) de la séquence y(D), pour des raisons liées au système. Du fait que la séquence de somme numérique itéra- tive x(D) est par exemple y(D)/(1-D), et que sa variance d'échantillon Sx est une mesure de sa variation, on peut éga- lement appliquer la présente invention à la conception de séquences comportant des zéros spectraux. Un certain nombre de principes de conception sont utiles pour atteindre les objectifs qu'on s'est fixé. Le pre- mier principe consiste à concevoir la séquence d'entrée (RDS) x(D) de façon que la séquence de sortie (PRC) y(D), prise N valeurs à la fois, soit une séquence de points de si- gnal à N dimensions appartenant à des sous-ensembles d'une constellation à N dimensions qui est déterminée par un code en treillis à N dimensions connu. La distance au carré mini- male dmn entre des séquences PRC sera alors au moins la dis- mn tance dmin garantie par le code en treillis. En outre, on peut aisément adapter pour l'utilisation avec ce système un estimateur de séquence à probabilité maximale, et bien qu'il ne soit peut-être pas optimal, il procurera la même distance dmin effective pour une complexité de décodage pratiquement identique à celle du même code en treillis dans un système à réponse non-partielle. Un exemple de réalisation de la présente invention est basé sur un code en treillis connu à 2 dimensions et 8 états, similaire à celui d'Ungerboeck décrit dans l'article précité, qui utilise une constellation bidimensionnelle à 128 points pour émettre 6 bits par signal (bidimensionnel). (Ceci est également similaire au code utilisé dans la Recom- mandation V.33 du CCITT pour un modem fonctionnant à 14,4 kbit/s.) La figure 2 montre le codeur 20 pour ce code. Pour chaque symbole à six bits 21 qui est fourni par une source de données 23, 2 des 6 bits d'entrée du codeur 20 entrent dans un codeur convolutionnel à 8-états de rendement 2/3, portant la référence 22. Les 3 bits de sortie de ce codeur sont utilisés dans un sélecteur de sous-ensemble 24 pour sélectionner l'un des 8 sous-ensembles d'une constellation de signal à 128 points, représentée sur la figure 3; il y a 16 points dans chaque sous-ensemble (les points situés dans les huit sous-ensembles portent respectivement les désigna- tions A à H). Les 4 "bits non codés" 26 restants (figure 2) sont utilisés dans un sélecteur de point de signal 28, pour sélectionner dans le sousensemble choisi le point de signal (bidimensionnel) qui doit être émis. Le code procure un gain d'un facteur de 5 (7dB) sur dmin' par rapport à un système non codé, mais il perd environ 3 dB en utilisant une cons- tellation à 128 points au lieu d'une constellation à 64 points, ce qui fait que le gain de codage net est d'environ 4 dB. Forme unidimensionnelle du code d'Ungerboeck bidimensionnel La séquence de symboles xk qui sont émis sur le canal est unidimensionnelle dans un système à réponse par- tielle en bande de base de type 1-D. Il est donc utile (mais non essentiel) de transformer sous une forme unidimensionnel- le des codes en treillis connus. Cette transformation présen- te deux aspects: premièrement la caractérisation des sous- ensembles bidimensionnels sous la forme de compositions de sous-ensembles unidimensionnels constitutifs, et secondement la caractérisation de la constellation bidimensionnelle finie sous la forme d'une composition de constellations unidimen- sionnelles constitutives. On va maintenant montrer comment on effectue cette décomposition pour l'exemple du code d'Ungerboeck bidimensionnel, et on indiquera ensuite comment on peut la faire dans le cas général d'un code en treillis à N dimensions. La première étape consiste à remarquer qu'on peut considérer chacun des huit sous-ensembles bidimensionnels A, B,..., comme la réunion de deux sous-ensembles bidimension- nels plus petits, à savoir A0 et A1; B0 et B1, etc, chacun des 16 sousensembles plus petits pouvant être caractérisé de la manière suivante. On fractionne en quatre classes a, b, c, d les valeurs possibles de chaque coordonnée d'un point de signal; chacun des sous-ensembles bidimensionnels plus petits est alors constitué par les points dont les deux coordonnées se trouvent dans une paire spécifiée de classes. On obtient une expression mathématique commode pour cette décomposition si on donne à la figure 3une échelle telle que des points de signal soient mutuellement séparés d'une unité dans chaque dimension (et que les coordonnées de chaque point soient des demi-entiers); les classes a, b, c, d sont alors des classes d'équivalence (modulo 4), et chacun des 16 ensembles Ao0, A1, B0,o... est constitué par les points dont les deux coordon- nées sont congrues modulo 4 à une paire x, y, donnée, chacune des variables x et Y pouvant prendre l'une des quatre valeurs {a, b, c, dl, par exemple f+1/2, +3/23. On appelle ces quatre valeurs des "représentants de co-ensemble" (unidimensionnels). On a marqué avec des 0 et des 1 les points de la constella- tion de la figure 3 pour montrer une configuration possible des 16 sousensembles. Par exemple, le point G0 29 a des coordonnées x = 5/2, y = 9/2, et ses représentants de co-en- semble sont (5/2, 9/2) modulo 4 ou (-3/2, 1/2). On peut maintenant modifier la figure 2 de la ma- nière suivante. En considérant la figure 4, on note que les trois bits de sortie du codeur 22 plus l'un des bits non co- dés 30 sont utilisés en tant que signaux d'entrée pour le sé- lecteur de sous-ensemble 32, qui sélectionne l'un des 16 sous-ensembles sur la base des 4 bits d'entrée, tandis que le bit non codé 30 accomplit une sélection entre A0 et A1, ou B. et Bi, etc, en fonction de celui des 8 sous-ensembles d'origine qui est sélectionné par les trois bits codés par convolution que produit le codeur 22. Le codeur 22 et les bits 30 représentent en fait un codeur à 8 états de rendement 3/4, dans lequel la sortie sélectionne l'un des 16 sous-en- sembles, bien que l'ensemble des séquences de points de si- gnal possibles n'ait pas changé. Ensuite, on désigne chacun de ces 16 sous-ensembles plus petits au moyen d'une paire de représentants de coensemble unidimensionnels 34, à raison d'un pour chaque coordonnée, chaque représentant de co-en- semble ck pouvant prendre une valeur parmi quatre. On désigne par (Clk, C2k) la paire de représentants de co-ensemble. * Un aspect de l'invention réside dans l'observation du fait que tous les bons codes cités ci-dessus, c'est-à-dire ceux d'Ungerboeck, Gallager, Wei, et Calderbank et Sloane, peuvent être transformés de la même manière. Autrement dit, on peut générer l'un quelconque de ces codes en treillis à N dimensions au moyen d'un codeur qui sélectionne l'un de 4 sous-ensembles, les sous-ensembles étant spécifiés par N re- présentants de co-ensemble unidimensionnels à 4 valeurs, qui correspondent à des classes de congruence de chaque coordon- née (modulo 4). Dans certains cas, il suffit d'utiliser 2N sous-ensembles spécifiés par des représentants de co-ensemble unidimensionnels à 2 valeurs (par exemple { 1/23), correspon- dant à des classes de congruence de chaque coordonnée (modulo 2); c'est par exemple le cas pour le code 2D à 4 états d'Ungerboeck, pour le code 4D à 8 états de Gallager (et le code similaire de Calderbank et Sloane), pour le code 4D à 16 états et le code 8D à 64 états de Wei, etc. On a en outre observé qu'on peut transformer de cette manière de nombreux bons codes en réseau; ainsi, à titre d'exemple, le code en réseau D4 de Schlâfli et le code en réseau E8 de Gosset peu- vent être représentés par des séquences de 4 ou 8 représen- tants de co-ensemble unidimensionnels à deux valeurs (modulo 2); les codes en réseau A16 et A32 de Barnes-Wall et le code en réseau A24 de Leech peuvent être représentés par des représentants de co-ensemble unidimensionnels à quatre va- leurs (modulo 4). La figure 5 montre une forme générale pour tous ces codes. Le codeur est du type à N dimensions et il fonctionne une fois pour chaque groupe de N signaux à émettre sur le canal. Au cours de chaque opération, p bits entrent dans un codeur binaire C 33, et ils sont codés pour donner p+r bits codés. Ces bits codés sélectionnent (dans le sélecteur 35) l'un des 2p+r sous-ensembles d'une constellation de signal à N dimensions (les sous-ensembles correspondent aux 2p+r co- ensembles d'un sous-réseau A ' d'un réseau à N dimensions A, et la constellation est un ensemble fini de 2n+rpo _s d'une version translatée du réseau A, ce qui fait que chaque sous-ensemble contient 2n PpLnts). Ungmupe supgémentaire de n-p bits non codés sélectionne (dans le sélecteur 37) un point de signal dans le sous-ensemble sélectionné. Le code émet donc n bits pour chaque symbole à N dimensions, en utilisant une constellation de 2n+r points de signal à N di- mensions. Le codeur C et la fraction de réseau A/ A' garan- tissent une certaine distance au carré minimale dmin entre deux séquences de points de signal quelconques qui appar- tiennent à une séquence de sous-ensemblespossible. L'observation ci-dessus (concernant la possibilité de transformation de tous les bons codes) résulte de l'obser- vation mathématique du fait que pour tous les bons codes en treillis et en réseau qui ont été cités, le réseau 4ZN de N- uplets de multiples entiers de 4 est un sous-réseau du réseau N A' (et dans certains cas, il en est de même pour 2Z). Dans ces conditions, pour un certain entier q, A' est la réunion de 2q co-ensembles de 4ZN dans A'. L'effet pratique de cette observation est le suivant: à condition que n, q + p, on peut appliquer les p + r bits codés, plus q bits non codés à un sélecteur de sous-ensemble, qui sélectionne l'un des 2q+p+r co-ensembles de 4ZN dans A, et on peut en outre iden- tifier ces co-ensembles par une séquence de N représentants de co-ensemble unidimensionnels à 4 valeurs (clk, c2k,... cNk), en désignant par cjk des classes d'équivalence espacées de nombres entiers (modulo 4). On peut donc déjà modifier la figure 5 de la manière représentée sur la figure 6. Dans cette modification, on suppose que la constellation de signal à 2n+r points se divise de façon égale en 2q+p+r sous-ensem- bles, chacun d'eux contenant le même nombre de points de si- gnal (2n-q-p). Le mode de réalisation du code d'Ungerboeck, donné à titre d'illustration, est un exemple dans lequel N = 2, A Z2, ' = 2RZ2, p = 2, p + r = 3, q = 1, et n = 6. La seconde étape consiste a décomposer la constel- lation en constellations unidimensionnelles constitutives. Pour la constellation de la figure 3, chaque coordonnée peut prendre l'une de 12 valeurs qui peuvent être groupées en 8 "points intérieurs" (par exemple { 1/2, +3/2, +5/2, +7/21) et 4 "points extérieurs" (par exemple {+9/2, +11/21), comme le suggère la frontière 31 sur la figure 3. Il y a 2 points intérieurs et 1 point extérieur dans chacune des quatre classes d'équivalence unidimensionnelles (à titre d'exemple, la classe dont le représentant de co-ensemble est +1/2 con- tient les deux points intérieurs +1/2 et -7/2, et le point extérieur 9/2, du fait que ces trois points sont congrus à +1/2 (modulo 4). Par conséquent, connaissant un représentant de co-ensemble, il est seulement nécessaire de spécifier si un point est un point intérieur ou un point extérieur et, si c'est un point intérieur, on doit spécifier le point dont il s'agit parmi les deux points intérieurs. On peut effectuer ceci avec deux bits, à savoir blk (=intérieur ou extérieur) et b2k (= lequel des points intérieurs) (ou avec un paramè- tre à trois valeurs, ak). On peut dire que la paire (blk, b2k) est un para- mètre d'identification de domaine ak, qui peut prendre une valeur parmi trois, indiquant les trois domaines suivants: (a) de 0 à 4 (point intérieur, positif); (b) de -4 à 0 (point intérieur, négatif); (c) de -6 à -4 et de 4 à 6 (point extérieur). Le fait que chaque domaine s'étende sur une partie de la li- gne réelle de largeur totale 4 qui contient exactement un point congru à un nombre réel quelconque (modulo 4), signi- fie que le paramètre d'identification de domaine ak plus le représentant de co-ensemble ck spécifient un point de signal particulier, pour toute valeur de ck. On peut ensuite décomposer de la manière suivante le sélecteur de point de signal 36 de la figure 4. En consi- dérant la figure 7, on note que trois bits non codés 40 en- trent dans un élément de sélection de paramètre d'identifi- cation de domaine 42, pour chaque paire de coordonnées. Un bit non codé détermine si un point extérieur quelconque est émis. Dans l'affirmative, un second bit détermine ensuite la coordonnée qui contient le point extérieur, et le troisième bit sélectionne le point intérieur dans l'autre coordonnée. Dans la négative, les deux coordonnées sont des points inté- rieurs, et les second et troisième bits sélectionnent le point intérieur dont il s'agit pour chaque coordonnée. Ainsi, en résumé, l'élément 42 projette les trois bits d'entrée non codés 40 dans deux paires de bits de sortie 44: a, = (bll, b12), et a2 = (b21, b22), et chaque paire de bits est utilisée pour déterminer une coordonnée en association avec le représentant de co-ensemble correspondant, c1 ou c2, qui est produit par le sélecteur de paire de représentants de co-ensemble 46. Le codeur complet a donc été réduit à une forme dans laquelle chaque coordonnée xk (48) est sélection- née (dans un sélecteur de coordonnée 50) par 4 bits, soit deux représentant ck et deux représentant ak = (blk, b2k). On peut décomposer de cette manière toutes les constellations couramment utilisées avec les codes cités ci- dessus. Les principes sont similaires à ceux expliqués dans le brevet US 4 597 090 et dans l'article de Forney et autres, "Efficient Modulation..." précité, dans lesquels des cons-- tellations à N dimensions sont construites à partir de cons- tellations bidimensionnelles constitutives; Wei a utilisé une construction similaire à partir de constellations bidi- mensionnelles constitutives, en association avec des codes en treillis, dans sa demande de brevet des E.U.A. précitée. La figure 8 montre la forme générale du codeur pour des codes à N dimensions. Pour chaque groupe de N coordonnées, p bits 51 entrent dans un codeur 52 et p + r bits codés 54 sont produits; ces bits plus q bits non codés 56 entrent dans un sélecteur 58 qui sélectionne une séquence de N représen- tants de co-ensemble ck (60); les n-p-q bits non codés res- tants, 62, sont transformés (dans un sélecteur 64) en une séquence de paramètres d'identification de domaine ak (66) qui, conjointement aux Ck, déterminent (dans un sélecteur de point de signal 68) une séquence de N valeurs de point de signal xk (70), au moyen d'une fonction de sélection de point de signal f(ck, ak) qui travaille sur une base unidimension- nelle. De façon générale, le paramètre d'identification de domaine ak détermine un sous-ensemble de la ligne réelle (constellation unidimensionnelle) de largeur (mesure) 4, qui contient exactement un élément congru (modulo 4) à une valeur ck possible quelconque, et la fonction f(ck, ak) sélectionne cet élément. Pour tous les codes cités, on peut prendre pour l'alphabet des représentants de co-ensemble quatre valeurs espacées de nombres entiers (modulo 4); pour certains codes, on peut prendre pour l'alphabet des représentants de co-en- semble deux valeurs espacées de nombres entiers (modulo 2) (auquel cas les domaines ont une largeur 2). La taille de l'alphabet de ak est aussi grande qu'il est nécessaire pour émettre n bits pour N coordonnées. Les séquences de points de signal qui sont produites par cette forme de codeur sont généralement identiques à celles du code d'origine et, en particulier, elles sont séparées par la même distance au carré minimale dmin que dans le code d'origine. Précodage de co-ensembles Lorsque des séquences de points de signal à N di- mensions, produites par de bons codes en treillis connus, sont mises en série sous la forme de points de signal unidi- mensionnels, on ne peut généralement pas les utiliser à ti- tre d'informations d'entrée du canal à réponse partielle de la figure 1 sans dégradation de dmin (à cause du brouillage intersymbole). Cependant, une technique qu'on appelle le intersymbole). Cependant, une technique qu'on appelle le précodage de co-ensembles permet l'adaptation de ces codes connus à des systèmes à réponse partielle, sans augmentation de S ni dégradation de dmin La technique générale est il- lustrée sur la figure 9. On utilise le même codeur à convolution 52 que pour le code en treillis connu, de préférence sous la forme de la figure 8. Au lieu de sélectionner directement un sous-ensem- ble, les p+r bits de sortie codés 54 sont convertis (comme sur la figure 8) dans un sélecteur de sous-ensemble/conver- tisseur en série 70, pour donner une séquence ck de N repré- sentants de co-ensemble unidimensionnels cl,..., CN, cor- respondant au sous-ensemble qui serait sélectionné dans un système à réponse non partielle. Ces représentants de co-en- semble sont ensuite "précodés" (dans un précodeur 72) pour donner une séquence de représentants de co-ensemble de subs- titution (ou "précodée") c (74), avec: ck = c_-l + ck (modulo 4) (Dans les cas dans lesquels il est possible d'utiliser des représentants de coensemble modulo 2, on peut effectuer ce précodage modulo 2.) La séquence de représentants de co-en- semble précodés 74 est une somme numérique itérative modulo 4 (ou 2) de la séquence de représentants de co-ensemble ordi- naires. Les représentants de co-ensemble précodés c peuvent ensuite être groupés N à la fois dans l'unité de groupement 75 pour spécifier un sousensemble à N dimensions (dans le sélecteur de point de signal/convertisseur série 76); un point de signal peut ensuite être sélectionné de la manière habituelle (sur la base des bits non codés 78); et le point de signal résultant peut être émis sous la forme d'une sé- quence x(D) de N signaux unidimensionnels Xk, sur le canal à réponse partielle (dans l'ordre dans lequel ces points ont été précodés). On notera que si les ck sont des demi-entiers, les ck alternent entre deux ensembles de 4 valeurs, avec un en- semble déplacé de 1/2 par rapport à l'autre. Ceci n'a qu'un effet mineur; on peut par exemple faire "osciller" alterna- tivement les coordonnées xk de +1/4 et -1/4, de façon à tenir compte de cette périodicité. Selon une variante, on peut faire en sorte que l'alphabet des ck corresponde à des valeurs en- tières, par exemple {0, 1, 2, 3}; les c proviennent alors toujours du même alphabet, par exemple { 1/2, 3/21. Ces dé- calages de c' ou ck n'affectent pas le paramètre dmin du code. Si le codeur se présente sous la forme de la figure 8, on peut mettre la figure 9 sous la forme de la figure 10, les mêmes blocs remplissant les mêmes fonctions. En particu- lier, du fait qu'on a caractérisé la fonction f(ck, ak) comme étant une fonction qui sélectionne l'élément particulier con- gru à ck dans un domaine identifié par ak, le fait que le précodage fasse passer de l'alphabet des ck à l'alphabet des c n'a aucune importance; en fait, le (modulo 4) dans le précodeur est inutile en principe, mais peut éventuellement être utile en pratique. Dans le cas de la figure 9 ou de la figure 10, on peut montrer que la séquence PRC Yk = Xk - Xk-1 comporte des éléments qui sont congrus à ck (modulo 4), ce qui fait qu'ils tombent dans les sous-ensembles du code en treillis d'origine d2 et ont donc au moins le même paramètre dmin La séquence RDS min' xk a la même énergie moyenne Sx que dans le code en treillis d'origine, si l'alphabet des c' est identique à l'alphabet des Ck; même s'il ne l'était pas, on a toujours une égalité approximative. (Dans l'exemple de réalisation considéré, l'énergie moyenne par coordonnée est de 10,25, avec des si- gnaux espacés de nombres ehtiers.) Si les ck sont des entiers, les xk sont des variables aléatoires indépendantes, réparties de façon identique, et on a donc (a) Sy = 2Sx; (b) le spectre de la séquence RDS lXk} est plat (blanc) dans sa bande de Nyquist; (c) le spectre de la séquence PRC {Ykl est le même que celui du canal à réponse partielle. Même si les ck ne sont pas des entiers, ces affirmations sont toujours approximativement vraies. On peut modifier le précodage de co-ensembles pour d'autres types de systèmes à réponse partielle, en procédant de la façon suivante. Pour un système à réponse partielle 1+D (unidimensionnel), on utilise le même système à l'excep- tion du fait que le terme c'_ est soustrait dansle précodeur 72, au lieu d'être additionné, ce qui fait que c = ck - c'_ (modulo 4). Pour un système 1-DL, on remplace l'élément k-i L de retard D par un élément de retard DL, ce qui fait que ck = c_L + Ck. Pour un système bidimensionnel 1+D, on uti- lise deux précodeurs 1+D en parallèle, avec des paires de signaux de sortie du sélecteur de sous-ensemble/convertisseur série en tant que signaux d'entrée, et les deux signaux de sortie déterminent les parties réelle et imaginaire (en phase et en quadrature) du point de signal bidimensionnel à émettre. Bouclage RDS Selon l'application, il peut être souhaitable de réduire l'énergie moyenne S de la séquence PRC, au prix y d'une augmentation de l'énergie moyenne Sx de la séquence RDS. Ceci aura également tendance à aplatir le spectre PRC, tout en augmentant le niveau des composantes de basse fré- quence du spectre RDS. Dans l'article "Information Rates and Power Spectra of Digital Codes", IEEE Trans. Inform. Theory, vol. IT-28, pages 457-472, 1982, Justesen a introduit la no- tion d'une "fréquence de coupure" f0, au-dessous de laquelle le spectre PRC est faible, et au-dessus de laquelle il tend vers un état plat, et cet auteur a montré que la fréquence f0est donnée approximativement par la relation f0 L (Sy/ 2Sx)fN, dans laquelle fN est la fréquence du bord de la bande de Nyquist. Un procédé général pour réaliser ce compromis tout en maintenant le paramètre dmin du code en treillis dans les min d oee rilsdn e séquences PRC, consiste à développer de la manière suivante le codeur des figures 9 ou 10. On peut calculer la séquence PRC à partir de la séquence RDS; pour le canal l-D, chaque signal PRC est sim- plement Yk = Xk - Xk-l. En considérant la figure 11, on peut faire en sorte que le sélecteur de point de signal 80 base chaque xk sur xk_1 (en renvoyant xk par l'intermédiaire d'un élément de retard 82), ainsi que sur le représentant de co- ensemble précodé courant ck, et sur le paramètre d'identifi- cation de domaine ak, de manière à éviter de grandes valeurs PRC yk (calculées dans l'unité de sommation 84). Tant que les signaux xk sont toujours choisis de façon à être congrus aux c' (modulo 4), les signaux Yk seront congrus aux ck (mo- kY dulo 4), et ils préserveront donc le paramètre dmin du code en treillis. (On notera que bien que l'idée soit de pré-cal- culer la valeur PRC Yk de façon à la maintenir faible, la valeur qu'on renvoie réellement est la valeur RDS précédente Xkl, ce qui fait qu'on appelle ceci "bouclage RDS".) Dans l'exemple de réalisation considéré, ceci pour- rait être effectué de la manière suivante. Comme indiqué précédemment, on peut caractériser la fonction de sélection normale f(ck, ak) du sélecteur 80 en disant que les 8 points intérieurs sont les 8 valeurs demi-entières se trouvant dans le domaine qui s'étend de -4 à +4, tandis que les 4 points extérieurs sont les 4 valeurs demi-entières qui sont compri- ses dans le domaine allant de -6 à -4 et de +4 à +6. On peut faire varier le domaine des points intérieurs et le domaine des points extérieurs en fonction de xkl' aussi longtemps que le domaine des points intérieurs couvre 8 points de si- gnal, soit 2 de chaque classe d'équivalence, tandis que le domaine des points extérieurs couvre 4 points de signal, soit 1 de chaque classe d'équivalence. Une manière générale de réaliser ceci consiste à soumettre tous les domaines à une translation au moyen d'une variable de translation R(xkl) qui est une fonction de xk_1 Ainsi, dans l'exemple de réalisation considéré, le domaine des points intérieurs est modifié de façon à s'étendre de -4 + R(xk_1) à 4 + R(xkl), et le domaine des points exté- rieurs est modifié de façon à s'étendre de -6 + R(xkl) à -4 + R(xk_1) et de 4 + R(xkl) à 6 + R(xkl). La fonction R(xk_1) doit de façon générale croître avec xk_1, de façon à réduire les Yk' On a pu montrerque le choix optimal est R(xkl) = Mxkl, en désignant par 3 un pa- ramètre dans le domaine 0 4 Z 1. Lorsque = 0, le bouclage RDS par l'élément 82 disparaît et la figure 11 se réduit au précodage de coensemble, comme sur la figure 10. Avec ce choix, si S0 est la valeur de Sx dans le cas ordinaire ( = 0), il est approximativement vrai que: (a) Sx = S0/(1 - 2); - (b) Sy = 2S/( +); (c) Le spectre S (f) de la séquence RDS est propor- x 2 tionnel à 1/(1 - 2 cos e + P2), avec e = f/fN; (d) Le spectre Sy(f) de la séquence PRC est propor- tionnel à 2(1 - cose)/(1 - 2 P cos e + F2); et la "fréquence de coupure" f0 est (1-)fN (e) Les xk sont limités au domaine s'étendant de -M/2(1+) à M/2 (1- (), et les Yk sont limités au domaine s'étendant de -M à M, si le domaine des coordonnées dans le code d'origine s'étend de -M/2 à M/2. Lorsque F tend vers 1, S tend vers So, et Sy (f) tend vers un spectre plat avec un zéro abrupt en-continu. D'autre part, Sx prend une valeur élevée et S x(f) tend-vers un spectre de type 1/(l-D), à l'exception du fait qu'il con- serve une valeur finie près de la composante continue. On a pu montrerAue ceci constituaitle meilleur compromis possible entre Sx, Sy et S0. Les figures 12, 13, 14 montrent trois manières équivalentes de produire xk et/ou Yk sur la base de Ck, ak et Xkl. La figure 12 correspond très étroitement à la figure 11. Sur la figure 12, la variable de bouclage ck' dans le précodeur de co-ensemble 72 est remplacée par xk 1' du fait que c _1 - Xk_1 (modulo 4), et seule la valeur de ck (modulo 4) est utilisée dans le sélecteur 80. R(ak) désigne le domaine identifié par ak, et R(xk_l) représente la varia- ble de translation de domaine qui est introduite par le bou- clage RDS. Du fait que Yk = Xk Xk- c c k _k (modulo 4) et ck - ck + Xk_ (modulo 4), Yk Ck (modulo 4). Les figures 13 et 14 sont mathématiquement équiva- lentes à la figure 12, dans le sens o,si elles ont la même valeur de départ Xyl et la même séquence d'informations d'entrée (ck, ak), elles produiront les mêmes ensembles d'informations de sortie (Xk, Yk). Sur la figure 13, Yk est choisi comme étant le seul élément congru à ck dans le do- maine R(ak) + R(xkl) - Xkl, et xk est déterminé à partir de Yk par la relation xk = Yk + Xk-l' si bien que xk = c k + Xk_1 (modulo 4), et est le seul élément dans le domaine R(ak) + R(xkl) qui soit congru à c' (modulo 4). Sur la fi- gure 14, on choisit une variable d'innovation ik qui est le seul élément congru à c" - ck + Xk_ R(Xk_) (modulo 4) kk k-i R(kl (mdla4 dans le domaine R(ak), et on détermine xk à partir de ik, par la relation: xk = ik + R(xkl), si bien que xk cu + k k k-1 k k R(xkl) c (modulo 4), et xk est le seul élément dans le domaine R(ak) + R(xk_1) qui est congru à c (modulo 4). La figure 12 combine l'élément de retard dans le précodeur avec l'élément de retard nécessaire pour le bouclage RDS, et est spécialement utile sixk est l'information de sortie désirée et si les c proviennent toujours du même alphabet, par exemple { 1/2, 3/2}. La figure 13 élimine complètement le précodeur, et est spécialement utile si Yk est l'information de sortie désirée et si les ck proviennent toujours du même alphabet, par exemple {+1/2, +3/2}. Sur la figure 14, la va- riable de translation de domaine R(xk_1) est déterminée à l'extérieur du sélecteur, de façon que les ik soient toujours choisis dans le même domaine (la réunion de tous les R(ak)); la séquence d'innovations i(D) est approximativement une sé- quence de variables aléatoires indépendantes ik réparties de façon identique (en négligeant les variations mineures qui sont induites par la contrainte de congruence des ck), et cette séquence auxiliaire peut être utile si on désire une séquence blanche (spectralement plate) liée de façon détermi- niste à x(D) ou y(D). Les figures 15, 16, 17 représentent trois configu- rations de filtrage équivalentes pour l'utilisation avec les séquences x(D), y(D) et i(D) des figures 12, 13, 14. Sur la figure 15, la séquence RDS x(D) est filtrée dans un filtre d'émission HT(f) avant d'être émise (sous la forme du signal s(t)) sur le canal réel (non représenté). Sur la figure 16, la séquence PRC y(D) est filtrée dans un filtre d'émission HT(f) dont la réponse est équivalente à celle d'une combinai- son en cascade d'un filtre de données échantillonnées 1/(l-D) et de HT(f); puisque y(D) présente un zéro en continu, le fait que la réponse de 1/(lD) soit infinie en continu (en particulier si HT(f) présente également un zéro en continu) n'a aucune importance. Sur la figure 17, la séquence d'inno- vations i(D) est filtrée dans un filtre d'émission H(f) dont la réponse est équivalente à celle d'une combinaison en cas- cade d'un filtre de données échantillonnées 1/(1- PD) et de HT(f); ceci équivaut à la configuration des figures 15, 16 si R(xkl) =9 xk_1; dans le cas contraire, le filtre de don- nées échantillonnées équivalent est le filtre correspondant à xk = ik + R(xkl), qui est en général non-linéaire. L'une quelconque de ces formes équivalentes peut être préférable en fonction de HT(f), R(xk_1), et de la technologie de réa- lisation qui est utilisée. Certaines modifications des systèmes de bouclage RDS ci-dessus peuvent être souhaitables en pratique. A titre d'exemple, il peut être souhaitable de changer la forme des domaines R(ak), par rapport à ceux utilisés lorsque R(xk1) = 0. Par exemple, dans le mode de réalisation considéré, une forme de bouclage RDS mise en oeuvre de façon simple est la suivante: lorsque Xk_1 est positif, on choisit Yk de la ma- nière habituelle dans le domaine allant de -4 à 4 si ak in- dique un point intérieur, mais si ak indique un point exté- rieur on choisit pour Yk le nombre congru à ck dans le do- maine allant de -4 à -8; lorsque Xk_1 est négatif, on utili- se le domaine allant de 4 à 8 pour des points extérieurs. Dans ces conditions: (a) le domaine de la séquence PRC Yk est limité aux va- leurs allant de -7,5 à +7,5, au lieu de -11 à 11il lorsqu'il n'y a pas de bouclage RDS; (b) la variance PRC S est réduite de 20,5 à 13,25, soit y une réduction de 1,9 dB, et environ 1,1 dB au-des- sus de S0 = 10,25; (c) la moyenne de Yk est -3/2 si Xk_1 est positif, et +3/2 si xk_1 est négatif, ce qui fait que la séquence RDS tend à rester au voisinage de zéro. Bien qu'il soit difficile de calculer exactement Sx, du fait que Eykxk-1l] = Sy/2 et E[ykxkl] = -(3/2) E[xk_11l], il en résulte que la moyenne de la valeur absolue de xk est Sy/3 = 4,42, ce qui fait que la séquence RDS xk est relativement bien bornée. (En l'absence de bou- clage RDS, la moyenne de la valeur absolue de xk est de 2,75); (d) la variance de Xk, pour xkl donné, est S0 = 11, soit une valeur supérieure d'environ 0,3 dB à la valeur S0 = 10,5 qui est possible en l'absence de bouclage RDS. Le Sx minimal possible pour Sy = 13,25, S0 = 11, est S x 19, 5, ce qui correspond à PC0,66. Du fait que Sx = Sx% + E[jxtI2, Sx doit être supérieur à (4,42)2= 19,5, ce qui fait qu'avec ce procédé simple, le résultat atteint est inférieur au compro- mis spectral optimal; (e) chaque Yk possible est associé à une paire (Ck, ak) particulière. Comme on l'envisagera ci-après de façon plus détaillée, ceci signifie qu'il n'est pas nécessaire qu'un décodeur conserve la trace d'une somme numérique itérative estimée de la séquence PRC estimée, et qu'il n'y aura pas de propagation d'er- reur dans le décodeur. En résumé, ce procédé simple ne permet pas d'obte- nir le meilleur compromis de puissance entre Sx et Sy, mais il limite effectivement non seulement Sy, mais également les valeurs de crète de Yk' il maintient la séquence RDS xk re- lativement bien bornée, et il évite la propagation d'erreur dans le récepteur. Ces prodécés permettent donc de réaliser un com- promis entre Sx et Sy, (i) depuis le cas sans contrainte, dans lequel la séquence xk n'est pas corrélée, Sx a une énergie S0 identique à celle qui est nécessaire pour émettre N bits par symbole dans le cas de réponse non partielle, et Sy = 2Sx, (ii) presque jusqu'au cas dans lequel la séquence Yk n'est pas corrélée, Sy = S0, et Sx devient très grand. Ces compromis sont possibles pour tous les codes en treillis et en réseau cités. Décodage Les procédés ci-dessus permettent effectivement de produire des séquences PRC qui appartiennent à un bon code connu, et qui ont donc un d2 au moins aussi grand que ce- min lui du code. En considérant la figure 18, on note qu'un détec- teur approprié pour la séquence PRC reçue avec du bruit, z(D) = y(D) + n(D), est donc un estimateur de séquence de probabilité maximale (algorithme de Viterbi) pour le bon code connu, qui est adapté de la façon suivante: (a) Une première étape de décodage peut être la suivan- te: pour chaque valeur PRC reçue avec du bruit, Zk =Yk + nk' pour chacune des quatre classes de nombres réels congrus aux quatre représentants de co- ensemble unidimensionnels Cjk (modulo 4), j = 1, 2, 3, 4, on trouve (case 92) l'élément 9jk le plus pro- che de Zk dans chaque classe, et sa "métrique" mjk = ( consister à trouver, pour chacun des 2p+r co-ensem- bles de A' dans A, le meilleur des 2q co-ensembles N de 4Z (c'est-à-dire celui ayant la plus faible mé- trique), dont la réunion correspond à ce co-ensemble de A', en faisant la somme des métriques respectives * correspondant aux métriques unidimensionnelles cons- titutives mjk, et en comparant ces sommes (case 94); (c) Le décodage peut ensuite se poursuivre de la manière habituelle (case 96), en utilisant en tant que mé- trique pour chaque co-ensemble de A' la meilleure métrique déterminée à l'étape (b). Le décodeur pro- duira finalement une estimation de la séquence de co- ensembles de A', qui peut être projetée dans une sé- quence de représentants de co-ensemble estimés ak' pouvant être projetés dans les estimations:k corres- pondantes, à partir desquelles on peut récupérer si on le désire les àk et Ak d'origine (case 98). Ces dernières étapes exigent que le codeur conserve la trace de la somme numérique itérative Rk-1 des esti- mations k' Du fait que les séquences PRC sont dans le code connu, la probabilité d'erreur de ce décodeur sera au moins aussi bonne que celle du code connu, dans le sens o il at- teindra au moins la même valeur effective du paramètre dmin2 Cependant, du fait que les séquences PRC ne sont en réalité qu'un sous-ensemble des séquences du code connu, un tel dé- codeur n'est pas un véritable estimateur de séquence de pro- babilité maximale pour les séquences PRC. Il en résulte qu'il peut occasionnellement effectuer un décodage donnant une sé- quence qui n'est pas une séquence PRC légitime. Les séquences PRC légitimes doivent satisfaire les deux conditions supplé- mentaires suivantes: (a) Une séquence PRC finie légitime y(D) doit être divi- sible par l-D; c'est-à-dire que la somme de ses coor- données doit être zéro; (b) Les contraintes de domaine imposées par le sélecteur de points de signal doivent être satisfaites pour tout Yk (ou de façon équivalente pour Xk ou ik) sur la base des valeurs reconstituées de la séquence RDS 2kl- Si ce décodeur fait une erreur de décodage normale, correspondant à une courte période d'estimations de co-en- sembles erronées, suivies par des estimations de co-ensembles correctes, il est possible que la séquence d'erreurs PRC finie correspondante ait une somme numérique itérative dif- férente de zéro. Ceci fera apparaître une erreur persistante dans le somme numérique itérative estimée, Ak-l' du décodeur, ce qui peut conduire occasionnellement à la projection d'er- reurs en retour vers les Yk' &k, et finalement vers Xk, bien que les coensembles Ck soient corrects, aussi longtemps que l'erreur dans l'estimation RDS persiste. Le décodeur doit donc effectuer continuellement un contrôle (case 99) pour déterminer si les contraintes de do- maine dans les Yk et fk reconstitués sont satisfaites. Si elles ne le sont pas, il sait que sa valeur RDS estimée k-1 est incorrecte; il doit ajuster k-1 de la quantité mi- nimale nécessaire pour que la contrainte de domaine soit sa- tisfaite, en supposant que la séquence de co-ensemblesôk soit correcte. Avec une probabilité égale à 1, ceci conduira finalement à une resynchronisation de la valeur RDS estimée sur la valeur correcte, et le décodage normal pourra repren- dre. Il peut cependant y avoir une période considérable de propagation d'erreur. Procédé pour éviter la propagation d'erreur On va maintenant exposer un procédé général pour éviter une propagation d'erreur dans le récepteur. Le procédé fonctionne le mieux lorsque la constellation de signal est constituée par tous les points dans A à l'intérieur d'un cube à N dimensions, mais il n'est pas restreint à ce cas. On peut le considérer comme une généralisation des principes de for- mes antérieures de précodage (modulo M), pour l'utilisation avec des séquences codées. L'idée de base consiste en ce que chaque valeur PRC possible Yk doit correspondre à une valeur (ck,ak) particu- lière, lorsque le code peut être formulé sous forme unidimen- sionnelle, comme sur la figure 7; ou, plus généralement, que chaque groupe de N valeurs Yk doit correspondre non seulement à une séquence particulière de N valeurs Ck, mais également à un ensemble particulier de bits non codés, si on utilise un sélecteur de point de signal général à N dimensions, comme sur la figure 6. La projection inverse de l'estimation déco- dée Vk vers les bits codés et non codés est alors indépendan- te de l'estimation de la somme numérique itérative qui est faite par le décodeur, ce qui fait que: (a) le décodeur n'a pas besoin de conserver la trace de la séquence RDS; (b) il ne peut pas y avoir de propagation d'erreur. On peut donc supprimer la case 99 sur la figure 18. La figure 19 montre comment on peut effectuer ceci lorsque le code peut être formulé sous forme unidimensionnel- le, comme dans l'exemple de réalisation considéré. A partir de ck et ak, un sélecteur de points de signal sélectionne une valeur sk = f(ck, ak), comme sur la figure 8. Dans l'exemple de réalisation considéré, sk prend l'une de 12 valeurs, c'est- à-dire les valeurs demi-entières dans le domaine allant de -6 à 6. En général, Sk prendra l'une des valeurs faisant partie d'un alphabet dont l'espacement correspond à des valeurs en- tières, dans un domaine de largeur M; on désignera ce domaine par R0. Dans ces conditions, comme sur la figure 13, Yk est sélectionné comme étant le nombre particulier congru à Sk (modulo M) dans le domaine R0 + R(Xk-1) - Xk-1 de largeur M, en désignant par R(xk_l) une variable de translation de bou- clage RDS, et par Xk_1 le point de signal RDS précédent. Le Xk RDS courant est calculé par la formule Yk + Xk-l' Les figures 20 et 21 correspondent à des procédés équivalents pour produire xk et/ou Yk à partir de la séquence sk, de façon que Yk Sk (modulo M), d'une manière analogue à celle des figures 12 et 14. Sur la figure 21, on produit une variable d'innovations ik qui est plus ou moins blanche et uniformément répartie sur le domaine R0, de façon que sa va- riance S0 soit approximativement M2/12; on a donc S0 12 pour l'exemple de réalisation considéré, soit une pénalité d'envi- ron 0,7 dB par rapport à la valeur S0 = 10,25 qu'on peut ob- tenir en l'absence de bouclage RDS. Comme sur les figures 12, 13, 14, les trois séquences Xk, Yk et ik acheminent toutes la même information, et comme sur les figures 15, 16, 17, on peut utiliser l'une quelconque d'entre elles en tant qu'in- formation d'entrée pour un filtre qui effectue une mise en forme du spectre pour l'émission. La pénalité concernant la variance d'innovations est éliminée si les coordonnées du code d'origine sont uni- formément réparties sur un domaine R0; c'est-à-dire si la constellation d'origine est bornée par un cube à N dimensions de côté R0. A titre d'exemple de réalisation avec une constel- lation carrée, on utilise un codeur d'Ungerboeck à deux di- mensions et 8 états, identique à celui de la figure 2, à l'exception du fait de l'emploi de la constellation de 128 points de la figure 22, au lieu de celle de la figure 3. La constellation est formée en prenant un point sur deux dans la constellation 16 x 16 classique à 256 points; par consé- quent, les coordonnées ont les 16 valeurs demi-entières { 1/2, 3/2,..., + 15/23, mais avec la restriction selon laquelle la somme des deux coordonnées doit être un entier pair (0, modulo 2). La distance au carré minimale entre des points de signal est donc 2, au lieu de 1; et le paramètre d2 du code est 10, au lieu de 5. La variance de chaque min coordonnée est maintenant 21,25 au lieu de 10,25, ce qui après application d'un facteur d'échelle de 2 représente une perte de 0,156 dB par rapport à la constellation de la figu- re 3, du fait que la croix ressemble davantage à un cercle que le carré. (Avec la terminologie des réseaux, on utilise maintenant la partition de réseau d'ordre 8, RZ2/4Z2, au lieu de Z2/2RZ2). On observera que chacun des huit sous-ensembles correspond maintenant à une paire particulière de représen- tants de co-ensemble (cl, c2) modulo 4, ce qui fait que c1 + c2 = 0 (modulo 2). Par conséquent, les trois bits codés de la figure 2 déterminent directement une paire de représen- tants de co-ensemble dans le sélecteur de sous-ensemble 24, au lieu de déterminer une telle paire à l'aide d'un bit non codé, comme sur la figure 4. Les quatre bits non codés,sé- lectionnent alors l'un des 16 points dans le sous-ensemble sélectionné. Dans ce cas, les bits non codés peuvent être simplement pris deux à la fois pour déterminer l'un des quatre domaines -8 à -4, -4 à 0, 0 à 4, ou 4 à 8. On exprime commodément ceci en faisant en sorte que chacun des paramè- tres d'identification de domaine à deux bits (a1, a2) re- présente l'une des quatre valeurs { 2, +6}; et la fonction de sélection de coordonnées est alors simplement sk f(ck, ak) = ck + ak. On notera que les valeurs possibles pour sk sont les 16 valeurs demi-entières dans le domaine R allant de -8 à 8, de largeur M=16. On peut ensuite effectuer un précodage classique, modulo 16. Le codeur complet est représenté sur la figure 23. La valeur RDS xk est la somme sk + xk_1 (modulo 16). Dans ce cas, les valeurs xk sont des variables aléatoires essentiellement indépendantes et réparties de façon identique (répartition blanche), et Yk = Xk - Xk- Sk (modulo 16). Pour obtenir des compromis spectraux par l'intermé- diaire du bouclage RDS, comme sur les figures 12, 13, 14, on continuera a représenter par sk la classe de congruence dési- rée de Yk (modulo 16), et on désignera par R(xkl) une varia- ble de bouclage RDS, comme sur les figures 12, 13, 14, qui, dans le cas idéal,est égale à Xk_. Les figures 24, 25, 26 montrent ensuite trois procédés équivalents pour obtenir des séquences x et/ou Yk = Xk - Xkl de façon que Yk Sk (mo- dulo 16), et que Sx et Sy présentent le compromis désiré, avec S0 = 21, 25. R0 est ici le domaine allant de -8 à 8. Dans ce cas, la variable d'innovations ik a une variance SO: 162/12 = 21,33, qui est essentiellement iden- tique à la variance de chaque coordonnée sur la figure 22, ce qui fait qu'il n'y a pas de pénalité au-delà de la valeur de 0,16 dB qui correspond a l'utilisation de la figure 22 au lieu de la figure 3. Comme on l'a déjà indiqué, il n'est pas nécessaire que le décodeur conserve la trace de la valeur RDS, du fait que si la séquence PRC estimée 9k est fixée, les valeurs Ck' ak, et finalement la séquence de bits d'entrée d'origine sont déterminées sans ambiguité. Cependant, si le décodeur conser- ve effectivement la trace de la valeur RDS estimée et des do- maines correspondants dans lesquels les Yk doivent tomber, il peut détecter qu'une erreur s'est produite chaque fois que le Yk décodé tombe à l'extérieur du domaine estimé. Même si on ne l'utilise pas pour la correction d'erreur, un tel contrôle du viol de domaine peut fournir une estimation du taux d'er- reurs du décodeur. Décodeurs développés Un véritable estimateur de séquence deprobabilité maximale tiendrait compte de l'état complet du codeur et du canal, qui comprendrait en général la valeur du terme RDS Xk_1 (l'état du canal), ainsi que l'état du codeur C. Un tel décodeur serait capable d'atteindre le vrai din des séquen- Mindesqen ces PRC, et il serait exempt de propagation d'erreur. Cepen- dant, du fait que xk_1 prend en général un grand nombre de valeurs, ce nombre pouvant en principe être infini avec un bouclage RDS, un tel décodeur peut ne pas être réalisable en pratique. De plus, l'obtention du vrai d2in peut exiger un min retard de décodage pratiquement infini, du fait que la com- binaison code/canal devient quasi-catastrophique lorsque n est grand, comme on l'expliquera plus complètement ci-après. Il peut cependant être utile d'envisager de déve- lopper le décodeur pour atteindre au moins le vrai d2n du min code. Cependant, du fait que toutes les séquences PRC finies sont divisibles par l-D, toutes les séquences d'erreurs de poids fini doivent avoir un poids pair. Le vrai d2. est donc min toujours pair. Dans l'exemple de réalisation considéré, le vrai dmin est en réalité 6, et non 5. On va exposer un procédé général pour atteindre le vrai dmin dans de tels cas, en doublant seulement le nombre effectif d'états dans le décodeur. Le décodeur décompose chaque état du codeur C en deux états, l'un correspondant à une valeur RDS paire et l'autre correspondant à une valeur impaire. Pendant le décodage, deux séquences ne se confondent alors dans le même état que si leur valeur RDS estimée a la même valeur (modulo 2). Par conséquent, deux séquences qui diffèrent d'une séquence d'erreurs de poids impair ne peuvent pas se confondre, ce qui fait que le dm2n effectif est le minefetfel poids de la séquence d'erreurs de poids pair minimale dans le code d'origine. En outre, s'il y a une erreur de décodage qui conduit à une erreur RDS estimée persistante, comme on l'a envisagé ci-dessus, cette erreur doit être au moins égale à 2, ce qui fait qu'elle a tendance à être détectée plus tôt. On peut utiliser le décodeur de la figure 18, modi- fié seulement de la manière représentée sur la figure 27. Pour la plupart des codes, chacun des sous-ensembles de la constellation de signal (co-ensembles de A' dans A) con- tiendra des points ayant tous une somme de coordonnées qui est paire ou impaire. Par exemple, sur la figure 3, quatre des huits sous-ensembles contiennent des points dont la somme des coordonnées est 0 (modulo 2), et quatre contiennent des points dont la somme des coordonnées est 1 (modulo 2). La métrique de chaque sous-ensemble (co-ensemble de A' dans A) peut donc être déterminée comme précédemment aux cases 92 et 94; l'estimateur de séquence deprobabilité maximale 196 est alors modifié pour trouver la meilleure séquence de co-en- sembles qui (a) appartient au code, et (b) a une somme numé- rique itérative congrue a zéro (modulo 2). La séquence de co- ensembles décodée est projetée en retour dans k et Rk a la case 98, comme précédemment, et xk-1 est ajusté si nécessaire à la case 99 (les ajustements seront maintenant effectués par multiples de 2). Cette technique présente cependant un inconvénient, en plus du doublement de l'espace d'états du décodeur. Deux séquences peuvent différer d'une séquence d'erreur de poids impair suivie par une longue chaîne de zéros (pas de diffé- rences). Le décodeur peut alors suivre pendant une très lon- gue durée des paires d'états parallèles dans le treillis du décodeur, sans résoudre l'ambigulté. L'estimateur de séquence deprobabilité maximale ne peut finalement résoudre ce compor- tement quasi-catastrophique' que par un viol de domaine,du fait de la parité RDS différente dans les deux chemins. Le retard de décodage nécessaire pour atteindre le vrai dmin min peut donc être très grand. Pour cette raison, il sera généralement préférable de choisir simplement un codeur C avec le double du nombre d'états, et d'utiliser un décodeur non développé pour C. A titre d'exemple, il existe un code d'Ungerboeck a 16 états et 2 dimensions, avec dmin = 6; bien qu'il puisse avoir un coefficient d'erreur un peu supérieur a celui du code a 8 états avec un décodeur a 16 états développé, on considère qu'il sera préférable en pratique. Il peut être intéressant de mentionner que des sé- quences PRC tirées du code d'Ungerboeck à 4 états et 2 di- mensions ont également un d2 vrai de 6, du fait que pour ce 2 min code dmin = 4 les seules séquences d'erreur de poids 4 étant min des erreurs de coordonnées uniques de valeur 2, qui ne sont également pas divisibles par 1-D. Un décodeur & 16 états qui conserve la trace de la valeur RDS modulo 4 peut atteindre ce dmin2 Cependant, dans ce cas, outre le fait que le code est min' quasi-catastrophique, le coefficient d'erreur est également élevé, si bien qu'il semble à nouveau que le code d'Ungerboeck ordinaire à 16 états et 2 dimensions soit préférable. Systemes en quadrature Comme mentionné précédemment, on peut modéliser un système à réponse partielle complexe (ou en quadrature) (ap- pelé système QPRS), sous la forme d'un filtre de données échantillonnées de type 1+D, travaillant sur une séquence RDS à valeurs complexes x(D), pour produire une séquence PRC à valeurs complexes y(D) = (1+D) x(D); c'est-à-dire yk = -k + Xk-1 Lorsqu'on l'utilise avec une modulation d'amplitude en quadrature à deux bandes latérales sur un canal en bande transposée, un tel système fait apparaître des zéros aux deux bords de la bande, fc + fN' en désignant par f la fréquence porteuse et par fN = 1/2T la largeur d'une seule bande de Nyquist. Lorsque N est pair et 4ZN est un sous-réseau de A', comme c'est le cas avec tous les bons codes mentionnés précédemment, on peut adapter un bon code connu pour l'utili- sation dans un système QPRS, en utilisant essentiellement les mômes principes que précédemment. On peut spécifier un co- ensemble de 4ZN par N/2 représentants de co-ensemble à va- leurs complexes úk' les représentants de co-ensemble prenant l'une de 16 valeurs possibles qui correspondent à 4 valeurs espacées de nombres entiers (modulo 4), respectivement pour les parties réelle et imaginaire de ck. La représentation gé- nérale de la figure 8 est alors valable, à l'exception du fait que le sélecteur de co-ensemble 58 et le sélecteur de paramètre d'identification de domaine 64 sélectionnent N/2 représentants de co-ensemble à valeurs complexes ck et para- mètres d'identification de domaine ak, et le sélecteur de point de signal travaille une fois par signal en quadrature et il émet des signaux à valeurs complexes Xk. Le précodage de co-ensemble indiqué sur la figure 9 s'effectue en formant le co-ensemble précodé à valeurs complexes c' c c'k -k - -2k - k-i1 (modulo 4),une fois par symbole en quadrature. Le bouclage RDS, comme sur les figures 11, 12, 13, s'effectue en utili- sant une fonction R(ak) qui identifie une région de l'espace complexe d'aire 16, qui contient exactement un élément pro- venant de tout co-ensemble de 4Z2, et une variable de trans- lation à valeurs complexes R(xkl) qui, dans le cas idéal, est égale à Pxkl. Dans les cas dans lesquels 2Z ou 2RZ est un sous-réseau de A', on peut effectuer le précodage respectivement modulo 2 ou 2+2i, et R(ak) peut identifier une région d'aire 4 ou 8 contenant exactement un élément provenant respectivement de tout co-ensemble 2Z2 ou 2RZ2. Systèmes de dimensions supérieures On a montré des modes de réalisation dans lesquels des coordonnées de symboles à N dimensions sont formées si- gnal par signal (avec des signaux unidimensionnels ou bidi- mensionnels), avec bouclage signal par signal de la valeur RDS précédente xkl. On peut obtenir des types de fonction- nement similaires avec des systèmes qui sélectionnent des signaux sur une base correspondant à des dimensions plus élevées. Dans de tels systèmes, les représentants de co- ensemble précodés doivent être groupés comme sur la figure 9, de façon à sélectionner des sous-ensembles dans la dimen- sion appropriée, à sélectionner ensuite des points de signal dans cette dimension, et à reconvertir les coordonnées sous forme série pour la transmission sur le canal. Si l'ordre des co-ensembles est maintenu, un tel système conserve la propriété qui consiste en ce que les séquences PRC sont issues du code donné et ont le d2min spécifié. Dans un tel système, il peut être plus naturel d'effectuer le bouclage (RDS) sur une base correspondant à des dimensions plus éle- vées, au lieu de l'effectuer sur chaque signal. Codes à N dimensions Bien que la représentation de codes sous forme unidimensionnelle soit souhaitable, elle n'est pas essentiel- le. Dans cette partie, on montre comment on peut produire di- rectement des codes en N dimensions. Dans certaines formes, le code à N dimensions est entièrement équivalent à son homo- logue unidimensionnel. Dans d'autres formes, on peut obtenir- des modes de réalisation simplifiés. On utilisera à nouveau dans un but d'illustration le code de type Ungerboeck à 8 états et 2 dimensions de la figure 2, avec la constellation de 128 points à 2 dimensions de la figure 3. Dans cette constellation, on rappelle que chaque coordonnée prend des valeurs dans l'alphabet des 12 valeurs demi-entières dans le domaine s'étendant de -6 à 6; la constellation bidimensionnelle utilise 128 des 144 combi- naisons par paires possibles des éléments de cet alphabet. La première étape consiste à développer la cons- tellation de signal en un nombre infini de valeurs, de la manière indiquée ci-après. La constellation développée est constituée par toutes les paires de nombres qui sont congrues à un certain point (modulo 12) dans la constellation d'ori- gine (figure 3). Les points dans la constellation développée consistent donc en paires de valeurs demi-entières. Si on considère la constellation d'origine comme une cellule limi- tée par un carré 98 de dimensions 12 x 12, la constellation développée est constituée par la répétition infinie de cette cellule dans l'ensemble de l'espace bidimensionnel, comme indiqué schématiquement sur la figure 28. On notera que cha- que cellule contient seulement 128 des 144 points possibles; la constellation développée comporte des "trous" 99, de di- mensions 4 x 4. La propriété essentielle de cette constellation dé- veloppée 101 est la suivante: si on place un carré 12 x 12 en un endroit quelconque dans le plan (avec ses côtés orien- tés horizontalement et verticalement), ce carré englobera exactement 128 points, avec un point congru à chacun des points dans la constellation d'origine. On peut exprimer ceci d'une façon encore plus générale: si on place un losan- ge 102 ayant une largeur horizontale 12 et une hauteur verti- cale 12 (voir la figure 29) à n'importe quel endroit dans le plan, lui aussi englobera 128 points, avec un point congru à chaque point dans la constellation d'origine. En considérant la figure 30, on peut maintenant réaliser le bouclage RDS sur une base bidimensionnelle, de la manière suivante. On désigne par xkl la somme numérique itérative de tous les Yk antérieurs au symbole (bidimension- nel) courant. On désigne maintenant par R(xkl) une région du plan qui correspond à un losange 12 x 12, comme sur la figure 29, la forme et la position du losange pouvant dépen- dre de xk_. On désigne par (Y0,k' Y0,k+1) le point dans la constellation d'origine qui serait sélectionné (dans les sé- lecteurs 104, 105) par les trois bits codés et les quatre bits non codés, conformément au code sans contrainte (figure 2). On sélectionne ensuite (dans le sélecteur 106) (Yk' Yk+l) comme étant le point particulier dans la constellation bidimensionnelle développée qui se trouve à l'intérieur de la région R(xkl) et qui est congru à(Y0,k' YO0,k+l) (modulo 12); ces valeurs seront les deux coordonnées Yk' On peut obtenir (xk, xk+l) à partir de xk = Yk + xk-l' Xk+l = Yk+l + xk, comme représenté. On va maintenant montrerque ce système bidimension- nel peut produire les mêmes signaux de sortie que le système avec bouclage RDS unidimensionnel (modulo 12) considéré pré- cédemment, avec la variable optimale R(xk l) =p Xk1 pour le bouclage RDS unidimensionnel. En considérant la figure 31 on note que, dans unedimension, xk_1 étant donné, on choisit Yk comme étant la valeur particulière dans le domaine R0 + Xk_1 - Xk 1 qui est congrue à sK (modulo 12), et on recon- nait maintenant que sk est congru à Y0,k' Par conséquent, on peut prendre une coordonnée du losange utilisé dans le sys- tème bidimensionnel de façon qu'elle se trouve dans le même domaine de largeur 12. Ensuite, connaissant xk,1 et Yk' et donc également xk = Yk + Xk-l' on choisit pour Yk+l la va- leur particulière dans le domaine R0 - (1- ()xk = Ro - (1- dulo 12). Yk+l se trouve donc dans le domaine R0 - (1-P)xk_1 (comme Yk), décalé de -(1- P)Yk- Ainsi, par un choix approprié du losange, on peut simuler le fonctionnement d'un système de bouclage RDS uni- dimensionnel (modulo 12), avec un système bidimensionnel. Ce dernier aura donc les mêmes avantages, y compris la possibi- lité d'éviter une propagation d'erreur et un compromis pres- que optimal entre Sx, S et S0, et les mêmes inconvénients, notamment l'augmentation de S0 jusqu'à 12, à partir de la valeur de 10,25 qui est possible par ailleurs. On peut choisir d'autres variables (régions) de bouclage RDS de type bidimensionnel pour simplifier encore davantage la réalisation, et pour obtenir d'autres avantages, au prix de compromis inférieurs à l'optimum en ce qui concer- ne la puissance. A titre d'exemple, on obtient un système presque identique au système unidimensionnel simplifié décrit précédemment, si on prend pour R(xk_1) le carré 120 de côté 12 centré sur (-1, -2) lorsque xk_1 est positif, et le carré 122 centré sur (+2, +2) lorsque-xk_1 est négatif. On utilise donc l'une des deux constellations 124, 126 qui sont repré- sentées schématiquement sur la figure 32. Comme dans le système unidimensionnel précédent, des points intérieurs sont toujours choisis dans le même en- semble, indépendamment de xkl, mais des points extérieurs sont choisis de façon variable afin de faire évoluer Yk dans une direction positive ou négative. Les domaines des Yk sont strictement limités entre -7,5 et 7,5. En fait, ce système est identique au système simplifié antérieur, à l'exception du fait que Yk+! est choisi sur la base de Xk_, au lieu de xk. En pratique, toutes les mesures de performance et de spectre seront très similaires. Une autre variante conduit à un système semblable à celui du type Calderbank, Lee, et Mazo (CLM). Un système de type CLM utilise une constellation de signal développée avec le double du nombre ordinaire de points de signal, di- visée en deux constellations disjointes, dont l'une est uti- * lisée lorsque xk_1 est positif et l'autre lorsque xk_1 est négatif. A titre d'exemple, la figure 33 montre une constel- lation carrée 16 x 16 qui est divisée en deux constellations disjointes 110, 112 de 128 points chacune, de façon que chacune de ces constellations se divise de façon égale en 8 sous-ensembles de 16 points chacun. Une constellation consis- te en points dont la somme des coordonnées est positive ou nulle, et on l'utilise lorsque xk_1 est négatif; l'autre consiste en points dont les sommes de coordonnées sont néga- tives ou nulles, et on l'utilise lorsque xkl est positif. En deux dimensions, le doublement de la taille de la constel- lation double Sy et ne conduit donc pas à un compromis de puissance favorable; cependant, la pénalité due à l'utilisa- tion de deux constellations disjointes est moindre avec des dimensions plus élevées. On peut généraliser ces idées à N dimensions, de la manière suivante. S'il existe une formulation unidimen- sionnelle du code, comme sur la figure 8, en travaillant modulo M, un cube à N dimensions de côté M entoure complète- ment la constellation à N dimensions, et la cellule résul- tante peut être reproduite de façon à couvrir un espace à N dimensions, sans compromettre la distance au carré minimale entre des séquences de code qui sont congrues modulo M à des séquences de code d'origine. On peut alors utiliser une fonc- tion de bouclage RDS à N dimensions, R(xk_), dans laquelle pour tout Xkl' R(xk_) est une région de l'espace à N di- mensions, de volume M,qui contient exactement un point dans chaque classe d'équivalence de vecteurs à N dimensions, modulo M, dans un homologue à N dimensions de la figure 30. Il va de soi que de nombreuses modifications peu- vent être apportées aux dispositifs décrits et représentés, sans sortir du cadre de l'invention. REVENDICATIONS 1. Appareil pour produire une séquence de signaux numériques xk et/ou une séquence de signaux numériques Yk' avec k = 1, 2,..., de façon que la relation entre les si- gnaux xk et les signaux Yk soit Yk = Xk Xl-L L étant un entier, et les signaux Yk formant une séquence dans un code de modulation donné, caractérisé en ce qu'il comprend: un codeur (20) destiné à sélectionner J des signaux Yk' avec J >, (Yk' Yk+l'... Yk+J-_l), de façon qu'ils soient con- grus (modulo M) à une séquence de J représentants de co-en- semble Ckj M étant un entier, ces représentants de co-ensem- ble étant spécifiés conformément au code de modulation don- né, ces J symboles étant choisis dans une constellation par- mi un ensemble de constellations à J dimensions, ce choix étant basé sur un signal antérieur xk',avec k'4 k, l'une au moins des constellations comprenant à la fois un point avec une somme de coordonnées positive et un autre point avec une somme de coordonnées négative, et le codeur étant conçu de façon que les signaux xk aient une variance finie Sx. 2. Appareil pour produire une séquence de signaux numériques xk et/ou une séquence de signaux numériques Yk' avec k = 1, 2,..., de façon que la relation entre les si- gnaux xk et Yk soit Yk = xk xk-L, L étant un entier, et les signaux Yk constituant une séquence dans un code de modula- tion donné, caractérisé en ce qu'il comprend: un codeur (20) destiné à sélectionner les signaux xk de façon qu'ils soient congrus (modulo M) à une séquence de représentants de co- ensemble de substitution c' (modulo M), avec: x + x c ck - ckL (modulo M), dans le cas o Yk = xk + Xk-L' ck = ck + cL (modulo M),dans le cas o Yk = xk - xkL, et ck est un représentant de co-ensemble spécifié conformément au code de modulation précité. 3. Appareil pour produire une séquence de signaux numériques xk et/ou une séquence de signaux numériques Yk' avec k = 1, 2,..., capables de représenter n bits par si- gnal, de façon que la relation entre xk et Yk soit Yk = Xk XkL, L étant un entier, les signaux xk et Yk ayant des variances Sx et Sy, les signaux Yk appartenant à un alphabet de signaux Yk possibles qui sont mutuellement espacés de façon uniforme dans cet alphabet, avec un espacement à, ca- ractérisé en ce qu'il comprend: un codeur (20) destiné à faire en sorte que la séquence Yk ait une variance Sy infé- rieure à 2S0 et que la séquence xk ait une variance Sx qui ne soit pas supérieure à S /4(Sy -S0), S étant approximati- vement la puissance de signal minimale nécessaire pour re- présenter n bits par signal avec un alphabet ayant un espa- cement. 4. Appareil selon la revendication 3, caractérisé en ce que la séquence Yk est une séquence d'un code de modu- lation donné. 5. Appareil pour produire une séquence de signaux numériques xk et/ou une séquence de signaux numériques Yk' avec k = 1, 2,..., de façon que la relation entre les si- gnaux xk et les signaux Yk soit Yk = Xk + Xk-L' L étant un entier, les séquences xk et Yk ayant des variances Sx et Sy, et les symboles Yk appartenant à une séquence dans un code de modulation donné, caractérisé en ce qu'il comprend un codeur (20) destiné à faire en sorte que les signaux x y et Yk aient des variances Sx et Sy qui peuvent être sélec- tionnées et qui sont contenues dans des domaines prédétermi- nés. 6. Appareil selon la revendication 5, caractérisé en ce que les séquences de signaux sont capables de repré- senter n bits par signal, les signaux Yk appartiennent à un alphabet de signaux Yk possibles qui sont espaces uniformé- ment d'une quantité a, les domaines sont commandés par un paramètre (, x est approximativement égale à S0/(1- 2), Sy est approximativement égale à 2S0/(1+ P), et S0 est ap- proximativement la puissance de signal minimale nécessaire pour représenter n bits par symbole avec un alphabet ayant un espacement A, conformément au code précité. 7. Appareil pour produire une séquence dans un code de modulation à N dimensions donné, en produisant une séquence de signaux unidimensionnels, ce code de modulation étant basé sur une constellation à N dimensions qui est fractionnée en sous-ensembles associés au code précité, chacun de ces sous-ensembles contenant des points de signal à N dimensions, et le choix du sous-ensemble étant basé sur des bits codés et des bits non codés des points de signal, caractérisé en ce qu'il comprend un codeur (20) destiné à élaborer à partir des bits codés et non codés, pour chaque symbole à N dimensions, un ensemble de N représentants de co-ensemble unidimensionnels à M valeurs, Ck, correspondant à des classes de congruence (modulo M) de chacune des N coordonnées, chaque représentant de co-ensemble désignant un sous-ensemble de valeurs unidimensionnelles dans une cons- tellation unidimensionnelle de valeurs de coordonnées possi- bles pour chacune des N dimensions, et chaque signal unidi- mensionnel dans la séquence précitée étant sélectionné parmi les valeurs de coordonnées possibles, sur la base de bits non codés. 8. Appareil selon l'une quelconque des revendica- tions 1, 2, 3 ou 5, caractérisé en ce qu'il comprend en ou- tre une sortie sur laquelle est fournie la séquence Yk' 9. Appareil selon l'une quelconque des revendica- tions 1, 2, 3 ou 5, caractérisé en ce qu'il comprend en ou- tre une sortie sur laquelle est fournie la séquence xk- 10. Appareil selon l'une quelconque des revendica- tions 1, 2, 3 ou 5, caractérisé en ce que L est égal à 1. 11. Appareil selon l'une quelconque des revendica- tions 1, 2, 3 ou 5, caractérisé en ce que la relation entre les signaux xk et les signaux Yk est Yk = Xk - XkL L étant un entier. 12. Appareil selon l'une quelconque des revendica- tions 1, 2, 3, 5, ou 7, caractérisé en ce que le code de mo- dulation est un code en treillis ou un code en réseau. 13. Appareil selon l'une quelconque des revendica- tions 1, 2, 3, 5, ou 7, caractérisé en ce que M est égal à 2, à 4 ou à un multiple de 4. 14. Appareil selon la revendication 1, caractérisé en ce que J est égal à 1 ou est égal au nombre N de dimen- sions dans le code de modulation. 15. Appareil selon la revendication 1, caractérisé en ce que k' est égal à k-1. 16. Appareil selon la revendication 1, caractérisé en ce que J est égal à 1 et chaque constellation consiste en un domaine unidimensionnel de valeurs centrées sur Xkl, avec 0 P 1l. 17. Appareil selon la revendication 16, caractéri- sé en ce que 0>0. 18. Appareil selon la revendication 1, caractérisé en ce qu'il existe un ensemble fini de constellations à J dimensions,le nombre des constellations à J dimensions pou- vant notamment être égal à deux. 19. Appareil selon l'une quelconque des revendica- tions 1, 2, 3 ou 5, caractérisé en ce que Yk et xk ont des valeurs réelles. 20. Appareil selon l'une quelconque des revendica- tions 1, 2, 3 ou 5, caractérisé en ce que Yk et xk ont des valeurs complexes. 21. Appareil selon la revendication 20, caractéri- sé en ce que M est égal à 2+2i. 22. Appareil selon l'une quelconque des revendica- tions 1, 2, 3 ou 5, caractérisé en ce que deux au moins des constellations à J dimensions ne sont pas disjointes. 23. Décodeur destiné à décoder une séquence zk = Yk + nk' avec k = l, 2,.. ., pour donner une séquence décodée Yk' la séquence de signaux Yk étant telle que: (a) cette sé- quence provient d'un code de modulation donné; (b) la somme numérique itérative xk = Yk-1 + Yk-2 +... a une variance finie Sx; (c) les signaux Yk tombent dans un domaine permis prédéterminé qui dépend de Xk,, avec k' k, et la séquence nk représente du bruit; caractérisé en ce qu'il comprend un dispositif de détection de viol de domaine (99) qui recons- titue la somme numérique itérative estimée Ak = Yk + Yk-1 + 10..., compare la séquence décodée 9k avec le domaine permis prédéterminé, sur la base de la somme numérique itérative estimée Rk'', avec k' ?k est à l'extérieur du domaine permis. 24. Décodeur selon la revendication 23, caractérisé en ce que la somme numérique itérative estimée "k est ajustée sur la base de l'indication précitée, de façon que Yk soit à l'intérieur du domaine permis. 25. Décodeur selon la revendication 24, caractérisé en ce que la valeur de l'ajustement est la plus petite quan- tité possible pour laquelle 9k tombe à l'intérieur du domaine permis. 26. Décodeur destiné à décoder une séquence xk = Yk + nk' avec k = 1, 2,..., la séquence de signaux Yk étant telle que: (a) cette séquence provient d'un code de modula- tion donné et ce code peut être produit par un codeur ayant un nombre fini d'états, égal à Q; et (b) Yk = Xk xk-L, L étant un entier, la séquence xk ayant une variance finie Sx et la séquence nk représentant du bruit; caractérisé en ce qu'il comprend: un estimateur de séquence de probabilité ma- ximale modifié (96) conçu de façon à trouver MQ séquences décodées partielles, jusqu'à un certain instant K, à raison d'une séquence de ce type pour chaque combinaison du nombre fini Q d'états et de chaque valeur parmi un nombre fini M de valeurs espacées par des entiers, modulo M, de façon que chaque séquence (a) appartienne au code jusqu'à l'instant K; (b) corresponde à la situation du codeur dans un état donné l'instant K; et (c) corresponde à une valeur de xK à l'ins- tant K qui est congrue, modulo M, à l'une donnée des valeurs précitées. 27. Décodeur selon la revendication 26, caractérisé en ce que M est égal à 2 ou 4.