FR 2886788 A1 20061208 FR 0505662 A 20050603 " Procédé et système de codage convolutif pour la transmission de codes spatio-temporels en blocs selon la technique dite Golden Code." La présente invention se rapporte à un procédé de codage convolutif pour la transmission de codes spatio-temporels en blocs selon la technique dite Golden Code. Elle concerne également un système mettant en oeuvre un tel procédé. D'une façon générale, l'invention s'applique au domaine de la io transmission ou de la diffusion radio de données numériques, ou de données analogiques échantillonnées, notamment dans le cas de transmission avec les mobiles ou bien de façon plus générale, dans le cas de réseaux sans fil locaux ou non. L'invention peut notamment s'appliquer lorsqu'on désire faire des transmissions sans fils à grand débit. Une première catégorie d'application concerne les systèmes de communication cellulaire avec les mobiles tels que l'UMTS par exemple. Une seconde catégorie d'application concerne les réseaux locaux sans fils. Une troisième catégorie d'application est celle des futurs réseaux ad hoc. D'une manière plus précise, la présente invention s'applique à des systèmes multi-antennes MIMO ("Multiple Input Multiple Output") mettant en oeuvre des codes spatio-temporels en blocs du type Golden Code. Un Code Spatio-Temporel en Blocs (STBC pour "Space Time Block Code" en langue anglaise) est un ensemble fini r de matrices complexes (les mots de code) ayant M lignes et T colonnes et dont chaque composante rr est le symbole qui sera transmis sur l'antenne i (1 i M) à l'instant t (1 t T). Un STBC est carré si M = T. Les critères de construction d'un STBC tels que notamment définis dans le document V. Tarokh, N. Seshadri et A.R. Calderbank, Space Time Codes for High Data Rates Wireless Communication: Performance Criterion and Code Construction IEEE Transactions on Information Theory, vol. 44, no. 2, Mars 1998, sont les suivants: L'ordre de diversité (d'émission), noté d, d'un STBC est défini par: d = Min Rang(X Y) x,YEr xxY - 2 Un STBC est de diversité pleine si l'ordre de diversité est maximal c'est-à-dire: d= Min (M, T). - Le gain de codage, noté g, d'un STBC de diversité pleine avec T M est défini par: g = Min /Det((X Y)(X Y)" ) x,YEr x=Y On démontre que la probabilité d'erreur moyenne par mot de code, sur un canal à évanouissement de Rayleigh, est proportionnelle à 1/(g RSB)d N à fort Rapport Signal à Bruit. Pour maximiser les performances d'un STBC sur ce type de canal, il faut donc maximiser le gain de codage. lo Comme indiqué précédemment, la présente invention concerne plus particulièrement un code spatio-temporel en blocs de type Golden Code Le Golden Code, tel que défini dans le document J. C. Belfiore, G. Rekaya et E. Viterbo, The Golden Code: A 2x2 Full-Rate Space-Time Code with NonVanishing Determinants," IEEE Transactions on Information Theory, vol. 44, no. 2, Avril 2005 est un STBC carré à 2 antennes d'émission (M=2 et T=2). Ce code est à diversité pleine (d=2). Il présente le meilleur gain de codage à l'heure actuelle. C'est la construction algébrique du Golden Code qui permet de réaliser son partitionnement. Pour définir le Golden Code, il est nécessaire d'introduire l'algèbre 20 cyclique de division (corps non commutatif), AQ, construite sur le corps Q[i, 0] de la manière suivante: a+b.0 c+d.0 i(c + d.B) a + b. B avec a, b, c, d E Q[i] où i2= 1,6' =1+'\/ et --é= On définit l'anneau, noté AZ, sur cette algèbre en restreignant a, b, c et 25 d dans l'anneau des entiers de Gauss Z[i] : a+b.0 c+d.B AZ = avec a, b, c, d E Z[i] i(c + d.0) a + b.B Le Golden Code infini, noté r9, est un idéal principal de l'anneau AZ généré par un élément a de cet anneau. Il est à noter que lorsque l'on opte pour une représentation vectorielle au lieu de matricielle, AZ et par voie de conséquence le Golden Code sont des lattices de dimension réelle 8. L'élément a a été choisi de telle sorte que l'idéal forme un lattice 3 - correspondant à -Z8. C'est pourquoi le Golden Code inclut une normalisation part/. Ainsi, on a: F cc a c fg' a+b. 0 c+d.0 1(c+d.B) a+b.9 _ _avec a, b, c, d E Z[i] où a= 0 1+i-i.0 1+i-i.0 0 On démontre que le gain de codage du Golden Code infini est de11f. Lorsque l'on utilise un code fini, il suffit de contraindre a, b, c et d à appartenir à un sous ensemble fini inclus dans Z[i] (une constellation QAM par exemple). Le fait que le Golden Code infini corresponde à Z8 facilite grandement l'étiquetage binaire et le "shaping" (le fait d'extraire une io constellation) tout en garantissant une bonne distance euclidienne entre les mots de code. La présente invention a pour but un nouveau procédé pour améliorer le gain de codage d'un code spatio-temporel en blocs de type Golden Code. Un autre but de l'invention est un système de codage de l'information particulièrement efficace dans le cas d'un canal à évanouissements ("fading channel" en langue anglaise). On atteint au moins l'un des objectifs précités avec un procédé de codage convolutif pour la transmission de codes spatio-temporels en blocs selon la technique dite Golden Code, dans un réseau de communication sans fil comportant au moins une pluralité d'antennes à l'émission. Selon l'invention, le codage Golden Code est associé à une modulation codée en treillis TCM. Par ailleurs, on réalise le partitionnement nécessaire audit treillis de telle sorte que pour chaque étape de partitionnement, on multiplie un ensemble F. par au moins un élément p de l'ensemble Bk (k>1) d'éléments de Az tels que: Bk = XEAz et I Det(X) 12 = 2k, l'ensemble ro dit "Golden Code infini", étant un idéal principal de l'anneau Az tel que défini par la technique Golden Code. Avec la présente invention, on utilise donc avantageusement une 30 technique de modulation codée avec le Golden Code, et on utilise la technique de partitionnement du Golden Code pour obtenir du gain de codage. - 4 D'une façon générale, le gain de codage d'une séquence de mots de code STBC peut être définie de la manière qui suit. Considérons une séquence (Xk)1 1) émis l'un à la suite de l'autre. Il est toujours possible de considérer cette séquence comme un unique mot de code d'un code STBC (M=2 et nT) constitué par la concaténation des n matrices Xk. Dans ce cas, on peut calculer un gain de codage, noté gn, pour une séquence de longueur n: / n 9n Min Det 1(Xk - Yk)(Xk Yk)H (Xk) (Yk) \k=1 / n (Xk),(Yk)eF En posant Zk = Xk Yk et en modifiant l'indexation sur Zk de telle sorte 10 que les no premiers Zk soient tous non nuls et tous les autres nuls, on obtient: / n (no Det E(Xk Yk)(Xk y k)H = Det I Zkzk k=1 / \ k=1 i Si l'on suppose que le STBC r est de diversité maximale et de plus carré (comme c'est le cas du Golden Code), si Zk est non nul alors Zk est inversible et l'on peut définir2k = Det(Zk)Zk1. On démontre alors aisément que: (no no no no Det IZkZH =lDet(ZkZH)+l 0(=1 j k=1 k=1 j=k+1 où X 2 désigne la norme de Frobénius (ou norme 2) de la matrice X. Si le code STBC considéré a une structure de groupe additif (comme le 20 Golden Code infini), on peut réécrire le gain de codage de la manière suivante: ZkZj 9 n = Min Min 1 2. Dans ce cas, on s'intéresse particulièrement aux termes croisés ZkZj 2 susceptibles d'augmenter considérablement le gain. Pour le cas no=1, on s'assure que les 2886788 5 séquences de mots de codes qui n'ont qu'un seul mot de code non nul, disons Zk, soient telles que Det(ZkZk) soit suffisamment élevé pour ne pas pénaliser le gain de codage global. Pour ce faire, on utilise avantageusement la technique de modulation codée en treillis TCM (pour "Treillis Coded Modulation" en langue anglaise). Tout comme dans le cas d'un canal gaussien noté AWGN, il faut disposer d'un étiquetage binaire qui s'appuie sur un partitionnement de la constellation émise. Dans le contexte des TCM, un partitionnement consiste à trouver à partir d'un groupe additif de départ E0 une suite décroissante (E;) de sous groupe telle que à chaque étape de partition l'ensemble quotient E; /Ei+1 ait un cardinal (on parlera d'ordre) qui soit une puissance de 2 pour permettre un étiquetage binaire. Un bon partitionnement au sens des TCM doit permettre d'augmenter au fur et à mesure un critère de distance au sein de tous les sous ensembles. Dans le cas des TCM sur canal gaussien, il s'agit d'un critère de distance euclidienne au carré minimale alors que pour un STBC il s'agit du gain de codage: g(E;) = Min Det(XX" ) >CEE, x=o A titre d'exemple, toujours dans le cadre des TCM selon l'art antérieur, la figure 1 décrit une chaîne de partition de Z[i] (correspondant à une constellation QAM) dans le cas du canal gaussien (AWGN). Cette chaîne de partition peut être continué aussi longtemps que cela est nécessaire pour étiqueter un point d'une constellation QAM grâce aux bits co, c1, ... . Il est important de noter qu'à chaque niveau de partition la distance euclidienne au carré au sein de chaque sous-ensemble est le double de celle du niveau précédent. De plus, on remarque que l'étiquetage binaire a été rendu possible grâce au fait que chaque ensemble se subdivise n sous-ensembles (l'ordre) avec n une puissance de 2. La présente invention s'applique particulièrement à des ensembles idéaux du Golden Code, ces ensembles étant définis de la manière qui suit. - 6 - Soit [3 un élément de AZ non nul et tel que Det([3) 2 >1, on définit l'idéal principal à gauche de ro, généré par [3, noté [3.Ç, et l'idéal principal à droite de p généré par R, noté p.(3, par: Rra = {RX = {X[3 X E r XEI} Les idéaux à gauche et à droite peuvent être distincts en raison de la non commutativité de l'algèbre. Il est facile de démontrer que ces deux idéaux principaux sont des sous groupes additifs (ou sous lattices) de pue, qui présentent les deux propriétés 10 suivantes: - Le gain de codage de chacun des idéaux vaut: g(RFco) = 9(F f3) = Det([3) 9'(F.) = Det([3) - Ces idéaux sont d'ordre Det([3)I4 par rapport à pue, c'est-à-dire: Card (F / [3I'.) = Card (F / Fj3) = Det([3) 4 Avantageusement, dans la présente invention, on réalise un partitionnement du Golden Code adapté aux modulations codées Comme cela a été mentionné précédemment, pour utiliser des TCM, il est nécessaire de créer un partitionnement où à chaque étape de la partition, un ensemble se subdivise en une puissance de 2 sous ensembles. Comme [3 est un élément de Az, le déterminant de (3 est dans Z[i]. On en déduit qu'il n'existe aucun f3 tel que les idéaux principaux générés par (3 soit d'ordre 2 par rapport à no (ou d'ordre une puissance impaire de 2) . L'invention est notamment remarquable par le fait qu'on définit des [3 pour lesquels l'ordre est une puissance de 4. On introduit alors avantageusement les ensembles Bk (k 1) d'éléments de AZ tels que leur déterminant ait pour module carré 2k: Bk = }=2k} Aucun des Bk n'est vide car i(1-e) 1-e k appartient à Bk. Il est à noter d'ailleurs que tous les ensembles Bk sont infinis. - 7 - Soit Bk un élément quelconque de Bk, l'idéal Rk r (ou l'idéal r 13k) constitue un sous lattice d'ordre 4k de ro, et de gain de codage de-2 /5. Ainsi, chacun des éléments de l'ensemble rd f3k ro, peut être indexé par 2k bits. Grâce à ce procédé, on a effectué une première étape de partition qu'il s suffit de réitérer pour obtenir autant de partitions que nécessaires. Selon l'invention, [3 peut être multiplié à F. par la gauche ou par la droite. Selon une caractéristique préférée de l'invention, on considère: i(1 B) i(2 0)--(2 -0) i(1 0) f3 est un élément de B1. fi Selon une autre caractéristique de l'invention, on peut aussi multiplier l'ensemble no par un élément (3' tel que: iB fl,=[ iB, f3' est un élément de B1. Selon un mode réalisation avantageuse de l'invention, avec k=1, on réalise un partitionnement en quatre étapes, on utilise huit bits co à c, pour réaliser le codage convolutif, et on code ces bits de codage convolutif à partir de quatre bits d'information bo à b3 de telle sorte que: co=c1=c2=0 c3 = x bo + x2bl+x3b2+x4b3 c4, c5, c6 et c, étant respectivement égale à l'un des bits bO à b3. Suivant un autre aspect de l'invention, il est proposé un système de codage convolutif pour la transmission de codes spatio-temporels en blocs selon la technique dite Golden Code, dans un réseau de communication sans fil comportant au moins une pluralité d'antennes à l'émission. Selon l'invention, le système comprend un codeur convolutif recevant des bits d'information à transmettre et générant un ensemble de bits codés, un codeur spatio-temporel en blocs de type Golden Code, ces deux codeurs étant implémentés de sorte que le codeur spatio-temporel en blocs de type Golden Code transmet des séquences obéissant aux conditions suivantes: un - 8- codage convolutif par modulation codée en treillis TCM, et un partitionnement nécessaire audit treillis tel que pour chaque étape de partitionnement, on multiplie un ensemble roo par au moins un élément [3 de l'ensemble Bk (k>1) d'éléments de Az tels que: Bk = XEAz et I Det(X) 12 = 2k, l'ensemble Fo, dit "Golden Code infini", étant un idéal principal de l'anneau Az tel que défini par la technique Golden Code. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée d'un mode de mise en oeuvre nullement 10 limitatif, et des dessins annexés, sur lesquels: - La figure 1 décrit un partitionnement selon l'art antérieur; La figure 2 décrit un partitionnement en deux étapes selon la présente invention; - La figure 3 est une représentation compacte du partitionnement de 15 la figure 2; -La figure 4 est une représentation compacte d'un exemple de partitionnement en quatre étapes selon l'invention; - La figure 5 illustre un exemple de treillis pour la mise en oeuvre du procédé selon la présente invention; La figure 6 est une représentation graphique comparative entre un Golden Code non codé et un Golden Code codé par modulation; et - La figure 7 est une vue schématique d'un système émetteur selon l'invention. On va maintenant décrire des exemples de mise en oeuvre du procédé selon la présente invention afin d'obtenir un gain de codage en utilisant une technique de modulation codée avec un code spatio-temporel en blocs à deux antennes d'émission. Sur la figure 2, on voit un partitionnement selon la présente invention. On considère deux éléments quelconques R1 et G31' de B1, on peut créer un 30 partitionnement en 16 de r, en deux étapes de partition. B1 = XEAz et Det(X) 12 = 2 En notant les 4 éléments de l'ensemble fer/ (31r (resp. f o/ (31'roo) 0, y1, Y2 et y3 (resp. 0, Y1', y2' et y3') qui seront indexés par le doublet de bits (co, cl) (resp. (c2, c3)), le partitionnement peut être représenté comme illustré sur la figure 2. On démarre avec ro. La première partition permet de générer - 9- quatre éléments en multipliant R1 à gauche de ro,. On obtient alors, Bir, pin, + y2, pires + yl, et pin, + Y3. Ces quatre éléments sont codés avec deux bits de codage convolutif co et c1. La seconde partition consiste à introduire p'1 à gauche de rco et à générer seize éléments suivants: [pi pl'rco, pl pl'r + piYz', pl pi'r+ piYi', pi [31'r.+ piy3']; [ pi p1'r.+y2, pi pin+ 131Y2' + Y2, pi pi'rco+ piY"' + Y2, Pl [31T.+ p1Y3' + y2]; [ pi pi'r +Yi, pi pi'r + p1Y2' + yi, pi pi'r.+ piyi' + yi, pi [3i'r.+ p1Y3' + Yi]; [ pi pi'roo+Y3, pi pi'rm+ P1Y2' + Y3, pi piyi' + Y3, Pi pi'roe+ 131y3' + Y3]. Ces seize éléments sont codés avec deux bits de codage convolutif c2 et c3 en combinaison avec les bits co et ci. Ce partitionnement peut être représenté de manière plus compacte comme illustré sur la figure 3. Les gains de codage sont représentés à droite de chaque partition. Par principe du Golden Code, le gain est de 1/J pour ro,. La première partition présente un gain de codage de i / La troisième partition présente un gain de codage de 2/.f. Le gain a donc été multiplié par deux avec une complexité limitée. Ainsi, en utilisant des générateurs dans Bi, il est garanti de multiplier le gain de codage par un facteur (1,5 dB) tous les 2 bits de partitions. Le choix des éléments de Bi utilisés et le choix de placer l'idéal à gauche ou à droite n'interviennent pas sur les gains de codage tout au long du partitionnement. Par contre, ces choix influencent le gain dans les termes croisés lorsque no > 1 et le critère de distance euclidienne (au cas où le code serait utilisé sur un canal gaussien). On va maintenant décrire un exemple complet de construction d'une modulation codée en treillis appliquée à un Golden Code. En choisissante =-- (2--0) 0)i. 1(2--0)e) et [3'= i0 (1 0) i(1 0) i0 (f3 et p' sont des éléments de B,), on construit un partitionnement en 4 étapes du Golden Code tel qu'illustré sur la figure 4. Si toute séquence (Zk) non nulle vérifie les conditions suivantes: - no=1, alors le seul mot de code non nul émis appartient à 2.r. no> 1, alors au moins un des mots de code noté Z1 appartient à B.F. et l'autre noté Z2 appartient à p.roo.p'. 2886788 - 10 - Alors, on démontre que le gain de codage est de 4 (6 dB) par rapport au Golden Code. Pour construire une séquence qui vérifie les conditions précédemment énoncées, on utilise un codage des bits co, cl, ..., c, grâce à un codage convolutif que l'on décrit par un treillis (les autres bits dont le nombre dépend de la constellation QAM choisie étant non codés). Il existe de nombreux treillis permettant de construire une séquence vérifiant ces conditions. En particulier le nombre de transitions par état du treillis, qui va déterminer le rendement du code, va influer considérablement sur la complexité du treillis. io On décrit ici une solution introduisant un treillis assez peu complexe à 16 états et 16 transitions par état. Ainsi, il s'agit d'un code de rendement 1/2. La figure 5 présente un tel treillis. Pour chaque état, les transitions qui correspondent à la séquence de bits co, cl, ..., c, représentée sous forme d'un entier de 0 à 255 (co étant le bit de poids faible) sont énumérés de haut en bas. En réalité, les bits co, ci et c2 sont fixés à O. En notant les 4 bits d'information bo, .., b3, on peut donner une version systématique du codeur convolutif sous la forme: co=c1=c2=0 c3 = x bo + x2bl+x3b2+x4b3 c4=bo c5 = bl c6 = b2 C7 = b3 Etant donné que 4 bits de redondance sont introduits par le codage convolutif, le gain de performance est de 3 dB entre un Golden code non codé et ce Golden Code codé par modulation lorsque la comparaison est effectuée à efficacité spectrale égale conformément à la figure 6. On va maintenant décrire en rapport avec la figure 7, un exemple d'implémentation d'un émetteur selon l'invention. On considère un Golden Code avec des symboles 64 QAM. Un mot de code STBC étant constitué de 4 symboles 64 QAM, il est étiqueté sur 24 bits: co, cl, ..., c23. Les bits co, ..., c, sont des bits codés par le code convolutif selon l'invention à partir de 4 bits d'information bo, .., b3. Les bits c8, ..., c23 sont eux directement des bits d'information. Le convertisseur série-parallèle 1 transmet les bits 2886788 - Il d'information bo, .., b3 vers le codeur convolutif 2 selon l'invention, et les bits d'information b4, .., b19 directement vers le codeur STBC-Golden Code 3. Le codeur STBC 3 fournit aux deux modulateurs 4 et 5 un mot de code du Golden Code 64 QAM à partir des bits co, c1, ..., c23 en respectant l'étiquetage binaire défini par le partitionnement du code. Il est à noter que le partitionnement n'a pas forcément à être prolongé jusqu'à c23 puisqu'à partir de c8 on peut utiliser l'étiquetage classique sur une 16 QAM. Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples io sans sortir du cadre de l'invention. - 12 - REVENDICATIONS 1. Procédé de codage convolutif pour la transmission de codes spatiotemporels en blocs selon la technique dite Golden Code, dans un réseau de communication sans fil comportant au moins une pluralité d'antennes à l'émission, caractérisé en ce que le codage Golden Code est associé à une modulation codée en treillis TCM, et en ce qu 'on réalise le partitionnement nécessaire audit treillis de telle sorte que pour chaque étape de partitionnement, on multiplie un ensemble I. par au moins un élément 13 de io l'ensemble Bk (k>1) d'éléments de Az tels que: Bk = XeAz et I Det(X) 12 = 2k, l'ensemble F. dit "Golden Code infini", étant un idéal principal de l'anneau Az tel que défini par la technique Golden Code. 2. Procédé selon la revendication 1, caractérisé en ce qu'on multiplie p à gauche de F . 3. Procédé selon la revendication 1, caractérisé en ce qu'on multiplie p à droite de F.,. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque composante d'une partition ainsi créée est indexée par 2k bits de codage convolutif. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'on considère: i(1 B) i(2 0) f3 est un élément de B1. (2 B- ) i(1 B) 30 6. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'on multiplie l'ensemble F. par un élément [3' tel que: fi_ iB (1 B) i(1 B) iB R' est un élément de B1. fi'_ 2886788 - 13 - 7. Procédé selon l'une quelconque des revendications précédentes, avec k=1, caractérisé en ce qu'on réalise un partitionnement en quatre étapes, on utilise huit bits co à c, pour réaliser le codage convolutif, et on code ces bits de codage convolutif à partir de quatre bits d'information bo à b3 de telle sorte que: co=c1=c2=0 c3 = x b0 + x2b1+x3b2+x4b3 C4, C5, c6 et c, étant respectivement égale à l'un des bits b0 à b3. 8. Système de codage convolutif pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications précédentes, pour la transmission de codes spatio-temporels en blocs selon la technique dite Golden Code, dans un réseau de communication sans fil comportant au moins une pluralité d'antennes à l'émission; caractérisé en ce qu'il comprend un codeur convolutif recevant des bits d'information à transmettre et générant un ensemble de bits codés, un codeur spatio-temporel en blocs de type Golden Code, ces deux codeurs étant implémentés de sorte que le codeur spatiotemporel en blocs de type Golden Code transmet des séquences obéissant aux conditions suivantes: un codage convolutif par modulation codée en treillis TCM, et un partitionnement nécessaire audit treillis tel que pour chaque étape de partitionnement, on multiplie un ensemble 1T par au moins un élément R de l'ensemble Bk (k>1) d'éléments de Az tels que: Bk = XEAz et I Det(X) 12 = 2k, l'ensemble F. dit "Golden Code infini", étant un idéal principal de l'anneau Az tel que défini par la technique Golden Code.