"Procédé pour décoder des codes espace-tem s linéaires dans un système de transmission sans fil multi-antennes , et décodeur mettant en œuvre un tel procédé. "
La présente invention se rapporte à un procédé pour décoder des codes espace-temps linéaires dans un système de transmission sans fil multi-antennes. Elle concerne également un décodeur mettant en œuvre ce procédé .
L'invention trouve une application particulièrement intéressante dans le domaine de la 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éseau sans fil locaux ou non. D'une manière plus précise, 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.
Les systèmes de communication sans fils actuels et à venir requièrent une grande qualité de transmission pour des débits en constante augmentation. En effet, ces systèmes ont pour objectif la mise en place de services incluant voie, données et vidéo de grande qualité .
Il existe de nombreuses contraintes liées à la propagation multi-chemins . Cette propagation multiple est due au faite qu'un signal radio atteint une antenne par plusieurs chemins via des réflexions sur l'ionosphère et sur des objets terrestres tels que des montagnes et des bâtiments par exemple. Les effets de cette propagation multiple sont des interférences constructives et destructives ainsi que des décalages de phases du signal émis. Pour élaborer un système de communication fiable et robuste, on utilise des techniques de diversités spatiales, temporelles et fréquentielles . La diversité spatiale consiste notamment en une disposition de plusieurs antennes à l'émission et/ou à la réception. Lorsqu'on y ajoute la diversité temporelle, on crée une
diversité spatio-temporelle nécessitant un codage spatio-temporel à l'émission ainsi qu'un décodage spatio-temporel à la réception. On sait que les codes espace-temps permettent d'augmenter les débits d'information transmis pour une qualité de service égale. Des codes spatio-temporels linéaires à grand rendement ont déjà été décodés par des algorithmes de décodage que l'on peut classer en deux familles : les algorithmes à annulation d' interférences tel BLAST ("Bell Laboratories Layered Space-Time" ) qui ont de mauvaises performances en terme de taux d' erreurs fonction du rapport signal à bruit. les algorithmes à maximum de vraisemblance qui sont optimaux en terme de performances, mais d'une grande complexité d' implantation tel que le décodeur par sphères . On connaît le document US 6 178 196 (SESHADRI et al) dans lequel est décrit un système multi-antennes combinant le décodage à annulation d' interférence avec le décodage à maximum de vraisemblance. Le système décrit a pour but d'isoler les signaux provenant d' une station donnée en supposant que les symboles des signaux émis par une autre station sont correctement déterminés lors d'une estimation préliminaire.
Un décodeur optimal pour les codes spatio-temporels linéaire à grand rendement a été trouvé par Da en, Ch eif et Belfiore [0. Damen, A. Chkeif and J.-C. Belfiore, "Lattice Code Décoder for Space-Time Codes," IEEE Communications Letters, May 2000]. Ses performances dépassaient ce que l'on pouvait avoir avec le décodeur "BLAST" [G. D. Golden, G. J. Foschini, R. A. Valenzuela, P. . olniansky, "Détection Algorithm and Initial Laboratory Results using the V-BLAST Space-Time Communication Architecture," IEE Electronics Letters, Jan. 7 1999]. Cependant, il souffre de trois problèmes étroitement liés à son implémentation :
1. Il est d'une complexité assez importante, ce qui rend son implémentation à grand débit très problématique, 2. Sa complexité dépend fortement du rayon de la sphère choisie. Le mot de code décodé doit en effet se trouver dans cette sphère si on veut que le décodage n'échoue pas, et de plus, il faut que dans cette même sphère, on ne trouve pas beaucoup d'autres mots
de code, car sinon, la complexité de décodage peut encore augmenter de façon très importante.
3. Finalement, la complexité de décodage dépend très fortement du rapport signal à bruit et le bon choix de la sphère aussi. Les algorithmes de choix de la sphère sont eux-mêmes assez complexes. On voit donc qu' il fallait trouver un autre algorithme de décodage qui ne souffre pas de ce genre de problèmes.
La présente invention a pour but l'élaboration d'un nouveau décodeur spatio-temporel linéaire réalisant un compromis entre la technique à annulation d' interférence et la technique à maximum de vraisemblance. L'invention vise des performances très proches de la technique à maximum de vraisemblance avec une implantation simplifiée par rapport à celle des algorithmes à annulation d' interférence. On atteint les objectifs précités avec un procédé itératif pour décoder un ensemble de N signaux échantillonnés dans un système de communication spatio-temporel à M antennes d'émission et N antennes de réception. Les N signaux sont traités par intervalles de temps T correspondant à la longueur temporelle du code spatio-temporel linéaire associé aux signaux d'émission. Dans chaque intervalle de temps T, les signaux échantillonnés reçus sont représentés sous forme d'une matrice signal Y.
peut être mis sous la forme Y = H X + (1) dans lequel X est le mot de code espace-temps émis et est représenté par une matrice rectangulaire à M lignes et T colonnes, H est la matrice du canal et est représentée par une matrice rectangulaire à N lignes et M colonnes, et enfin W est le bruit, représenté par une matrice rectangulaire à N lignes et T colonnes .
On voit donc que les changements de lignes correspondent à des changements d' antennes alors que les changement de colonnes correspondent à des changements d'instants d'échantillonnage. Dans ce modèle, les coefficients de la matrice X dépendent linéairement des symboles d'information à transmettre, c'est-à- dire que les coefficients de la matrice transmise, Xj_j avec i allant de 1 à M et j allant de 1 à T s'écrivent sous la forme
M T
%ϋ — / ,/ gijpq Spq p=\ q=\ avec 3pq étant les symboles d' information et gijPq étant des coefficients qui dépendent du code choisi. Ainsi, tout code espace temps linéaire, c'est-à-dire tel que les mots émis X ont leurs coefficients ij qui peuvent être mis sous la forme précédente, peut être décodé par le procédé selon l'invention.
On va maintenant décrire un modèle vectorisé sur lequel le procédé selon l'invention pourra être appliqué. Au lieu de travailler avec des matrices, on peut vectoriser l'expression du signal reçu dans l'équation (1) et écrire
Y = vec (Y) = H X + W (2)
Avec X = vec (X) = G S , G est de dimension (MT,MT)
H est une matrice (NT,MT) ayant sur la diagonale T fois la matrice H, les autres coefficients étant nuls.
L'équation (2) est alors équivalente à l'équation (1) et en constitue la version vectorisée. C'est sur cette version que le décodeur de l'invention s'appliquera. Il suffit maintenant de définir la matrice du canal étendu
H G
que l'on utilisera dans la suite, On peut donc réécrire la version vectorisée du signal reçu,
Y = C S + W
où Y est un vecteur colonne à NT composantes, C est une matrice NTxMT, S est le vecteur colonne des symboles à MT composantes et W est le vecteur colonne bruit à NT composantes.
Le procédé itératif de décodage selon la présente invention permet d'obtenir une estimation des symboles des signaux émis. Ce procédé s'applique en particulier pour N supérieur ou égal à M.
Selon l'invention, il comprend les étapes suivantes : - Pré-traitement du vecteur Y pour maximiser le rapport signal sur bruit+interférence de façon à obtenir un signal 7 e , soustraction du signal 7 e par un signal z£ au moyen d'un soustracteur, le signal ze étant obtenu par un posttraitement de reconstruction de l'interférence entre symboles à partir des symboles estimés lors de l'itération précédente, détection du signal généré par le soustracteur de façon à obtenir, pour l'itération en cours, l'estimation des symboles des signaux émis.
L'étape de pré-traitement peut être réalisée en opérant une multiplication matricielle entre le vecteur signal Y et une matrice B, la matrice B étant mise à jour à chaque itération.
L'étape de post-traitement peut également être réalisée en opérant une multiplication matricielle entre le vecteur des symboles estimés lors de l'itération précédente et une matrice D, la matrice D étant mise à jour à chaque itération.
Selon l'invention, pour chaque itération, un coefficient de corrélation normalisé p est calculé, la mise à jour d'une matrice étant obtenu en déterminant de nouveaux coefficients de la matrice en fonction du coefficient de corrélation obtenu pour l'itération précédente.
Suivant un mode de réalisation préféré de l'invention, les N signaux sont traités par intervalles de temps T correspondant à la longueur temporelle du code spatio-temporel linéaire associé aux signaux d'émission, et l'étape de pré-traitement fait intervenir la matrice B pour maximiser le rapport signal sur bruit+interférence dont la fonction de transfert est
l : indice d'itération; p : coefficient de corrélation normalisé entre les symboles réels et les symboles estimés; N
0 : variance du bruit; Es : énergie moyenne d'un symbole; C : matrice du canal étendu.
De même, l'étape de post-traitement peut faire intervenir une matrice D pour la reconstruction de l'interférence entre symboles dont la fonction de transfert est :
Avant la première itération, on a aucune information sur les symboles. La matrice B a pour rôle de maximiser le rapport signal/ (bruit + interférence). Le vecteur z est vide. Une représentation du vecteur des symboles S peut être telle que le k ième symbole est :
S
k (reçu) = S
k (émis) +
+ bruit
A la deuxième itération, la matrice B maximise toujours le rapport SINR. La matrice D va mimer l'interférence entre symbole, c'est à dire / j.,C (émis) lors de l'itération précédente au niveau du signal r sortant de la matrice B. Le soustracteur permet de retrancher cette interférence.
A la dernière itération, on suppose que les symboles sont correctement estimés, c'est à dire que D permet de reconstruire toute l'interférence, de sorte qu'on estime que :
Sk(reçu) = Sk(émis) + bruit
L'invention est un décodeur pouvant s'adapter aux codes espace-temps linéaires, quels qu'ils soient, c'est-à-dire qu'elle permet de décoder tout code tel que les séquences émises s'écrivent comme une combinaison linéaire des symboles d' information.
On peut remarquer que les matrices B et D dépendent du coefficient de corrélation qui est différent pour chaque itération. Selon une caractéristique avantageuse de l'invention, pour déterminer le coefficient de corrélation pe , à chaque itération:
- on calcule le rapport signal sur interférence SINR à l'entrée du détecteur à seuil en utilisant la formule suivante :
avec l'exponentiel intégrale 1 Y^/ I *
t «__≤_ ç=χχ
!t ζ -\- ; 9 NES
- on calcule la probabilité d'erreur symbole Pr, par exemple à l'entrée du détecteur à seuil, à partir du rapport signal sur interférence SINRe ; et on calcule alors le coefficient de corrélation ρc à partir de la probabilité d'erreur symbole Pr. Pour ce faire, on peut utiliser une formule conventionnelle donnant le coefficient de corrélation en fonction de la probabilité d'erreur symbole, cette formule dépendant de la modulation utilisée à l'émission.
On approxime ainsi de façon la plus précise possible le coefficient de corrélation p .
A la suite d'expérimentations, quatre itérations ont suffit pour obtenir de très bons résultats. Mais on peut aussi définir une valeur minimum (valeur seuil) du coefficient de corrélation pour laquelle on interromps les itérations. Ce coefficient est essentiellement fonction de H, qui peut être estimé de façon conventionnelle, et de la variance N0. Par conséquent, toutes les valeurs du coefficient de corrélation p, ainsi que les valeurs des matrices B et D (pour l'ensemble des itérations) peuvent être calculées avant la première itération. On peut donc les stocker
avant la première itération dans une mémoire de façon à les ressortir ensuite pour chaque itération. De préférence, on pose p° =0.
Par ailleurs, pour calculer la probabilité d'erreur symbole Pr, on peut supposer que le bruit total est gaussien et on peut utiliser la formule correspondant à la constellation d'une
modulation linéaire, par exemple pour le système
d'encodage BPSK ("Binary phase Shift Keying") ou bien utiliser des tables indiquant la probabilité d'erreur en fonction du rapport signal sur bruit. En effet, selon la complexité de la probabilité d' erreur par symbole il peut être intéressant de tabuler directement la formule .
Avantageusement, pour calculer le coefficient de corrélation pl à partir de la probabilité d'erreur symbole Pr, on peut supposer que lorsqu'il y a erreur, le détecteur à seuils détecte l'un des plus proches voisins du symbole émis.
A titre d'exemple, à l'itération finale, on peut introduire le signal sortant du soustracteur dans un décodeur à entrées souples . Suivant un mode de mise en œuvre préféré de l'invention, les symboles d'information peuvent être des éléments d'une constellation issue d'une modulation d'amplitude en quadrature MAQ, ou QAM en langue anglaise.
Suivant un autre aspect de l'invention, il est proposé un décodeur spatio-temporel pour décoder un vecteur signal Y obtenu à partir de N signaux échantillonnés dans un système de communication spatio-temporel à M antennes d'émission et N antennes de réception, avec N supérieur ou égal à M, en vue d'obtenir une estimation des symboles des signaux émis. Selon l'invention, ce décodeur comprend : un module de pré-traitement du vecteur Y pour maximiser le rapport signal sur bruit+interférence de façon à obtenir un signal r e , un soustracteur pour soustraire un signal z 1 du signal
un module de post-traitement pour la reconstruction de l'interférence entre symboles à partir des symboles estimés lors de l'itération précédente de façon à générer le signal z£ , un détecteur à seuil pour la détection du signal généré par le soustracteur de façon à obtenir, pour l'itération en cours, l'estimation des symboles des signaux émis.
Ces modules de pré-traitement et de post-traitement peuvent être des matrices, B et D, selon les formules indiquées précédemment . 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 œuvre nullement limitatif, et des dessins annexés sur lesquels :
La figure 1 est un schéma illustrant quelques éléments d'une chaîne de transmission au sein d'un émetteur et d'un récepteur, le décodeur spatio-temporel selon l'invention étant intégré dans le récepteur;
La figure 2 est un schéma général illustrant l'architecture du décodeur spatio-temporel selon l'invention; et - La figure 3 est un schéma bloc général du décodeur selon 1 ' invention.
Sur la figure 1 est représenté un émetteur 1 doté d'une pluralité d' antennes 7. L' émetteur 1 comprend notamment en amont des antennes, un codeur correcteur d'erreurs 3 suivi d'un codeur spatio-temporel linéaire 4. Selon une caractéristique avantageuse de l'invention, le décodeur selon l'invention est apte à s'appliquer à tout code espace-temps linéaire, c'est à dire des codes tels que les séquences émises s'écrivent comme une combinaison linéaire des symboles d'information. Les signaux émis par les antennes 7 sont captés par une pluralité d'antennes 8 au sein d'un récepteur 2. Les signaux reçus subissent un traitement au sein d'un décodeur spatio-temporel 5 selon l'invention de façon à estimer les symboles d'information des signaux émis. Le décodeur spatio-temporel 5 présente une sortie souple à laquelle est connecté un décodeur à entrée souple pour décoder des codes correcteurs d'erreurs tels que des codes convolutifs, turbo-codes, code de Reed-Solo on, ... ; le décodage
pouvant se faire par un algorithme de Viterbi, un algorithme MAP
(maximum a posteriori) ou LOG-MAP itéré,....
Sur la figure 2 est illustré un schéma général de l'architecture du décodeur spatio-temporel selon l'invention. Ce décodeur met en œuvre un procédé itératif permettant de déterminer les symboles d'information S à la suite d'une décision ferme générée par un détecteur à seuil 10. Toutefois, le décodeur spatiotemporel selon l'invention génère également des symboles d'information à la suite d'une décision souple apte à être injecté dans le décodeur 6 à entrées souples, le signal injecté étant le signal obtenu lors de la dernière itération. L'architecture du décodeur selon l'invention fait principalement intervenir deux modules B et D injectant leurs signaux de sortie dans un soustracteur 9. Le soustracteur 9 génère un vecteur de symbole d'information à la suite d'une décision souple, ces symboles étant ensuite détectés par le détecteur à seuil 10 afin d'obtenir des symboles estimés par décision ferme.
Les deux modules B et D représentent des produits matriciels de leurs signaux d'entrée par les matrices Bc et De, l'indice l traduisant l'itération en cours. Le module B reçoit en entrée le signal Y provenant des antennes 8. Le produit de la matrice BL par
Y est un signal r ' l auquel on soustrait le signal ze issu du produit matriciel de la matrice De par le signal Srl . Les matrices Bε et D6 sont telles que : en reprenant les notations de la figure 2, il vient alors : γt=βt.γ
En remarquant que dans la détection du symbole Si du vecteur s, la iιeιe composante de z£ ne doit pas être soustraite de r , on impose la contrainte suivante sur Dê :
c'est à dire une diagonale nulle pour ne pas retrancher le symbole utile.
Le détecteur génère la décision dure S à partir de S ce qui se traduit à l'itération l par :
= B1 -Y-D1 -s*-1 =B* {H* +w)-Di -s*'1
La première étape à mettre en œuvre dans le décodeur itéré consiste à déterminer les matrices Be et De telle que l'erreur quadratique moyenne à l'entrée du détecteur à seuil soit la plus petite possible. Elle est définie à l'itération 1 par la grandeur :
Minimiser l'expression suivante implique que B
£ et D
ε vérifient
dMSEι ι ,Dl) dMSE*(Be ,De)
0 dB dDl
La résolution de ces équations permet d' obtenir, à l' itération l en fonction de l' itération £-1 des matrices B£ et De suivantes :
À = diag (cH-Vi-C) où Es est l'énergie moyenne de la constellation MAQ et N0 est la variance du bruit.
La forme de la matrice De est intuitivement satisfaisante.
En effet, si se~l = s tel que Ps = * , alors la sortie de De reproduit la composante intersymbole pour chaque symbole Si, Vl≤i≤M - *-ι _ 1 D'une manière plus générale, x indique la confiance que l'on a dans la qualité de l'estimé s e~l . Si se~l n'est pas
fiable alors ni -λ L sera bas et par conséquent une pondération plus faible sera appliquée à l'estimateur de l'interférence inter symbole soustraite de r 1 . A contrario, si sl~ est un excellent estimé de s, alors ^-1—»let presque toute l'interférence inter symbole est soustraite de Ψ l . A remarquer également qu'au
premier passage £=1, Ps — Ps ~ et comme il n'y a pas d'estimé se l = s° encore disponible, Be est le filtre adapté.
Dans ces équations, ρe désigne la valeur, à l'itération £, de la corrélation entre les symboles détectés à l'itération £, s { et les symboles réellement émis. Cette corrélation est donc
où E
s est l'énergie moyenne d'un symbole On peut remarquer que les matrices B
e et D
e ont des rôles très différents :
La matrice B
e est une matrice de mise en forme du signal. A l'itération zéro, on constate que B
e est le décodeur linéaire qui minimise l'erreur quadratique moyenne. Lorsque la corrélation devient grande (tend vers 1) , le rôle de la matrice B
£ devient marginal.
Le rôle de la matrice D£ est de soustraire au symbole d'information courant l'interférence due aux autres symboles d'information. Son rôle est marginal à l'itération zéro, mais à mesure que la confiance sur les symboles détectés âe croît, son rôle devient déterminant.
On va maintenant décrire un moyen d'estimer le coefficient de corrélation.
Le calcul de la corrélation réclame le calcul du
rapport signal sur interférences à l'itération £, SINR
£. Ce rapport signal sur interférences ("Signal to Interférence Noise Ratio" en langue anglaise) est d'abord calculé en fonction de la corrélation à l'étape précédente £-1.
1. Calcul de SINRε On montre que :
avec l = N-Es = N ξl ζ ζ N0 M-N0
et £ 'Λ, y-r-t -dt , l'exponentielle intégrale.
2. Calcul de pe
Le calcul de pe se fait en plusieurs étapes
Poser p° =0 et £=1
b- Calculer le rapport signal sur interférences (+ bruit) à l'entrée du détecteur à seuil compte tenu de la formule :
c- Calculer la probabilité d'erreur symbole Pr à l'entrée du détecteur à seuil à partir du SINRe en supposant que le bruit total est gaussien et en utilisant la formule correspondant à la constellation, par exemple dans le cas d'une modulation de type m-PSK, on peut utiliser la formule suivante :
Ce calcul résulte d'une approximation à fort rapport signal à bruit pour les probabilités d' erreur symbole des modulation m-PSK associées à un détecteur à seuil symbole par symbole en présence d'un canal additif de type bruit blanc gaussien. Cette approximation est liée à la définition du modèle équivalent.
d- Calculer l'expression de pe à la sortie du soustracteur en supposant que lorsqu' il y a erreur, alors le détecteur à seuils détecte l'un des plus proches voisins du symbole émis. Dans le cas d' une m-PSK on obtient :
e- Incrémenter £ (£ = £+1) et retourner à l'étape b.
Comme on le voit sur la figure 2, l'architecture du décodeur selon l'invention fait apparaître des décisions souples à la sortie du soustracteur 9. Ces décisions sont exploitées à l'itération finale. Elles peuvent être injectées dans un décodeur à entrées souples 6.
En notant L l' itération finale , on peut approximer $ par l' équation suivante :
S K S + bruit
Avec K constante > 0 connue, S le vecteur colonne des symboles à MT composantes .
Si le décodeur à entrées souples ou pondérées est un algorithme de Viterbi, il n'aura qu'à minimiser la distance euclidienne entre g et KS sur tous les mots du code correcteurs d' erreurs .
Sur la figure 3 est représenté un schéma bloc général du décodeur selon l'invention. Le module de décodage 11 comprend les éléments B, D, 9 et 10 de la figure 2. On retrouve en effet le vecteur Y en entrée, et une sortie souple g (sortie du soustracteur 9) ainsi que la sortie s e (sortie du détecteur à seuil 10) . On distingue un module 12 de calcule des coefficients des matrices B et D. Ce module 12 permet de calculer, à chaque itération ou de façon global avant le début des itérations, le coefficient de corrélation et les coefficients b£ et d£ des matrices B et D. Ce module 12 reçoit en entrée la matrice H (estimation du canal de transmission) et la variance N0. Il peut générer en sortie le coefficient de corrélation que l'on peut utiliser pour interrompre les itérations ou pour toute autre utilisation.
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 sans sortir du cadre de l'invention.