• Aucun résultat trouvé

Le rendement limité des codes orthogonaux a motivé la construction de code ST ayant une plus grande efficacité spectrale. Les codes ST en couches (LST), permettent une augmentation du rendement. Pour les systèmes symétriques (même nombre d’antennes à l’émission et à la réception), leurs rendements augmentent linéairement en fonction du nombre d’antennes. Ces codes exploitent le multiplexage spatio-temporel afin d’augmenter l’ordre de diversité atteint.

Foschini dans [14] a proposé les codes D-BLAST (Diagonal Bell Laboratories Layered Space- Time), et dans [13] Wolniansky et al. présentent le code V-BLAST (Vertical Bell Laboratories Layered Space-Time) qui est une version simplifiée du D-BLAST. Dans [15], Caire et Colavolpe présentent un code ST appelé ”Wrapped Space-Time code”. Les codes V-BLAST et D-BLAST sont des cas particuliers des codes ST ”Wrapped”.

2.5.1 V-BLAST

Une trame de bits d’information est divisée en ntsous trames, chaque sous trame est modulée

par la suite par une modulation q-QAM (2.3). Les couches correspondent aux différentes sous- trames.

1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6

111001010010100101...1000101001010000010101...

00010100101010 0101001010101 010100101010

C1 C2 Cn

F. 2.3: Division en sous-trames et codage de chaque sous-trame

Le codage V-BLAST consiste à associer chaque couche à une antenne émettrice (voir figure 2.4). Le rendement du code est donc ntsymboles/uc. Ce système correspond au système non-

codé décrit dans le chapitre précédent par l’équation (1.2).

2 1 2 nt 1 2 1 2 3 4 3 4 3 4 5 6 5 6 5 6 C 3 C2 C1

F. 2.4: Structure d’un mot de code du code V-BLAST

L’avantage de ce système de transmission apparaît au niveau de son décodage présenté dans [13]. Il s’agit d’un égaliseur à retour de décision adapté à la structure des systèmes MIMO, connu aussi dans la littérature comme ”suppression successive de l’interférence” (Successive

C 2. É  ’   E-T 39 Interférence cancellation - SIC). A chaque itération, un symbole d’une couche est décodé en considérant les autres symboles des autres couches comme des interféreurs. Sa contribution dans le signal reçu est par la suite soustraite afin de pouvoir décoder les autres symboles. Ces opérations sont répétées autant de fois qu’il y a de couches. L’annulation peut utiliser soit le critère du forçage à zéro (Zero-Forcing - ZF), soit le critère minimisant l’erreur quadratique moyenne (Minimum Mean Square Error - MMSE).

Étant donné que l’algorithme ne fait pas qu’une annulation, mais aussi une suppression de l’interférence, l’ordre dans lequel les couches sont traitées peut influencer sur les performances. Un classement des couches s’avère nécessaire. L’ordre optimal [13] consiste à traiter à chaque itération la couche ayant le rapport signal sur bruit le plus fort. Tous les symboles appartiennent à la même constellation, ils ont donc la même énergie et sont affectés par le même bruit gaus- sien. Le classement peut se faire en prenant à chaque fois le min( Gj

2

), G étant la matrice d’annulation. L’algorithme de décodage avec classement est appelé ”suppression successive d’interférence avec ordonnancement” (Ordered Successive Interference Cancellation - OSIC).

L’algorithme de décodage OSIC est le suivant :

Algorithme BLAST (ZF-OSIC / MMSE-OSIC) :

Entrée : Signal reçu y, matrice du canal H

Sortie : Approximation du vecteur des symboles s

Initialisation : Annulation avec ZF, G = (HH · H)−1 · HH ou annulation avec MMSE,

G = (HHH − σ2I)−1HH. Choix de la couche ayant le meilleur rapport signal sur bruit,

ki=minj( Gj 2

), i = 1.

Étape 1 : Annulation de la couche ki, xki =G T ki· y

Étape 2 : Quantification du symbole kiapproprié à la constellation utilisée, ˆski =Q(xki) Étape 3 : Suppression de la contribution de la couche annulée du signal reçu, y = y−Hki·ˆski, Hki la kicolonne de H .

Étape 4 : Définition de H1comme étant la matrice H avec ces colonnes k1,k2, . . . kiannulées.

Recalculer G en fonction de H1. Incrémenter i.

Étape 5 : Choix de la prochaine couche à traiter, ki =minj( Gj 2

). Aller à l’Étape 1. Cet algorithme permet d’améliorer nettement les performances par rapport à un simple dé- tecteur linéaire ZF ou MMSE, sans trop augmenter la complexité. Comme tous les égaliseurs à retour de décision, son principal inconvénient est la propagation d’erreurs. Si un symbole est mal estimé, une mauvaise contribution est soustraite du signal reçu, ce qui entraîne une mauvaise détection des symboles restants.

2.5.2 D-BLAST

L’idée originale de Foschini consiste en un codage diagonal. En effet, les symboles codés de chaque couche sont transmis successivement par chaque antenne émettrice. Les couches oc- cupent alors les diagonales de la matrice mot de code (voir figure 2.5). Le multiplexage spatio- temporel permet d’augmenter l’ordre de diversité atteint par les codes D-BLAST.

40 2.5. C ST   ( S T  - LST) 2 3 4 5 6 1 2 1 2 1 2 3 3 4 4 4 5 6 5 6 nt d C3 C2 C1

F. 2.5: Structure d’un mot de code du code D-BLAST

La longueur des codes utilisés sur chaque couche est égale à N1 = ntd, où d correspond

au délai d’intercalage (interleaving delay). La longueur temporelle du mot de code est donc

T = d(2nt− 1). Pour des raisons de complexité d’implémentation réelle, le nombre d’antennes

ne peut pas être très grand. Ainsi, pour obtenir des mots de code long il faut augmenter le délai d’intercalage. Reste que les codes utilisés par les différentes couches sont relativement courts, ce qui pose des problèmes pour certains types de codes comme les codes en Treillis.

Le décodage des codes D-BLAST peut se faire en utilisant l’algorithme OSIC. S’il y a un codage entre couches, alors la complexité de décodage augmente.

Cette architecture, bien qu’elle résiste plus aux effets des évanouissements du canal de transmission, n’a pas eu beaucoup de succès, du moins jusqu’à présent. Cela s’explique par son manque d’efficacité dû à la partie nulle dans la matrice mot de code et surtout à la complexité de son décodage.

2.5.3 ”Wrapped” ST code

Les codes ST ”Wrapped” (WST), ont été proposés dans [15]. Désormais, la construction de code LST ayant une longueur arbitraire et un petit délai d’intercalage entre les couches est possible en utilisant les codes WST. En effet, un seul codage est utilisé pour coder toute la trame de bits. Soit N2 la longueur de ce code. Les symboles codés sont transmis successivement par

chaque antenne émettrice (fig. 2.6). La longueur temporelle du mot de code WST est égale à

T = N2

nt +(nt−1)d. Ainsi on peut obtenir des codes longs indépendamment du délai d’intercalage.

Cette construction résout le problème de la longueur temporelle des codes D-BLAST, tout en conservant la même structure. Le code WST peut être décoder par l’algorithme OSIC.

1 3 6 9 12 15 11 14 4 7 10 13 8 2 5 nt d C

F. 2.6: Structure d’un mot de code ”Wrapped” ST

Cette construction englobe les codes ST en Treillis et les codes V-BLAST et D-BLAST. En effet, en notant C un code en Treillis, et en fixant d à zéro, le code WST obtenu est un code ST en Treillis. En prenant C = (C1× C2× · · · × Cnt) (produit cartésien des codes C1,C2, . . . ,Cnt), on

C 2. É  ’   E-T 41 retrouve les codes D-BLAST. Quand aux codes V-BLAST, ils sont obtenus en considérant une simple modulation QAM et un délai d’intercalage nul.