FR 2891967 A1 20070413 FR 0553047 A 20051007 La présente invention se rapporte de manière générale aux communications dites numériques, qui font partie du domaine des télécommunications. Les communications numériques comprennent en particulier les communications sans fil dont le canal de transmission est le canal aérien, ainsi que les communications filaires. 10 Au sein de ce domaine, l'invention se rapporte aux procédés d'émission et plus particulièrement aux techniques de codage et de modulation de signaux, dans un système de communication à entrées multiples et sorties multiples dit MIMO, acronyme anglais de Multiple Input Multiple Output. Un système MIMO comprend Nt antennes d'émission Tx et Nr antennes de 15 réception Rx séparées par un canal de transmission pour transmettre des données. Parmi les différentes techniques de modulation connues pour des systèmes à entrée simple et sortie simple dits SISO, acronyme anglais de Single Input Single Output, les modulations codées en treillis (TCM pour Trellis Coded Modulation) initialement proposées par G. Ungerboeck dans son article "Trellis coded modulation 20 with redundant signal sets", IEEE Communications Magazine, vol. 25, Feb. 1987, ont été généralisées pour des systèmes MIMO pour donner lieu à des techniques de codage espace-temps. Les modulations espace-temps codées en treillis (STTCM pour Space-Time Trellis Coded Modulation) ont été proposées en 1998 par V. Tarokh, N. Seshdri, A.R. 25 Calderbank, dans leur article "Space-time codes for high data rate wireless communication : Performance criterion and code construction", IEEE Transactions on Information Theory, vol. 44, N 2, Mars 1998. Le principe d'un codage espace-temps est illustré par la figure 1. La description qui suit de ce principe repose sur l'hypothèse que le système de transmission utilise des 30 constellations PSK à 2n états. Le codeur Cd comprend un bloc d'entrée de n bits et v blocs mémoires de n bits. Chaque emplacement mémoire correspond à une bascule d'un registre à décalage R, soit un registre avec n x (v +1) bascules. Au iéme bit bt ' du jeme bloc sont associés k coefficients multiplicatifs ck, E Z2, , avec k = 1, ....nT, où nT est le nombre d'antennes en émission. Un codeur STTC est ainsi classiquement défini 35 par sa matrice C comprenant nT n (v + 1) coefficients : 1 1 1 1 1 CO 0 . Cnù1 0 ••• Cnù1,1 Cn- c1 k k k k k (1) CO,O . Cnù1,0 CO,1 . . . Cnù1,1 . Cnùly nT nT nT nT nT CO30 . Cnù1,0 CO1 1 . . . Cnù1,1 Cnùlv Le nombre d'états possibles pour le bloc mémorisé ~bô 1 "' bn-i "'bo 5 est 2n" si toutes les colonnes de la matrice C sont non nulles. Si le dernier sous bloc de longueur v contient m colonnes non-nulles, alors le nombre d'états possibles est 2n(vù1)+m avec 1 Pour chaque cas, les critères sont dérivés de la minimisation de la probabilité de transmettre la trame codée S = [strs,T+1 • • • Sr ,f_I] de dimension nT x Lf et de décoder de façon erronée une autre trame codée E également de dimension nT x Lf. La matrice produit A = BB* de dimension nT x nT est introduite où B* représente la matrice hermitienne de la matrice différence B = E û S également de dimension nT x Lf donnée par : l ~ 1 1 l 1 et ù St et+q ù St+g et+Lf 1ù St+Lf 1 (4) B= enz ù Snz et ''T ... enT ù Snz t+q t+qnT nT ... et+Lfù1 û St+Lf-1 Dans le cas d'évanouissements lents de Rayleigh, les deux critères définis dans l'article de Tarokh précédemment cité sont rappelés ci-après. Tout d'abord, dans le but de maximiser la diversité, la matrice produit A doit être de rang maximal en considérant toutes les paires possibles (E, S). Puisque la valeur maximale possible de rang (A) est nT, l'ordre de diversité spatial maximal est alors égal au produit nT x nR. Dans un second temps et dans le but de maximiser le gain de codage, le plus petit produit : rang(A) T TXk , k=1 (où les Xk sont les valeurs propres non nulles de A), calculé en considérant toutes les 5 paires possibles (E, S) doit être maximisé. Si le rang (A) est nT, on obtient : nT ~~nT77/Lfù1 12 det(A) = T T ~k =11 ~ s + g û e k r q =1 k=1 \, q=0 Pour une matrice produit de rang maximal, le gain de codage obtenu est alors égal à 10 det(A)('lfT) . Dans le cas d'évanouissements rapides de Rayleigh, différents critères ont également été proposés dans l'article de Tarokh précédemment cité. L'auteur définit par dH (S, E) la distance de Hamming entre deux trames codées S et E. Dans le but de maximiser la diversité sur des canaux à évanouissements rapides de Rayleigh, la 15 distance de Hamming dH (S, E) doit être maximisée pour toutes les paires de trames codées. L'ordre de diversité spatial obtenu est alors égal au produit dH (S, E) nR. De la même façon, Tarokh introduit la distance produit dp2 (S, E) comme le produit des distances euclidiennes entre les symboles de dimension Lf x nT composant les trames codées S et E. La distance produit s'écrit alors : 20 Lfùl( nT 2 d (S, E) =~L sr gû er q g=0 \,k=1 Dans le but de maximiser le gain de codage, la distance produit dp2 (S, E) doit être maximisée sur toutes les paires (S, E). Le gain de codage obtenu est alors égal à dp2 (S, 25 E)1i aH (s, H) Il propose donc de maximiser pour les canaux à évanouissements rapides la distance de Hamming (gain en diversité) et la distance produit (gain de codage) et pour les canaux à évanouissements lents le rang (gain en diversité) et le déterminant (gain de codage). 30 Dans l'article, "Improved space-time trellis coded modulation scheme on slow Rayleigh fading channels", Electronics letters, vol. 37, pp. 440-441, March 2001, les auteurs Z. Chen, J. Yuan, B. Vucetic complètent les travaux menés par Tarokh en proposant pour les canaux à évanouissements lents de maximiser la trace lorsque le (5) (6) produit du rang et du nombre d'antennes de réception est supérieur à trois (ce qui est par exemple déjà le cas dans une configuration 2x2 (deux antennes d'émission, deux antennes de réception). L'article de Chen propose un nouveau critère qui est valable dans le cas d'évanouissements lents et rapides de Rayleigh lorsque le produit rang(A)xnR est supérieur à trois. Sous cette hypothèse, la probabilité d'erreur par paires, PEP, est minimisée si la somme de toutes les valeurs propres de la matrice produit est maximisée. Pour une matrice carrée, la somme de toutes les valeurs propres est égale à la trace de la matrice. Elle peut s'écrire : nT nT /L fù1 ~ tr(A) _~ a,k =L L St qù et q k=1 k=1 q=0 Puisque le produit rang(A) x nR est supérieur à trois, la minimisation de la PEP revient à maximiser la trace minimale de la matrice produit A sur toutes les paires possibles de trames codées. Cet article contient de nouveaux codes à trace maximale dont le code 0 2 1 2 1 2 1 2 3 2 et le code 2 3 2 0 2 0 3 2 2 0 La trace et la distance produit étant respectivement définies comme une somme et un produit de distances euclidiennes, il s'avère que les codes à trace maximale prétendent également à une distance produit maximale et sont donc également de bons candidats pour les canaux à évanouissements de Rayleigh rapides. Ainsi, les codes à trace maximale sont les plus intéressants sur des canaux à évanouissements rapides, et ceci quelle que soit la configuration MISO/MIMO, et sur des canaux à évanouissements lents, dès que le produit du nombre d'antennes d'émission et de réception est strictement supérieur à trois. Les critères de performances des STTCM définis dans les articles précédemment rappelés permettent de déterminer les performances d'un code et de constater que ce code est plus ou moins performant. Mais, il n'existe pas de méthode de détermination de codes présentant de bonnes performances et en particulier de codes présentant un critère optimum de la trace. Jusqu'à présent, la recherche de codes performants se fait de façon exhaustive. L'absence de méthode de détermination se traduit par une augmentation très rapide de la puissance de calcul nécessaire lorsque le nombre d'états des codes que l'on cherche (7) augmente. En effet, lorsque le nombre d'états augmente linéairement, le nombre de combinaisons de codes à tester augmente de façon exponentielle. Une recherche exhaustive consiste en effet, pour des valeurs données de n, nT et v, à construire toutes les matrices de coefficients C possibles et à tester sur chacune d'entre elles les critères de performances afin d'identifier les meilleurs codes STTCM. Cette recherche exhaustive qui est une méthode de détection et non de construction, peut conduire à des temps de calcul prohibitifs pour de fortes valeurs de n, nT et v. Sans contrôle des répétitions et des permutations d'antennes, cette détection aveugle conduit à 2''"T> Un procédé selon l'invention permet en outre d'obtenir de manière exhaustive les codes les plus performants selon un premier critère d'évaluation de performance relatif à la trace et un second relatif au rang, critères préalablement définis en regard de l'art antérieur, car cette recherche est faite à partir d'un ensemble initial de codes dont le nombre est fortement réduit par rapport aux nombres de combinaisons possibles pour un nombre d'états, une constellation et un nombre d'antennes d'émission donnés. L'invention a en outre pour objet un dispositif pour mettre en oeuvre un procédé selon l'invention et des codes espace-temps obtenus par un procédé selon l'invention. Dans le cadre de l'invention, le système à deux antennes d'émission est aussi bien un système MIMO, qu'un système MISO. Dans la suite du document, un système MIMO doit être compris comme un système à plusieurs antennes d'émission quel que soit le nombre d'antennes de réception (Nr 1 ). D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit faite en regard de figures annexées données à titre d'exemples non limitatifs. La figure 1 est un schéma d'un codeur pour illustrer le principe d'un codage espace temps. La figure 2 est un organigramme d'un procédé de détermination de codes espace-temps en treillis selon l'invention. La figure 3 est un organigramme d'un procédé de construction de codes espace-temps en treillis d'un premier type. La figure 4 est un organigramme d'un procédé de construction de codes espace-temps en treillis d'un second type. La figure 5 est un schéma d'un dispositif de mise en oeuvre d'un procédé de détermination de codes espace-temps en treillis selon l'invention. Un procédé selon l'invention est un procédé de construction de codes espace-temps en treillis. Ces codes sont destinés à un codeur Cd, illustré par la figure 1, d'un système MIMO à deux antennes d'émission mettant en oeuvre des constellations de type 4-PSK, comprenant un registre à décalage R formé de L bascules. Chaque code est associé à une matrice qui définit le code. A un instant t, le codeur met en oeuvre un code déterminé. A des instants différents, le code peut être différent, par exemple il peut être fonction de l'utilisateur associé aux informations codées. Le codeur permet d'obtenir des mots Y de code par multiplication de la matrice du code considéré avec des vecteurs X déterminant le contenu binaire du registre à décalage. Afin d'assurer des notations plus simples, la matrice du code C est écrite dans la suite du document sous la forme : - 1 1 1- cl C2 CL 2 2 2 C= cl C2 CL nT nT nT C1 C2 CL où L représente le nombre total de bascules qui forment le registre à décalage, et l'état logique d'une bascule i du registre à décalage du codeur est noté : x1E {0,1}, V i=1, 2, ... L. En général, dans le cas d'une modulation 2n PSK, l'indice yj e Zen du signal si 10 émis par l'antenne j est : (8) y; = xlc1 l +2C2 +... xLC~ (9) ou c E Zen , V j =1, 2, ... n,. Les produits et les sommes sont effectués en Zen . La 15 relation ci-dessus peut s'écrire sous la forme matricielle : yl YnT = xl I C1 2 CI C nz 1 2 Cnz 2 I CL 2 CL(10) 20 Si Y est le mot de code MIMO calculé par le codeur : Y= Y1 Y2 YnT et C est la matrice colonne : 25 Ci = CZ1 2 CZ k C. alors, la relation (10) peut s'écrire sous la forme matricielle : Y = xjCj + x2C2 + ... + XLCL (12) Le mot de code MIMO est donc une combinaison linéaire de C. Pour chaque vecteur binaire X = [xi, x2, ...,'L] la relation (12) permet de calculer le mot de code MIMO qui lui correspond. Un code MIMO est donc une fonction : ~:ZZ ~ Zk qui associe d'une façon unique au vecteur X = [xi, x2, ...,'L] déterminant le contenu binaire du registre à décalage un mot de code Y E Zkn. Cette fonction peut être injective ou non. Dans le cas général, un certain mot de code Y peut être obtenu pour plusieurs vecteurs X E Z2 k. Soit n(Y) le nombre d'apparitions du mot de code Y. Si ce mot de code apparaît au moins une fois, alors n(Y) > 1, sinon n(Y) = 0. Un code MIMO est dit équilibré, selon un sens propre au présent document, si et seulement si chaque mot de code Y E Zkn a le même nombre d'apparitions : n(Y)=no1. Un procédé selon l'invention consiste à construire la famille des codes équilibrés. Ces codes sont associés à des matrices formées d'autant de vecteurs colonnes que le registre a de bascules, chaque vecteur ayant autant de composantes qu'il y a d'antennes d'émission, telle que pour chaque matrice et pour les différentes combinaisons possibles de vecteurs X les mots Y de code obtenus apparaissent chacun un nombre de fois identique et l'ensemble des mots Y de code obtenus est égal à un ensemble composé des couples d'entiers relatifs modulo quatre. Un premier mode de réalisation d'une construction de cette famille des codes équilibrés est décrit en regard de l'organigramme de la figure 2. Le procédé 1 consiste dans une première étape 2, à déterminer quatre classes d'équivalence de représentant un vecteur binaire U pris parmi les quatre vecteurs 0 0 1 1 binaires 0 1 0 et 1 0 z 0 0 2 2 C[~] = [o] + 2Zz = 1[o]' [2]' [o]' [2]' (13) (14) C 1 = [1] + 2Zz [o1 1 1 [13], [31], C= 1+ 2Zz []}. Dans une deuxième étape 3, le procédé consiste à construire une première sous famille de codes contenant un seul vecteur non nul de la classe Cro1 et une seconde 0 sous famille de codes contenant deux vecteurs non nuls de la classe Cro1 , l'ensemble 0 composé de la première sous famille et de la seconde sous famille étant égal à la famille des codes équilibrés. La première sous famille est dite des codes équilibrés de type I. La construction de cette première sous famille se décompose typiquement en plusieurs étapes décrites ci-après en regard de l'organigramme de la figure 3. Dans une première étape 4, le procédé choisit parmi les différentes classes, une classe CU différente de la classe Co = Cro1 . CU est donc soit C[oi , soit C~1~ , soit C~1~ . 0 1 o i CU a pour vecteur représentant le vecteur U. Il y a trois choix différents possibles pour Cu . Dans une deuxième étape 5, le procédé choisit un premier et un deuxième vecteurs parmi les vecteurs de la classe d'équivalence Cu dont la somme non nulle est un vecteur de la classe Co . Ainsi, le procédé choisit dans la classe C, une paire de vecteurs V1 et V2 tel que V1+V2EC0\{2U} . Dans la classe Cu il est possible de choisir une paire parmi quatre paires de vecteurs. Il y a donc quatre choix différents possibles. Dans une troisième étape 6, le procédé choisit comme troisième vecteur, le vecteur V3 égal à deux fois le vecteur U, V3 = 2U . Dans une quatrième étape 7, le procédé choisit un quatrième vecteur V4 parmi les vecteurs d'une des deux classes différentes des classes Co et Cu . Ainsi, le procédé choisit une classe d'équivalence Cw différente de Co et de Cu . Il y a deux choix différents possibles. Dans cette classe C, , le procédé choisit le quatrième vecteur V4. Il y a quatre choix différents possibles. Ce qui fait au total huit choix possibles. 10 1 [12], ro], 3 =l[o]' 2 , Les quatre étapes précédentes sont déroulées de manière successive. Chaque déroulement des différentes étapes permet de déterminer quatre vecteurs qui forment un code à quatre états. Chaque déroulement se distingue des précédents déroulements par un choix différent à une des quatre étapes; il y a donc répétition 8 des différentes étapes 4, 5, 6 et 7. Pour obtenir tous les codes de la sous famille, il faut ajouter 9 aux codes obtenus les codes identiques à une permutation près tout en éliminant les codes redondants. Cette sous famille contient en tout 3x4x2x4 = 96 représentants de codes différents dits de type I. L'ensemble complet des codes de type I est obtenu en effectuant toutes les permutations de colonnes possibles sur l'ensemble des représentants. La deuxième sous famille est dite des codes équilibrés de type II. La construction de cette sous famille se décompose typiquement en plusieurs étapes décrites ci-après en regard de l'organigramme de la figure 4. Dans une première étape 11, le procédé choisit un premier vecteur Ui et un deuxième vecteur U2 différent du premier vecteur, non nuls, parmi les vecteurs de la classe d'équivalence Co . Il y trois possibilités, donc trois choix possibles. Dans une deuxième étape 12, le procédé choisit un troisième vecteur U3 parmi les vecteurs d'une classe d'équivalence Cu de vecteur représentant U, différente de la classe Co. Cu est donc soit C[o] , soit C[i] , soit C[i] . 1 0 i Il y a trois choix différents possibles pour Cu et quatre choix pour le troisième vecteur U3, soit au total 12 choix différents. Dans une troisième étape 13, le procédé choisit un quatrième vecteur U4 parmi les vecteurs d'une classe Cv de vecteur représentant V, différente de Co et de Cu . Il y a quatre choix différents possibles. Les quatre étapes précédentes sont déroulées de manière successive ou pas. Chaque déroulement des différentes étapes permet de déterminer quatre vecteurs qui forment un code à quatre états ; il y a donc répétition 14 des différentes étapes 11, 12 et 13. Chaque déroulement se distingue des précédents déroulements par un choix différent à une des quatre étapes. Pour obtenir tous les codes de la sous famille, il faut ajouter 15 aux codes obtenus les codes identiques à une permutation près tout en éliminant les codes redondants. Cette sous famille contient en tout 3x3x4x4 = 144 représentants de codes différents. L'ensemble complet des codes de type II est obtenu en effectuant toutes les permutations de colonnes possibles sur l'ensemble des représentants. Il existe donc 96 représentants des codes MIMO équilibrés de type I et 144 représentants des codes MIMO équilibrés de type II, donc un nombre total de 240 représentants des codes MIMO équilibrés à longueur minimale, c'est-à-dire à quatre états. A partir de la famille des codes équilibrés à quatre états préalablement déterminée, il est possible de construire une famille de codes équilibrés à huit états. De manière similaire, il est possible de construire une famille de codes équilibrés à seize états à partir de la famille à huit états. Plus généralement, il est possible de construire une famille de codes équilibrés à 2" états à partir de la famille à 2n-1 états, avec n>2. Le procédé est le suivant illustré en regard de l'organigramme de la figure 5. Dans une première étape 16, le procédé choisit successivement un des vecteurs non nuls d'une des quatre classes d'équivalences et ajoute ce vecteur P à chacun des codes C de la famille initiale pour former des codes à Ti états. Pour construire la famille des codes équilibrés à Ti états, la famille initiale est la famille des codes équilibrés à 2n-1 états. En supposant qu'il y a m vecteurs P non nuls, le nombre de codes à Ti états obtenus à l'issue de cette étape est de m fois le nombre de codes à 2n-1 états. Dans une deuxième étape 17, le procédé détermine la nouvelle famille constituée des codes à Ti états obtenus à l'étape précédente et des codes à Ti états obtenus par permutation de vecteurs sur ces derniers tout en éliminant les codes redondants. Parmi ces codes équilibrés, certains sont plus performants que d'autres. Pour déterminer les codes les plus performants, le procédé consiste à limiter la famille des codes à examiner à la sous famille des codes équilibrés de type II. A partir de cette sous famille, le procédé consiste à ne garder que les codes permettant de maximiser un premier critère relatif à une trace et un second critère relatif à un rang, d'un ensemble de matrices déterminées. Ces critères et l'ensemble de matrice déterminé ont été décrits en regard de l'art antérieur. Le tableau 1 en annexe 1 est le résultat obtenu par le procédé dans le cas où la famille des codes à examiner est limitée à la sous famille des codes équilibrés de type II à quatre états. Il contient tous les codes de type II à quatre états qui présentent les meilleures performances sur des canaux à évanouissements rapides quel que soit le nombre d'antennes de réception, et sur des canaux à évanouissements lents lorsque le nombre d'antennes en réception est supérieur ou égal à 2. Le tableau 2 en annexe 2 est le résultat obtenu par le procédé dans le cas où la famille des codes à examiner est limitée à la sous famille des codes équilibrés de type II à seize états. Il contient tous les codes de type II à seize états qui présentent les meilleures performances sur des canaux à évanouissements rapides quel que soit le nombre d'antennes de réception, et sur des canaux à évanouissements lents lorsque le nombre d'antennes en réception est supérieur ou égal à 2. La figure 5 est un schéma d'un dispositif 20 selon l'invention, de mise en oeuvre d'un procédé de construction de codes espace-temps en treillis selon l'invention. Un tel dispositif 20 comprend des moyens 21 de construction de la famille des codes équilibrés. Ces moyens 21 de construction comprennent typiquement des moyens 22 de calcul aptes à déterminer une répartition des vecteurs colonnes possibles en quatre classes d'équivalence Cu de représentant un vecteur binaire U pris parmi les quatre 0 0 1 1 vecteurs binaires 0 , 1 , 0 et 1 Ces moyens 22 de calcul sont en outre aptes à construire une première sous famille de codes contenant un seul vecteur non nul de la classe Co et une seconde sous famille de codes contenant deux vecteurs non nuls de la classe Co , la première et de la seconde sous familles constituant la famille. Les moyens 21 de construction comprennent typiquement en outre des moyens 23 de mémorisation en liaison avec les moyens 22 de calcul pour mémoriser, par exemple, des données d'entrée pour les calculs, des données intermédiaires et des données de sortie. Le procédé qui a été décrit pour un système MIMO, peut être mis en oeuvre dans différents systèmes de communication, typiquement sans fil mais non exclusivement. Le procédé selon l'invention peut être implémenté par différents moyens. Par exemple, le procédé peut être implémenté sous forme câblée (hardware), sous forme logicielle, ou par une combinaison des deux. Pour une implémentation câblée, les éléments utilisés ou certains des éléments (moyens de construction référencés 21, moyens de calcul référencés 22, moyens de mémorisation référencés 23) pour exécuter les différentes étapes de construction peuvent être intégrés dans un ou plusieurs circuits intégrés spécifiques (ASICs), processeurs de signaux(DSPs, DSPDs), des circuits logiques programmables (PLDs, FPGAs), contrôleurs, micro-contrôleurs, microprocesseurs, ou tout autre composant électronique conçu pour exécuter les fonctions préalablement décrites. Pour une implémentation logicielle, quelques unes ou toutes les étapes (référencées 2 à 15) de construction peuvent être implémentées par des modules qui exécutent les fonctions préalablement décrites. Le code logiciel peut être stocké dans une mémoire et exécuté par un processeur. La mémoire peut faire partie du processeur ou être externe au processeur et couplée à ce dernier par des moyens connus de l'homme de l'art. En conséquence, l'invention a aussi pour objet un programme d'ordinateur, notamment un programme d'ordinateur sur ou dans un support d'informations ou mémoire, adapté à mettre en oeuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter un procédé selon l'invention. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. 15 Annexe 1 Tableau 1 2 1 2 0 1 2 0 2 2 0 2 1 2 1 2 0 0 2 3 2 2 0 2 1 1 2 0 2' 0 2 1 2 0 2 1 2 3 2 0 2 2 0 2 3 2 3 2 0 2 1 2 0 2 0 2 1 1 2 0 2' 0 2 1 2 0 2 3 2 3 2 0 2 2 0 2 3 2 3 2 0 2 3 2 0 2 0 2 3 3 2 0 2 0 2 3 2 0 2 1 2 1 2 0 2 2 0 2 1 2 1 2 0 2 3 2 0 2 0 2 3 3 2 0 2 0 2 3 2 10 REVENDICATIONS 1. Procédé de construction de codes espace-temps en treillis pour un codeur d'un système MIMO â deux antennes d'émission mettant en oeuvre des constellations de type 4-PSK et comprenant un registre â décalage formé de L bascules, le codeur permettant d'obtenir des mots Y de code par multiplication d'une matrice associée â un code avec des vecteurs X déterminant le contenu binaire du registre â décalage, caractérisé en ce que ledit procédé comprend les étapes qui consistent : - â construire une famille de codes associés â des matrices formées d'autant de vecteurs colonnes que le registre a de bascules, chaque vecteur ayant autant de composantes qu'il y a d'antennes d'émission, telle que pour chaque matrice et pour les différentes combinaisons possibles de vecteurs X les mots Y de code obtenus apparaissent chacun un nombre de fois identique et l'ensemble des mots Y de code obtenus est égal â l'ensemble composé des couples d'entiers relatifs modulo quatre. 2. Procédé de construction de codes espace-temps en treillis selon la revendication 1 dans lequel la construction de la famille de codes consiste â déterminer une répartition des vecteurs colonnes possibles en quatre classes d'équivalence Cu ayant comme représentant 0 0 1 1 un vecteur binaire U pris parmi les quatre vecteurs binaires 0 1 0 et 1 et â ]' L]' [ construire une première sous famille de codes contenant un seul vecteur non nul de la classe C~o~ et une seconde sous famille de codes contenant deux vecteurs non nuls de la classe 0 C[oi , la première et de la seconde sous familles constituant la famille. 0 3. Procédé de construction de codes espace-temps en treillis selon la revendication 2 dans lequel la construction de la première sous famille de codes contenant un seul vecteur non nul de la classe C[oi comprend les étapes successives qui consistent : 0 - â choisir parmi les différentes classes, une classe CU , de vecteur représentant U, différente de la classe d'équivalence C[oi , 0 - â choisir un premier et un deuxième vecteurs parmi les vecteurs de la classe d'équivalence Cu dont la somme non nulle est un vecteur de la classe C[oi , 0 - â choisir comme troisième vecteur, le vecteur égal â deux fois le vecteur U,- â choisir un quatrième vecteur parmi les vecteurs d'une des deux classes différentes des classes Coi et C, , les quatre vecteurs formant un code â quatre états d'un premier type, 0 - â répéter les étapes de choix précédentes autant de fois qu'il y a de possibilités différentes de choix â chaque étape pour obtenir différents codes, - â permuter entre eux les vecteurs des différents codes obtenus pour déterminer des codes identiques aux codes obtenus â une permutation près sur les vecteurs, tout en éliminant les codes redondants, pour obtenir une sous famille constituée de tous les codes de la première sous famille de codes. 4. Procédé de construction de codes espace-temps en treillis selon la revendication 2 dans lequel la construction de la seconde sous famille de codes contenant deux vecteurs non nuls de la classe Coi comprend les étapes qui consistent : 0 - â choisir deux vecteurs différents non nuls, parmi les vecteurs de la classe d'équivalence C[o] de vecteur représentant [ ], 0 0 - â choisir un troisième vecteur parmi les vecteurs d'une classe d'équivalence CU , de vecteur représentant U , différente de la classe C[oi , 0 - â choisir un quatrième vecteur parmi les vecteurs d'une classe Cv , de vecteur représentant V, différente de CU et C~o~ , les quatre vecteurs formant un code â quatre états d'un [o] deuxième type, - â répéter les étapes de choix précédentes autant de fois qu'il y a de possibilités différentes de choix â chaque étape pour obtenir différents codes, - â permuter entre eux les vecteurs des différents codes obtenus pour déterminer des codes identiques aux codes obtenus â une permutation près sur les vecteurs, tout en éliminant les codes redondants, pour obtenir une sous famille constituée de tous les codes de la seconde sous famille de codes. 5. Procédé de construction de codes espace-temps en treillis â 2n états â partir d'une famille initiale constituée de codes â 2n_I états, avec n>2, dans lequel la famille initiale pour n=3 est la famille comprenant les codes d'une première sous famille obtenus par un procédé selon la revendication 3 et les codes d'une seconde sous famille obtenus par un procédé selon la revendication 4, comprenant les étapes qui consistent : -â choisir successivement un des vecteurs non nuls d'une des quatre classes d'équivalences et â ajouter ce vecteur â chacun des codes de la famille initiale pour former des codes â 2n états,- â déterminer une nouvelle famille constituée des codes â 2n états obtenus â l'étape précédente et des codes obtenus par permutation de vecteurs sur ces précédents codes â 2' états, tout en éliminant les codes redondants. 6. Procédé de construction de codes espace-temps en treillis selon la revendication 4, comprenant en outre l'étape qui consiste : - parmi les codes de cette sous famille, â ne garder que les codes permettant de maximiser un premier critère relatif â une trace et un second critère relatif â un rang d'un ensemble de matrices déterminées, pour déterminer les codes les plus performants au sens des critères précédents. 7. Procédé de construction de codes espace-temps en treillis â 2n états â partir d'une famille initiale constituée de codes â 2n_I états, avec n>2, dans lequel la famille initiale pour n=3 est sous la famille comprenant les codes d'un deuxième type obtenus par un procédé selon la revendication 4, comprenant les étapes qui consistent : - â choisir successivement un des vecteurs non nuls d'une des quatre classes d'équivalences et â ajouter ce vecteur â chacun des codes de la famille initiale pour former des codes â 2' états, - â déterminer une nouvelle famille constituée des codes â 2n états obtenus â l'étape précédente et des codes obtenus par permutation de vecteurs sur ces précédents codes â 2' états tout en éliminant les codes redondants, - parmi les codes de cette sous famille, â ne garder que les codes permettant de maximiser un premier critère relatif â une trace et un second critère relatif â un rang, d'un ensemble de matrices déterminées, pour déterminer les codes les plus performants au sens des critères précédents. 8. Code espace-temps en treillis â n, avec n 2 obtenu par un procédé selon l'une des revendications 1 â 7. 9. Code espace-temps en treillis â quatre états appartenant â la liste constituée des codes 30 suivants : 2 1 2 0 1 2 0 2 2 0 2 1 2 1 2 0 0 2 3 2' 2 0 2 1' 1 2 0 2' 0 2 1 2 0 2 1 2 3 2 0 2 2 0 2 3 2 3 2 0 2 1 2 0' 2 0 2 1' 1 2 0 2' 0 2 1 2 0 2 3 2 3 2 0 2 2 0 2 3 2 3 2 0 2 3 2 0' 2 0 2 3 3 2 0 2 0 2 3 2 20 0 2 1 2 1 2 0 2 2 0 2 11 2 1 2 0 2 3 2 0 2 0 2 3 3 2 0 2 0 2 3 2 0 2 1 2 â l'exclusion du code 2 3 2 0 . 10. Code espace-temps en treillis â seize états appartenant â la liste constituée des codes suivants 2 3 2 3 2 1 2 1 2 3 2 3 2 3 2 1 2 1 2 1 2 1 2 3 0 2 2 1 0 2 0 2 2 1 0 2 0 2 2 1 0 2 0 2 2 1 0 2 0 2 2 1 0 2 0 2 2 1 0 2 0 2 2 1 0 2 0 2 2 1 0 2 2 3 2 3 2 1 2 1 2 3 2 3 2 3 2 1 2 1 2 1 2 1 2 3 2 1 2 1 2 3 2 3 2 1 2 1 2 1 2 3 2 3 2 3 2 3 2 1 0 2 2 3 0 2' 0 2 2 3 0 2' 0 2 2 3 0 2' 0 2 2 3 0 2 0 2 2 3 0 2 0 2 2 3 0 2 0 2 2 3 0 2 0 2 2 3 0 2 -L2 1 2 1 2 3' 2 3 2 1 2 1' 2 1 2 3 2 3' 2 3 2 3 2 1 3 2 3 2 1 2 1 2 3 2 3 2 3 2 1 2 1 2 1 2 1 2 3 2 2 0 1 2 2 0 2 0 1 2 2 0 2 0 1 2 2 0 2 0 1 2 2 0 2 0 1 2 2 0 2 0 1 2 2 0 2 0 1 2 2 0 2 0 1 2 2 0 3 2 3 2 1 2 1 2 3 2 3 2 3 2 1 2 1 2 1 2 1 2 3 2 1 2 1 2 3 2 1 2 1 2 3 2 1 2 1 2 3 2 3 2 3 2 1 2 2 0 3 2 2 0 2 0 3 2 2 0 2 0 3 2 2 0 2 0 3 2 2 0 2 0 3 2 2 0 2 0 3 2 2 0 2 0 3 2 2 0 2 0 3 2 2 0 1 2 1 2 3 2' 3 2 1 2 1 2' 1 2 3 2 3 2' 3 2 3 2 1 2 â l'exclusion du code 1 2 1 2 3 2 2 0 3 2 2 0 11. Utilisation d'un code espace-temps en treillis obtenu par un procédé selon l'une des revendications 1 â 8 pour du codage. 12. Programme d'ordinateur sur un support d'informations, ledit programme comportant des instructions de programme adaptées â la mise en oeuvre d'un procédé de construction de codes espace-temps en treillis selon l'une quelconque des revendications 1 â 8, lorsque ledit programme est chargé et exécuté dans un dispositif électronique.25 13. Support d'informations comportant des instructions de programme adaptées â la mise en oeuvre d'un procédé de construction de codes espace-temps en treillis selon l'une quelconque des revendications 1 â 8, lorsque ledit programme est chargé et exécuté dans un dispositif électronique.5