Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DETERMINATION OF TRELLIS SPACE-TIME CODES FOR A MIMO SYSTEM
Document Type and Number:
WIPO Patent Application WO/2007/042717
Kind Code:
A1
Abstract:
The invention relates to a method for building trellis space-time codes for an encoder Cd of a two-transmission antenna MIMO system using 4-PSK constellations and comprising a shift register (R) consisting of L D1,...,DLflip-flops. Said encoder Cd makes it possible to obtain code words (Y) by multiplying a matrix associated with vectors (X) determining the binary content of the shift register (R). The inventive method consists in building up a family of codes assigned to matrixes formed by as many column vectors as the register has flip-flops, wherein each vector has as many components as is a number of transmission antennas, in such a way that for each matrix and for different possible combinations of vectors (X), each obtained code word (Y) appears an identical number of times and the total of obtained code words (Y) is equal to the total consisting of modulo four relative integer pairs.

Inventors:
BOUGEARD STEPHANE (FR)
HELARD JEAN-FRANCOIS (FR)
ZAHARIA GHEORGHE (FR)
Application Number:
PCT/FR2006/050997
Publication Date:
April 19, 2007
Filing Date:
October 06, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
INST NAT SCIENCES APPLIQ (FR)
BOUGEARD STEPHANE (FR)
HELARD JEAN-FRANCOIS (FR)
ZAHARIA GHEORGHE (FR)
International Classes:
H04L1/06
Other References:
CHEN Z ET AL: "Improved space-time trellis coded modulation scheme on slow Rayleigh fading channels", ELECTRONICS LETTERS, IEE STEVENAGE, GB, vol. 37, no. 7, 29 March 2001 (2001-03-29), pages 440 - 441, XP006016406, ISSN: 0013-5194
ZHUO CHEN ET AL: "An improved space-time trellis coded modulation scheme on slow rayleigh fading channels", ICC 2001. 2001 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS. CONFERENCE RECORD. HELSINKY, FINLAND, JUNE 11 - 14, 2001, IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS, NEW YORK, NY : IEEE, US, vol. VOL. 1 OF 10, 11 June 2001 (2001-06-11), pages 1110 - 1116, XP010553501, ISBN: 0-7803-7097-1
ZHUO CHEN ET AL: "Space-time trellis codes with two, three and four transmit antennas in quasi-static flat fading channels", ICC 2002. 2002 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS. CONFERENCE PROCEEDINGS. NEW YORK, NY, APRIL 28 - MAY 2, 2002, IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS, NEW YORK, NY : IEEE, US, vol. VOL. 1 OF 5, 28 April 2002 (2002-04-28), pages 1589 - 1595, XP010589755, ISBN: 0-7803-7400-2
VAHID TAROKH ET AL: "Space-Time Codes for High Data Rate Wireless Communication: Performance Criterion and Code Construction", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 44, no. 2, March 1998 (1998-03-01), XP011027029, ISSN: 0018-9448
Attorney, Agent or Firm:
FRANCE TELECOM (Madame Pascale Jeune 38/40 rue du Général Leclerc, Issy Moulineaux Cedex 9, FR)
Download PDF:
Claims:

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 œuvre 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 ! dans lequel la construction de la famille de codes consiste à déterminer une répartition des vecteurs colonnes possibles en quatre classes d'équivalence C υ ayant comme représentant un vecteur binaire U pris parmi les quatre vecteurs binaires , , et et à construire une première sous famille de codes 0 1 0 1 contenant un seul vecteur non nul de la classe Cr 0 -, et une seconde sous famille de

W codes contenant deux vecteurs non nuls de la classe Cr 0 -, , Ia première et de la

L 0 J seconde sous familles constituant la famille.

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 Cr 01 comprend les étapes successives qui consistent :

- à choisir parmi les différentes classes, une classe C L , de vecteur représentant U, différente de la classe d'équivalence C- O n ,

W

- à choisir un premier et un deuxième vecteurs parmi les vecteurs de la classe d'équivalence C υ dont 3a somme non nulle est un vecteur de la classe Cr 0 -, ,

W

- à 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 C f(f et C 1 - , les quatre vecteurs formant un code à quatre

W états d'un premier 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 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 Cr 01 comprend les étapes qui consistent :

- à choisir deux vecteurs différents non nuls, parmi les vecteurs de la classe d'équivalence C

- à choisir un troisième vecteur parmi les vecteurs d'une classe d'équivalence Cy , de vecteur représentant U , différente de la classe Cr 0 I

- à choisir un quatrième vecteur parmi les vecteurs d'une classe C v , de vecteur représentant V, différente de C 11 et Cr 0 -, , les quatre vecteurs formant un code à

quatre états d'un 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 à 2" états à partir d'une famille initiale constituée de codes à 2" "1 é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 à 2" états, à déterminer une nouvelle famille constituée des codes à 2 n états obtenus à l'étape précédente et des codes obtenus par permutation de vecteurs sur ces précédents codes à 2 n é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 à 2 n états à partir d'une famille initiale constituée de codes à 2" "1 é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 n états, à déterminer une nouvelle famille constituée des codes à 2 π états obtenus à l'étape précédente et des codes obtenus par permutation de vecteurs sur ces précédents codes à 2 n é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 suivants :

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

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 1 2 1 2 3

2 3 2 1 2 1 _2 1 2 1 2 3__ 0 2 2 3 0 2

0 2 2 3 0 2 " " 0 2 2 3 0 2 " " 0 2 2 3 0 2

2 1 2 1 2 3_ 2 3 2 1 2 1 _ _2 1 2 3 2 3

2 0 1 2 2 (f ' 2 0 1 2 2 0 " " 2 0 1 2 2 0 "

1 2 3 2 3 2 3 2 1 2 1 2 1 2 1 2 3 2

1 2 1 2 3 2 à l'exclusion du code 2 0 3 2 2 0

1 1. 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 œuvre 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.

13. Support d'informations comportant des instructions de programme adaptées à la mise en œuvre 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.

Description:

DETERMINATION DE CODES ESPACE TEMPS EN TREILLIS POUR SYSTEME MIMO

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 fîlaires. 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 MlMO, acronyme anglais de Multiple Input Multiple Output.

Un système MIMO comprend N t antennes d'émission Tx et N,- antennes de 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 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. 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 0 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 constellations PSK à 2" é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 nx (v + l) bascules. Au f me bit b\ ~ ' du

f me bloc sont associés k coefficients multiplicatifs cf j e Z, o , avec k = 1, , ...nγ, où m- est le nombre d'antennes en émission. Un codeur STTC est ainsi classiquement défini par sa matrice C comprenant nγ - n (v + I) coefficients :

"0,0 C n-!,0 C 0,1

C - -o.o "»-1,0 1 O.) -«-i.i (D

-o.i n-l,f

Le nombre d'états possibles pour le bloc mémorisé ïb o ' x - - -b n ',\ - - -bl v - * -è^ l est 2"" v 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 2 v ^ +m , avec 1 < m < n . Les symboles générés en sortie du codeur pour l'antenne k sont alors donnés par :

J\ * = ∑∑*r^; ™> d 2 " (2)

!=o j=ϋ

où y* e Z 1 , représente l'index du signal 2" PSK sf = f(y, k ) émis par l'antenne k à l'instant t.

Les trains modulés sont ainsi transmis simultanément par les nγ antennes. En réception, les π R antennes reçoivent des répliques de ces signaux affectés par un coefficient multiplicatif. Chaque canal entre une antenne d'émission et une antenne de réception est supposé être affecté par des évanouissements de Rayleigh indépendants. Ainsi, on peut utiliser le modèle suivant :

r ι ~ Y h s 1 " + '< (3)

A=I

où est le signal reçu par l'antenne / à l'instant t, h k , est le gain complexe du canal de l'antenne d'émission k à l'antenne de réception /, s t k est le signal émis par l'antenne k correspondant à l'index j* et est l'échantillon de bruit pour l'antenne / à l'instant t. Les échantillons de bruit sont indépendants et chacune de ses deux composantes a une distribution gaussienne, une valeur moyenne nulle et une variance égale à N 0 Il. La

technique de décodage conjointe est généralement basée sur l'utilisation d'un algorithme de Viterbi.

Les techniques de codage en général et les codages espace-temps en particulier se heurtent au problème du choix des codes utilisés et plus particulièrement au problème de trouver les codes les plus performants.

Dans son article initial, Tarokh présente de manière presque exhaustive les différents critères pour l'évaluation des performances que doivent vérifier ces nouveaux codes dans le cas de communications empruntant des canaux de transmission à évanouissements de Rayleigh lents (indépendance d'un symbole MIMO à l'autre) ou rapides (indépendance d'une trame de symboles MIMO à l'autre).

Ces critères ont été établis dans le but d'exploiter la diversité spatiale maximale égale à riτ - π R et d'obtenir un gain de codage optimal, tout en considérant des canaux à évanouissements lents et rapides.

Les vecteurs de dimension « / des symboles émis S 1 = [sis* - -- s" 7 j , où [,] r représente l'opération de transposition sont supposés être groupés au sein de trames de longueur Lf.

Un canal est dit à évanouissements lents de Rayleigh si, durant la transmission d'une trame, les gains complexes h k u des différents chemins spatiaux ne changent pas durant cette trame et sont indépendants d'une trame à l'autre. Dans le cas d'évanouissements rapides de Rayleigh, les gains complexes h k i ,t des différents chemins spatiaux sont indépendants d'un symbole à l'autre.

Pour chaque cas, les critères sont dérivés de la minimisation de la probabilité de transmettre la trame codée S = [sf^, - - -s t 7 l L ^1 jde dimension nγ x Lf et de décoder de façon erronée une autre trame codée E également de dimension nγ x Lf, La matrice produit A = BB de dimension nj x nγ est introduite où lî * représente la matrice hermi tienne de la matrice différence B = E - S également de dimension nj x X/ donnée par :

- <C : C - - e),

B = (4) e" τ --c s" τ • ,«r

V V f f -i 3 't<++L! ; , --\]

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 ni, l'ordre de diversité spatial maximal est alors égal au produit nr x n R . Dans un second temps et dans le but de maximiser le gain de codage, le plus petit produit : rang ( A )

II v (où les λ /c sont les valeurs propres non nulles de A), calculé en considérant toutes les paires possibles (E, S) doit être maximisé. Si le rang (A) est n Tj on obtient :

≈ftrέk. -<π (5)

Pour une matrice produit de rang maximal, le gain de codage obtenu est alors égal à det(λ) (1/ ^ .

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 du (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 distance de Hamming du (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 du (S, E) π R . De la même façon, Tarokh introduit la distance produit d p " (S, E) comme le produit des distances euclidiennes entre les symboles de dimension Lf x n-r composant les trames codées S et E. La distance produit s'écrit alors :

Dans le but de maximiser le gain de codage, Ia distance produit d p 2 (S, E) doit être maximisée sur toutes les paires (S, E). Le gain de codage obtenu est alors égal à d p 2 (S, E)

11 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).

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 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)x n R 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 :

Puisque le produit mng(A)x n R 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 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, n τ 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, nγ et v. Sans contrôle des répétitions et des permutations d'antennes, cette détection aveugle conduit à 2" xnτ ' L matrices de coefficients différentes à tester. Par exemple, il y a 16 777 216 combinaisons possibles avec répétitions à tester dans le cas de codes STTCM à 16 états dans le cas de constellations 4-PSK pour deux antennes d'émission, et plus de 3 milliards de combinaisons pour des codes STTCM à 64 états. Ainsi, certains auteurs proposent quelques nouveaux codes à grand nombre d'états tout en précisant que leur recherche n'est pas exhaustive, sous-entendant ainsi que des codes plus performants pourraient encore être déterminés.

Ainsi, l'invention a pour objectif de proposer un procédé de construction de codes espace-temps en treillis pour un codeur d'un système à deux antennes d'émission mettant en œuvre 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 qui permette de réduire le temps de recherche de codes d'une façon significative.

Une solution au problème technique posé consiste, selon la présente invention, 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.

Le procédé réduit notablement le temps de recherche en construisant une famille particulière à partir de laquelle est limitée cette recherche.

Le procédé proposé permet ainsi de construire une famille de codes à partir de laquelle peut être effectuée une recherche des codes les plus performants.

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 œuvre 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 MlMO, 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 ( N 1 . ≥ 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 œuvre 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 3 illustré par la figure 1, d'un système MIMO à deux antennes d'émission mettant en œuvre 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 œuvre 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 :

c" 1

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é : x, € {0,1}, V i = I, 2, ... L .

En général, dans le cas d'une modulation 2" PSK, l'indice y ( e Z 7 ,, du signal s, émis par l'antenne j est :

où C 1 1 G Z 311 , V j = I, 2, ... n τ . Les produits et les sommes sont effectués en Z 2 ,, . La relation ci-dessus peut s'écrire sous la forme matricielle :

Si Y est le mot de code MIMO calculé par le codeur

y 2

(11)

y n

et Ci est la matrice colonne :

alors, la relation (10) peut s'écrire sous la forme matricielle :

Y = XiC 1 + X 2 C 2 + ... + jtiCi (12)

Le mot de code MIMO est donc une combinaison linéaire de C 1 . Pour chaque vecteur binaire X = [xj, x 2 , ..., x/.] la relation (12) permet de calculer le mot de code MIMO qui lui correspond. Un code MIMO est donc une fonction :

φ : Z > → Zt (13)

qui associe d'une façon unique au vecteur X = [xi, X 2 , ..., x / J déterminant le contenu binaire du registre à décalage un mot de code Y e Zj 1 , . 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 Zj, . Soit n(Y) le nombre d'apparitions du mot de code F. Si ce mot de code apparaît au moins une fois, alors n(F) >1, sinon n(F) - 0.

Un code MIMO est dit équilibré, selon un sens propre au présent document, si et seulement si chaque mot de code Y € Z^ a le même nombre d'apparitions :

«(y) = « 0 > i . 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 binaires

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 Cr 0 -, et une seconde kl sous famille de codes contenant deux vecteurs non nuls de la classe Cr 0 -, , l'ensemble

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 C 11 différente de la classe C 0 = . C 1 . est donc soit , soit Cr 1 -. , soit .

C 0 a pour vecteur représentant le vecteur U. Il y a trois choix différents possibles pour C L .

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 C L dont la somme non nulle est un vecteur de la classe C 0 .

Ainsi, le procédé choisit dans la classe C υ une paire de vecteurs Vj et V 2 tel que

V, + V 2 e C; \ {2t7} .

Dans Ia classe C 11 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 V 3 égal à deux fois le vecteur U, F 3 = 2f/ .

Dans une quatrième étape 7, le procédé choisit un quatrième vecteur V 4 parmi les vecteurs d'une des deux classes différentes des classes C 0 et C L . Ainsi, le procédé choisit une classe d'équivalence C^ différente de C 0 et de C 1 , .

Il y a deux choix différents possibles. Dans cette classe C w , le procédé choisit le quatrième vecteur V 4 . Il y a quatre choix différents possibles. Ce qui fait au total huit choix possibles.

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 1 1, le procédé choisit un premier vecteur Us et un deuxième vecteur U 2 différent du premier vecteur, non nuls, parmi les vecteurs de la classe d'équivalence C 0 . Il y trois possibilités, donc trois choix possibles.

Dans une deuxième étape 12, le procédé choisit un troisième vecteur U 3 parmi les vecteurs d'une classe d'équivalence C L , de vecteur représentant U, différente de la classe C 0 .

C y est donc soit Cr 0 -, , soit Cr 11 , soit Cr 1 - .

Il y a trois choix différents possibles pour C 1 , et quatre choix pour le troisième vecteur U 3 , soit au total 12 choix différents.

Dans une troisième étape 13, le procédé choisit un quatrième vecteur U 4 parmi les vecteurs d'une classe C v de vecteur représentant V, différente de C 0 et de C υ . 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 à T états à partir de la famille à 2" '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 nuis d'une des quatre classes d'équivalences et ajoute ce vecteur P à chacun des codes C de la famille initiale pour former des codes à 2" états. Pour construire la famille des codes équilibrés à 2" états, la famille initiale est la famille des codes équilibrés à 2" '] états. En supposant qu'il y a m vecteurs P non nuls, le nombre de codes à T états obtenus à l'issue de cette étape est de m fois le nombre de codes à 2" ~ ' états. Dans une deuxième étape 17, le procédé détermine la nouvelle famille constituée des codes à 2" états obtenus à l'étape précédente et des codes à 2" é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 IL 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. II 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 œuvre 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 C y de représentant un vecteur binaire U pris parmi les quatre vecteurs binaires

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 C 0 et une seconde sous famille de codes contenant deux vecteurs non nuls de la classe C 0 , 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 œuvre 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 œuvre 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 dise) 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.

Annexe 1

Annexe 2 Tableau 2