Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR DECODING A SIGNAL SUBJECTED TO A SPACE/TIME ENCODING AND CORRESPONDING DECODING DEVICE
Document Type and Number:
WIPO Patent Application WO/2010/026093
Kind Code:
A1
Abstract:
The invention relates to a method for decoding a signal received on at least two reception antennas, wherein said signal has been subjected before transmission to a space/time encoding using a code built on a switching algebra over a field and is transmitted on at least two transmission antennas. According to the invention, the method comprises: - a step of pre-processing (21) said received signal (Y) that comprises the following sub-steps: determining a matrix representative of the transmission channel (H); standardising said matrix representative of the transmission channel and of the received signal; approximating in an algebraic manner said standardised channel matrix from a matrix (U) selected in said algebra and having a determinant equal to 1; - and the step of space/time decoding (22) the normalised received signal (Y 1) using the algebraic approximation of said standardised channel matrix.

Inventors:
REKAYA-BEN OTHMAN GHAYA (FR)
BELFIORE JEAN-CLAUDE (FR)
LUZZI LAURA (FR)
Application Number:
PCT/EP2009/061018
Publication Date:
March 11, 2010
Filing Date:
August 26, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GROUPE ECOLES TELECOMM (FR)
REKAYA-BEN OTHMAN GHAYA (FR)
BELFIORE JEAN-CLAUDE (FR)
LUZZI LAURA (FR)
International Classes:
H04L25/02
Other References:
GRAELL I AMATT A ET AL: "Space-time trellis codes for correlated channels", SIGNAL PROCESSING AND INFORMATION TECHNOLOGY, 2003. ISSPIT 2003. PROCE EDINGS OF THE 3RD IEEE INTERNATIONAL SYMPOSIUM ON DARMSTADT, GERMANY 14-17 DEC. 2003, PISCATAWAY, NJ, USA,IEEE, 14 December 2003 (2003-12-14), pages 78 - 81, XP010729098, ISBN: 978-0-7803-8292-3
Attorney, Agent or Firm:
BIORET, Ludovic (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de décodage d'un signal reçu sur au moins deux antennes de réception, ledit signal ayant subi avant émission un codage espace/temps à l'aide d'un code construit à partir d'une algèbre sur un corps commutatif K et étant émis sur au moins deux antennes d'émission, caractérisé en ce qu'il met en œuvre :

- une étape de prétraitement (21) dudit signal reçu (F) comprenant les sous-étapes suivantes : o détermination d'une matrice représentative du canal de transmission (H) ; o normalisation de ladite matrice représentative du canal de transmission et dudit signal reçu, délivrant respectivement une matrice de canal normalisée (H1) et un signal reçu normalisé (F1) ; o approximation algébrique de ladite matrice de canal normalisée, à partir d'une matrice (U) sélectionnée dans ladite algèbre et présentant un déterminant égal à

1 ; - une étape de décodage espace/temps (22) dudit signal reçu normalisé (F1), à l'aide de l'approximation algébrique de ladite matrice de canal normalisée.

2. Procédé de décodage selon la revendication 1, caractérisé en ce que ladite matrice sélectionnée est une unité U d'un ordre de ladite algèbre, et en ce que ladite étape d'approximation algébrique pondère ladite unité par une erreur d'approximation E, telle que : H1 = EU .

3. Procédé de décodage selon la revendication 2, caractérisé en ce que ledit ordre est un ordre maximal de ladite algèbre.

4. Procédé de décodage selon l'une quelconque des revendications 2 et 3, caractérisé en ce que ladite étape d'approximation algébrique sélectionne l'unité U de façon que ladite erreur d'approximation E soit quasi-orthogonale.

5. Procédé de décodage selon l'une quelconque des revendications 2 à 4, caractérisé en ce que, ledit signal normalisé s 'écrivant sous la forme F1 = H1X + W1 avec X un mot de code émis et W1 un bruit blanc additif gaussien normalisé, ledit signal normalisé, après approximation algébrique de ladite matrice de canal normalisée, s'exprime sous la forme suivante: Y1 = EUX + W1 avec UX un mot de code.

6. Procédé de décodage selon l'une quelconque des revendications 2 à 5, caractérisé en ce qu'il comprend une étape de transformation dudit signal reçu normalisé F1 sous forme vectorielle, telle que : y1 = Ji1Os + W1 avec :

- y1 le signal reçu normalisé sous forme vectorielle ;

- Ji1 la matrice de canal normalisée sous forme vectorielle ; - s un vecteur de symboles d'information ;

- Φ une matrice de codage espace/temps ;

- W1 un bruit blanc additif gaussien sous forme vectorielle.

7. Procédé de décodage selon la revendication 6, caractérisé en ce que ladite matrice de canal normalisée, sous forme vectorielle, multipliée par la matrice de codage espace/temps est égale à :

1I1O = E/U/Φ = E/ΦTjy avec :

- E/ une transformation linéaire correspondant à une multiplication à gauche par ladite erreur d'approximation E ; - U; une transformation linéaire correspondant à une multiplication à gauche par ladite unité U ;

- Tj7 une matrice unimodulaire ; et en ce que ledit signal reçu normalisé F1, sous forme vectorielle, est égal à : y1 = E;ΦruS + W1 = E;Φs' + W1 , avec s' un vecteur de symboles.

8. Procédé de décodage selon l'une quelconque des revendications 1 à 7, caractérisé en ce que ledit code espace/temps est construit à partir d'une algèbre à division.

9. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre des étapes du procédé de décodage selon l'une au moins des revendications 1 à 8, lorsque ledit programme est exécuté sur un ordinateur.

10. Dispositif de décodage d'un signal reçu sur au moins deux antennes de réception, ledit signal ayant subi avant émission un codage espace/temps à l'aide d'un code construit à partir d'une algèbre sur un corps commutatif K et étant émis sur au moins deux antennes d'émission, caractérisé en ce qu'il comprend : - des moyens de prétraitement (21) dudit signal reçu comprenant : o des moyens de détermination d'une matrice représentative du canal de transmission ; o des moyens de normalisation de ladite matrice représentative du canal de transmission et dudit signal reçu, délivrant respectivement une matrice de canal normalisée (H1) et un signal reçu normalisé (F1) ; o des moyens d'approximation algébrique de ladite matrice de canal normalisée, à partir d'une matrice (U) sélectionnée dans ladite algèbre et présentant un déterminant égal à 1 ; des moyens de décodage espace/temps (22) dudit signal reçu normalisé, à l'aide de l'approximation algébrique de ladite matrice de canal normalisée.

Description:
PROCEDE DE DECODAGE D ' UN SIGNAL AYANT SUBI UN CODAGE ESPACE/TEMPS ET

DISPOSITIF DE DECODAGE CORRESPONDANT

1. Domaine de l'invention Le domaine de l'invention est celui des communications sans fil.

Plus précisément, l'invention concerne la réception de signaux dans le cadre de systèmes MIMO (en anglais « Multiple-Input Multiple-Output », en français « Entrées Multiples Sorties Multiples »), mettant en œuvre plusieurs antennes d'émission et plusieurs antennes de réception, et ayant subi un codage espace/temps avant émission. L'invention trouve notamment des applications dans le domaine des radiocommunications mobiles.

2. Art antérieur

Les techniques de transmission dans des systèmes multi-antennaires présentent plusieurs avantages, et offrent par exemple des possibilités de transmission à haut débit avec une bonne fiabilité.

En particulier, ces techniques permettent d'atteindre une capacité de transmission accrue en augmentant l'efficacité spectrale, notamment grâce à l'utilisation de codes espace/temps en émission.

Les codes espace/temps utilisés en émission permettent en effet de répartir les symboles modulés sur les différents degrés de liberté du canal (en espace sur les antennes et en temps). Par exemple, ces codes espace/temps peuvent être construits en utilisant une construction algébrique, garantissant que ces codes soient : de rendement plein, de diversité maximale, atteignant la capacité du canal et ayant un déterminant minimal ne s 'évanouissant pas lorsque l'efficacité spectrale augmente. Le décodage de tels codes espace/temps algébriques est alors mis en œuvre en utilisant une représentation en réseaux de points de ces codes.

On présente par exemple, en relation avec la figure 1, une chaîne de transmission mettant en œuvre des codes espace/temps en émission dans un contexte de transmission de type MIMO mettant en œuvre n t antennes d'émission et n r antennes de réception. Côté émission, un signal binaire 10 à émettre (éventuellement codé selon une technique de codage source et/ou codage canal) est modulé dans un bloc de modulation 11, destiné à convertir des éléments binaires en symboles complexes : un tel bloc associe ainsi à un groupe de bits un symbole complexe appartenant à une constellation (de type QAM par exemple). On procède ensuite à un codage spatio-temporel 12 de chaque groupe de K symboles sous la forme d'une matrice, encore appelée mot de code X. Les éléments de la matrice mot de code X sont ensuite émis sur les n t antennes d'émission IS 1 à 13 n .

Le signal est ensuite véhiculé à travers un canal de transmission, puis reçu sur les n r antennes de réception 14 γ à IA n . Chaque antenne de réception reçoit une combinaison linéaire des signaux émis sur chacune des n t antennes d'émission.

Classiquement, on note :

1 Hf Xt ~ n Hf XHf Hf Xt " * " YV H r Xt avec :

- F le signal reçu sur les n τ antennes de réception ; - X le signal (ou mot de code) émis sur les n t antennes d'émission ;

- H la matrice représentative du canal de transmission ;

- W la matrice représentative d'un bruit additif blanc gaussien ; et

- t la longueur temporelle du code espace/temps.

Le signal reçu est tout d'abord décodé dans un bloc de décodage spatio-temporel 15, mettant en œuvre un traitement inverse au codage espace/temps mis en œuvre en émission.

Pour le décodage, on peut utiliser une représentation du signal reçu en réseau de points, notamment si les codes espace/temps utilisés en émission sont construits en utilisant une technique de codage espace/temps algébrique. On rappelle en effet que la représentation en réseaux de points des codes espace/temps permet leur décodage par des décodeurs de réseaux de points.

Ces décodeurs permettent un décodage optimal au sens ML ou sous-optimal, selon la technique employée. Ainsi, les algorithmes de décodage de type décodage par sphères, Schnorr- Euchner, séquentiels (de type Fano ou à pile par exemple), etc, permettent un décodage optimal au sens du maximum de vraisemblance (ou ML, en anglais « Maximum Likelihood »). Les algorithmes de décodage linéaire (ZF ou « Zero-Forcing », MMSE ou « Minimum Mean Square Error », etc) ou non linéaire (décodage à retour de décision : ZF-DFE ou « Zero-Forcing - Décision Feedback Equalization », MMSE-DFE ou « Minimum Mean Square Error - Décision Feedback Equalization », etc) permettent un décodage sous-optimal.

Le signal en sortie du bloc de décodage espace/ temps 15 alimente ensuite un bloc de démodulation 16, délivrant un signal binaire estimé 17.

Comme indiqué précédemment, pour pouvoir accroître le débit de transmission, on augmente le nombre d'antennes d'émission et/ou de réception dans les systèmes MIMO.

Malheureusement, l'augmentation du nombre d'antennes conduit à une augmentation de la dimension du réseau de points associé, rendant le décodage des signaux particulièrement complexe.

La complexité des décodeurs optimaux au sens ML rend pratiquement impossible leur implantation dans des terminaux mobiles, pour des réseaux de points de grandes dimensions. On rappelle en effet qu'un mot de code d'un code espace/temps transmis sur n t antennes d'émission et reçu sur n r antennes de réception est représenté par un réseau de points de dimension réelle

2n r t (ou 2n t si n t = n r = t ).

Les décodeurs sous-optimaux sont moins complexes, mais présentent des performances moyennes. De plus, ces décodeurs ne permettent pas l'obtention de la diversité maximale n t • n r apportée par le système MIMO. II existe donc un réel besoin pour une nouvelle technique de décodage des signaux dans les systèmes mettant en œuvre plusieurs antennes d'émission et de réception, présentant une complexité réduite et/ou permettant de conserver l'ordre de diversité du système de transmission. En d'autres termes, il existe un réel besoin pour un décodeur offrant un bon compromis entre la complexité et les performances. 3. Exposé de l'invention

L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un procédé de décodage d'un signal reçu sur au moins deux antennes de réception, ledit signal ayant subi avant émission un codage espace/temps à l'aide d'un code construit à partir d'une algèbre sur un corps commutatif K, et étant émis sur au moins deux antennes d'émission.

Selon l'invention, un tel procédé met en œuvre :

- une étape de prétraitement du signal reçu comprenant les sous-étapes suivantes : o détermination d'une matrice représentative du canal de transmission ; o normalisation de la matrice représentative du canal de transmission et du signal reçu, délivrant respectivement une matrice de canal normalisée et un signal reçu normalisé ; o approximation algébrique de ladite matrice de canal normalisée, à partir d'une matrice (U) sélectionnée dans ladite algèbre et présentant un déterminant égal à

1 ; - une étape de décodage espace/temps du signal reçu normalisé, à l'aide de l'approximation algébrique de la matrice de canal normalisée.

Ainsi, l'invention propose une technique nouvelle et inventive pour le décodage d'un signal codé espace/temps dans un système MIMO mettant en œuvre une pluralité d'antennes d'émission et de réception. Pour ce faire, on applique un prétraitement algébrique au signal reçu, consistant à absorber une partie de la matrice de canal normalisée par le code espace/temps algébrique. De cette façon, la partie restante de la matrice du canal de transmission, qui définit la base du réseau de points utilisé pour le décodage, est quasi-orthogonale. On rappelle à cet effet que les outils algébriques n'ont, jusqu'à présent, été utilisés que pour construire des codes espace/temps. La structure algébrique de ces codes n'a jamais été exploitée pour le décodage, ce qui constitue un aspect innovant de l'invention.

Plus précisément, on cherche selon l'invention à approximer la matrice représentative du canal de transmission normalisée. Par exemple, en supposant que la matrice H représentative du canal de transmission présente un déterminant différent de zéro, on cherche à approximer la matrice de canal normalisée H 1 telle que H 1 = (det(H)) n H , avec H 1 G SL n (C) , en utilisant une matrice de l'algèbre sur le corps commutatif K.

On sélectionne ainsi une matrice de l'algèbre, et on approxime la matrice de canal normalisée à partir de la matrice de l'algèbre sélectionnée.

Le signal normalisé reçu peut alors être décodé à l'aide de l'approximation de la matrice de canal normalisée H 1 , en utilisant une technique de décodage classique qui peut être sous- optimale (de type linéaire ou non linéaire) ou optimale au sens du maximum de vraisemblance (ML). En particulier, selon l'invention, une technique de décodage qui serait sous-optimale si elle était appliquée directement au signal reçu devient quasi-optimale lorsqu'elle est appliquée au signal reçu normalisé exprimé à partir de l'approximation de la matrice de canal normalisée. Il est ainsi possible, selon l'invention, d'obtenir de bonnes performances tout en conservant une complexité réduite, puisque les techniques de décodage sous-optimales présentent une complexité réduite.

L'invention permet également d'accélérer la mise en œuvre du décodage en en simplifiant la complexité si une technique de décodage optimale au sens ML est mise en œuvre.

Selon un mode de réalisation particulier de l'invention, la matrice sélectionnée est une unité [/ d'un ordre de l'algèbre (noté O), et l'étape d'approximation algébrique pondère l'unité U par une erreur d'approximation E, telle que :

H 1 = EU .

Dans ce cas, l'ordre O est l'ordre utilisé pour construire le code espace/temps. En d'autres termes, l'unité U sélectionnée est pondérée par une erreur d'approximation E pour approximer la matrice de canal normalisée H 1 . Du fait que U est une unité de l'ordre O, U est inversible dans O.

En particulier, ledit ordre peut être un ordre maximal de l'algèbre.

Par exemple, l'algèbre est à division et le code espace/temps est de la forme ( Oa ), avec a un élément de l'algèbre et O un ordre maximal de l'algèbre (plusieurs ordres maximaux pouvant exister).

Selon un autre aspect de l'invention, l'étape d'approximation algébrique sélectionne l'unité U de façon que l'erreur d'approximation E soit quasi-orthogonale.

De cette façon, l'invention permet d'absorber une partie de la matrice de canal normalisée (correspondant à l'unité U) par le code espace/temps, et d'obtenir une base du réseau de points utilisée pour le décodage quasi-orthogonale (correspondant à l'erreur d'approximation E).

Selon encore un autre aspect de l'invention, le signal normalisé s'écrit sous la forme F 1 = HγX + W 1 , avec X un mot de code émis et W 1 un bruit blanc additif gaussien normalisé. Après approximation algébrique de la matrice de canal normalisée, le signal normalisé peut s'écrire sous la forme F 1 = EUX + W 1 , avec UX un mot de code.

On travaille donc directement sur la forme matricielle (et non vectorielle) du signal reçu normalisé pour déterminer une approximation de la matrice de canal normalisée.

Selon un mode de réalisation particulier de l'invention, le procédé de décodage comprend une étape de transformation du signal reçu normalisé F 1 sous forme vectorielle, telle que : y 1 = Ji 1 Os + W 1 avec :

- y 1 le signal reçu normalisé sous forme vectorielle ;

- h 1 la matrice de canal normalisée sous forme vectorielle ;

- s le vecteur de symboles d'information ; - Φ une matrice de codage espace/temps, encore appelée matrice génératrice du code espace/temps ;

- W 1 le bruit blanc additif gaussien sous forme vectorielle.

La vectorisation est donc mise en œuvre après l'approximation de la matrice de canal normalisée. En particulier, la matrice génératrice du réseau de points, correspondant à la matrice de canal normalisée sous forme vectorielle multipliée par la matrice de codage espace/temps, est égale à : h x Φ = E Z U Z Φ = E 1 OT 1J avec : - E; une transformation linéaire correspondant à une multiplication à gauche par ladite erreur d'approximation E ;

- U; une transformation linéaire correspondant à une multiplication à gauche par ladite unité U ; - Tu une matrice unimodulaire.

Selon l'invention, on entend par matrice unimodulaire une matrice dont les éléments sont dans l'anneau des entiers R du corps commutatif K, encore appelé corps de base, et dont le déterminant est inversible dans ledit anneau des entiers R.

Le signal reçu normalisé F 1 , sous forme vectorielle, peut s'écrire sous la forme suivante : y : = E / OT^s + W 1 = E / Os' + W 1 , avec s' un vecteur de symboles.

Avantageusement, le code espace/temps est construit à partir d'une algèbre à division, éventuellement cyclique. Il s'agit par exemple d'un code parfait comme un code d'or, ou d'un code quasi-parfait. L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions de code de programme pour la mise en oeuvre des étapes du procédé de décodage décrit précédemment, lorsque le programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un dispositif de décodage d'un signal reçu sur au moins deux antennes de réception, ledit signal ayant subi avant émission un codage espace/temps à l'aide d'un code construit à partir d'une algèbre sur un corps commutatif K et étant émis sur au moins deux antennes d'émission.

Selon l'invention, un tel dispositif comprend : - des moyens de prétraitement du signal reçu comprenant : o des moyens de détermination d'une matrice représentative du canal de transmission ; o des moyens de normalisation de la matrice représentative du canal de transmission et du signal reçu, délivrant respectivement une matrice de canal normalisée et un signal reçu normalisé ; o des moyens d'approximation algébrique de ladite matrice de canal normalisée, à partir d'une matrice (U) sélectionnée dans ladite algèbre et présentant un déterminant égal à 1 ; - des moyens de décodage espace/temps du signal reçu normalisé, à l'aide de l'approximation algébrique de la matrice de canal normalisée.

Un tel dispositif de décodage est notamment adapté à mettre en œuvre le procédé de décodage décrit précédemment. Il peut être intégré dans un récepteur d'un système MIMO, comprenant au moins deux antennes de réception, pour des applications de type Wifi (IEEE 802.1 In), WiMax mobile (IEEE 802.16e), WiMax coopératif (IEE 802.16j), 3GPP-LTE, etc.

Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de décodage selon l'invention. 4. Liste des figures

D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante du principe général de l'invention et d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 illustre une chaîne de transmission MIMO mettant en œuvre un codage espace/temps ; - la figure 2 présente les principales étapes du procédé de décodage selon l'invention ; la figure 3 illustre les performances de l'invention, appliquée au code d'or (en anglais « Golden Code ») ; la figure 4 présente la structure d'un dispositif de décodage selon un mode de réalisation particulier de l'invention. 5. Description d'un mode de réalisation de l'invention

5.1 Définitions

On présente ci-après la terminologie utilisée dans ce document. Il s'agit du vocabulaire classique, bien connu de l'Homme du Métier.

A) Algèbre : Soit K un corps commutatif. On appelle algèbre A sur le corps K un ensemble muni des opérations binaires suivantes : une opération d'addition « + » de AxA dans A ; une opération de multiplication interne « x » de AxA dans A ; une opération de multiplication par scalaires « . » de KxA dans A ; telles que :

1. (A, +, .) est un espace vectoriel sur K ;

2. (A, x) est un anneau;

3.(λa)b = a(λb) = λ(ab) VA e K , Vα,£ e A .

La multiplication dans l'algèbre A n'est pas nécessairement commutative. Les éléments de l'algèbre A peuvent être représentés sous forme matricielle.

B) Algèbre à division :

Une ^-algèbre A est appelée algèbre à division si tout élément non nul de A possède un inverse par rapport à l'opération de multiplication interne « x ».

C) Algèbre cyclique :

Soit L un corps d'extension de K de degré n tel que son groupe de Galois G = GaI(L I K) est cyclique avec un générateur σ. Soit γ G K un élément non nul. On considère l'algèbre non commutative notée A = (L / K,σ,γ) définie par :

A = L @ eL @ ... @ e n~l L tel que e satisfait : e n = γ , xe = eσ(x) Vx e L

A est appelée algèbre cyclique, et n est l'indice de l'algèbre.

Un élément a = X Q + exγ + ... + e n~ x n - \ G A , avec x o ,...,x n _ι G L , peut être représenté par la matrice n X n suivante :

κ Si n = 2 , l'algèbre cyclique est appelée algèbre de quaternions. Par exemple, le code d'or (« Golden Code ») est basé sur une algèbre cyclique à division d'indice n = 2 . Le corps K = <Q(i) , et son extension L = <Q(i,θ) , où θ = et σ : i i-4 x est tel que σ(θ) = θ = l - θ , et σ laisse les éléments de Q(i) invariants. L'élément γ est égal à /. L'élément e est avec j .2 = i .

On peut alors écrire :

A = (Q(i,θ) I Q(O, σ,/) = Q(/,<9) θ jQ(i,θ) Un élément de A peut être représenté par une matrice sous la forme suivante :

QL Ordres et idéaux :

Soit A une K- algèbre, et soit R l'anneau des entiers de K. Un idéal de A est un i?-module à engendrement fini contenu dans A tel que KI = A , où :

KI = G K,x t G I, m e N L

Un ordre O de A est un idéal qui est un sous-anneau de A avec le même élément unitaire. Un ordre maximal est un ordre qui n'est contenu dans aucun autre ordre de A.

E) Unité :

Une unité d'un ordre O est un élément inversible U G O tel que son inverse U ~ par rapport à la multiplication « x » dans A appartient également à l'ordre O.

Par exemple, dans le cas du code d'or, un ordre maximal de A est : O peut s'écrire O = Z[i,θ] ® Z[i,θ]j .

Le code d'or est une version normalisée avec constante de normalisation égale à 1 / v5 d'un idéal bilatère Oa = aθ avec a = 1 + iθ . Chaque mot de code X généré de cette façon prend la forme suivante : avec xγ = s \ + S 2 Θ , X 2 = S 3 + s 4 θ , et les symboles s \ , S 2 , Sj, S 4 G Z[Z] . 5.2 Description d'un mode de réalisation A) Principe général

L'invention concerne le décodage d'un signal reçu, transmis dans un système MIMO mettant en œuvre au moins deux antennes d'émission et au moins deux antennes de réception. Avant émission, le signal a subi un codage espace/temps à l'aide d'un code construit à partir d'une algèbre sur un corps commutatif K, encore appelé corps de base. Par exemple, le codage espace/temps algébrique mis en œuvre en émission utilise une algèbre à division. Ainsi, les codes espace/temps utilisés peuvent être des codes parfaits, comme le code d'or, ou des codes quasi-parfaits. D'autres codes peuvent également être utilisés, du moment qu'ils sont construits à partir d'une algèbre sur un corps commutatif.

Le principe général de l'invention repose sur la mise en œuvre d'un prétraitement du signal reçu permettant de faciliter le décodage de ce signal.

Plus précisément, le prétraitement mis en œuvre permet de déterminer une approximation algébrique de la matrice représentative du canal de transmission, sous forme normalisée, à l'aide d'une matrice sélectionnée dans l'algèbre utilisée pour construire le code espace/temps. Par exemple, la matrice sélectionnée est une unité U d'un ordre quelconque ou d'un ordre maximal de l'algèbre, correspondant à l'ordre utilisé pour construire le code espace/temps, et l'approximation de la matrice de canal normalisée H 1 correspond à cette unité pondérée par une erreur d'approximation E : H 1 = EU .

La matrice sélectionnée dans l'algèbre est notamment choisie de façon que l'erreur d'approximation E soit quasi-orthogonale.

De cette façon, une partie de la matrice de canal normalisée (correspondant à la matrice U sélectionnée dans l'algèbre) est absorbée par le code algébrique, puisque la matrice U appartient à l'ordre de l'algèbre utilisé pour le code espace/temps, et donc UX est un mot de code.

Le reste de la matrice de canal normalisée (correspondant à l'erreur d'approximation E) est une matrice quasi-orthogonale, définissant la base du réseau de points utilisé pour le décodage. On rappelle en effet que la représentation en réseaux de points des codes espace/temps permet leur décodage par des décodeurs de réseaux de points. On peut donc considérer que l'invention permet de réduire le réseau de points du système de transmission, en réception, puisque la base du réseau de points utilisé pour le décodage est construite à partir de la matrice E correspondant à l'erreur d'approximation, et non à partir de la matrice de canal. Cette réduction, effectuée en utilisant les propriétés de l'algèbre, permet ainsi d'accélérer le décodage du réseau de points.

On présente désormais, en relation avec la figure 2, les principales étapes mises en œuvre pour le décodage du signal reçu Y n x t , avec n r ≥ 2 , émis par au moins deux antennes d'émission et ayant subi avant émission un codage espace/temps à l'aide d'un code construit à partir d'une algèbre sur un corps commutatif K. La technique selon l'invention peut notamment être mise en œuvre dans le bloc de décodage spatio-temporel 15 de la figure 1.

Plus précisément, au cours d'une première étape 21, le procédé selon l'invention met en œuvre une étape de prétraitement du signal reçu Y n xt . Ce prétraitement à droite utilise, en réception, les outils algébriques pour déterminer une approximation de la matrice de canal normalisée.

Plus précisément, l'étape de prétraitement du signal reçu comprend les sous-étapes suivantes :

- détermination d'une matrice H représentative du canal de transmission ; - normalisation de la matrice représentative du canal de transmission et du signal reçu, délivrant respectivement une matrice de canal normalisée H 1 et un signal reçu normalisé F 1 ;

- approximation de ladite matrice de canal normalisée, à partir d'une matrice (U) sélectionnée dans ladite algèbre et présentant un déterminant égal à 1. On approxime de cette façon la matrice de canal normalisée en utilisant une matrice de l'algèbre du code espace/temps de déterminant égal à 1. Une grande partie de la matrice de canal normalisée (et donc du canal de transmission) peut alors être absorbée par le code espace/temps algébrique. Au cours d'une deuxième étape 22, on applique un décodage espace/temps au signal reçu normalisé, à l'aide de l'approximation de la matrice de canal normalisée. Cette étape de décodage espace/temps permet d'estimer le vecteur de symboles d'information du signal émis, noté s .

On note par ailleurs que le procédé selon l'invention peut être mis en œuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle.

B) Description détaillée

On décrit ci- après plus en détail la mise en œuvre de l'étape de prétraitement du signal reçu. On utilise pour ce faire l'algèbre du code espace/temps utilisé en émission, et, par exemple, les unités d'un ordre de cette algèbre. En se référant de nouveau à la figure 1, on propose selon l'invention d'approximer la matrice de canal H, après normalisation, par un élément d'un ordre de l'algèbre. De cette façon, on peut considérer qu'une partie du canal est absorbée par le code.

Le signal reçu s'exprime :

* H r Xt = -" H f XHf ^Hf Xt + ^H f Xt avec : X le signal émis sur les n t antennes d'émission ;

H la matrice représentative du canal de transmission ; W la matrice représentative d'un bruit additif blanc gaussien ; et t la longueur temporelle du code espace/temps.

On considère par exemple que le mot de code X appartient à une algèbre à division. En d'autres termes, le code espace/temps considéré est un sous-ensemble de Oa , avec O un ordre de l'algèbre. Par exemple, un tel code est un code Parfait, tel que décrit dans le document

« Perfect space-time codes for any number of antennas » (P. Elia et al., IEEE Transactions on information theory, vol. 53, n°ll, novembre 2007).

On considère le cas n t = n r = t . On omet donc les indices dans les équations suivantes. On considère selon le modèle de transmission que la matrice représentative du canal de transmission H a un déterminant différent de zéro avec une probabilité égale à 1. Après normalisation du système de transmission, on peut donc écrire : H 1 = (det(H)) ~1/w H , avec H 1 e SL n (C) . Le signal reçu normalisé F 1 peut alors s'écrire : Y 1 = H 1 X + W 1 = (det(H)) "1/w HX + W 1 et on cherche à approximer la matrice de canal normalisée H 1 à partir d'une matrice de l'ordre de l'algèbre utilisé pour construire le code espace/temps.

C) Approximation parfaite On suppose tout d'abord que l'on peut sélectionner une matrice U dans l'ordre O de l'algèbre présentant un déterminant égal à 1, telle que H 1 = U . Ce cas correspond à une approximation parfaite de la matrice de canal normalisée. Le signal reçu normalisé peut alors s'écrire :

Y 1 = UX + W 1 où UX est toujours un mot de code. U est une unité de l'ordre O de l'algèbre.

En d'autres termes, puisque U est une unité de l'ordre O de l'algèbre, alors U est inversible en O, et on a :

On vectorise alors le signal reçu normalisé, exprimé en fonction de l'approximation de la matrice de canal normalisée.

Pour ce faire, on applique une fonction φ permettant de transformer des matrices sous

2 forme vectorielle. Par exemple, pour φ : M n (C) — > C n , on a :

φ : (m n ,...,m nl ,m 12 ,...,m n2 ,...m ln ,...,m nn )

Après vectorisation, le signal reçu normalisé, sous forme vectorielle, peut s'écrire sous la forme suivante :

Y 1 = h : Φs + W 1 = £/ / Φs + W 1 où :

- yι = Φ ( Xύ ;

- W 1 = ^(W 1 ) ; - Φs = φ(X) ;

- U; est la transformation linéaire correspondant à une multiplication à gauche par l'unité U ;

- Φ est une matrice génératrice du code, encore appelée matrice de codage espace/temps ; - s est un vecteur de symboles d'information qui peuvent être par exemple issus d'une modulation d'amplitude en quadrature (QAM).

Plus précisément, la matrice Φ génératrice du code est une matrice dont les colonnes sont les vecteurs w v - pour / allant de 1 à n , qui forment une base du réseau de points de dimension complexe n .

Par exemple, on considère w, ,...,w 2 r une base de Oa . Chaque mot de code X peut

L n J s'écrire dans cette base :

*=Σ S(Wi avec S = Ls 1 ,..., s 2 e R n i=\ avec R l'anneau des entiers du corps de base K, et la matrice génératrice Φ est formée des colonnes suivantes : φ(w ι ),...,φ(w 2 )

Le mot de code X vectorisé peut alors s'exprimer sous la forme suivante : n 2 χ = φ(X) = ∑ Si φ( Wi ) = Φs i=\ De plus, comme U est une unité de O, on a U / Φ = ΦTy , avec T j7 une matrice unimodulaire, c'est-à-dire une matrice à éléments dans l'anneau des entiers R du corps de base K, et dont le déterminant est inversible dans l'anneau des entiers R.

En effet, comme U est une unité de O, yJwγ,...,Uw 2 | est encore une base de Oa. Le mot de code X peut s'écrire dans cette nouvelle base:

2 X = ^s) [Uw 1 ) avec s' ≈ f s 1 ! ,...,* 1 2 ) e i?" i=\

Sous forme vectorisée, ce mot de code peut également s'écrire :

Φ(X) υ t Φs' i=\ i=\ i=\

On a donc Φs = U;Φs' .

La matrice T f7 = Φ ~ U;Φ est la matrice de changement de base entre les bases w,,...,w 2 et \ Uwi ,...,Uw 2 \ • En particulier, puisque Tr 7 envoie chaque vecteur à L n J L n i coordonnées dans R dans un autre vecteur à coordonnées dans R, et det(T ( y) = det(U;) = det(t/) = 1 , T^ 7 est unimodulaire.

En revenant à l'expression du signal reçu normalisé sous forme vectorielle, on a :

Y 1 = t^Φs + W 1 = ΦT fj S + W 1 = Φs' + W 1 où T f7 S = s' est toujours un signal dans R.

Le signal reçu normalisé, sous forme vectorielle, peut donc s'exprimer sous la forme suivante :

Y 1 = φs'+ W 1

Le vecteur de symboles estimés s' peut alors s'écrire sous la forme suivante, où [ ] dénote une décision dure, utilisée dans le cas d'un décodeur de type ZF ou ZF-DFE par exemple : s' = [φ " Vi] = [s '+0 "1 W 1 ] = r s '+(det(H)) "1/w φ-Svl

L'estimation du vecteur de symboles d'information s , est alors obtenue en multipliant le vecteur de symboles estimés s' par l'inverse de la matrice T j7 (soit T j7 " (s 1 ) ) : S = Tf 7 - 1 S' .

Dans le cas où l'on considère que la matrice de canal normalisée est parfaitement égale à une unité, et si la matrice génératrice du code Φ est une matrice unitaire, comme c'est le cas pour un code Parfait par exemple, comme le code d'or, on peut décoder le signal reçu normalisé en utilisant une technique de type ZF, qui présente des performances optimales au sens ML. L'estimation du vecteur de symboles est alors effectuée en prenant la partie entière composante par composante, et ne nécessite pas la mise en œuvre d'un décodeur de réseau de points.

D) Approximation imparfaite

S'il n'existe pas de matrice U dans l'ordre de l'algèbre égale à la matrice de canal normalisée H 1 , on approxime la matrice de canal normalisée par une matrice U sélectionnée dans l'ordre de l'algèbre, pondérée par une erreur d'approximation E, telle que H 1 = EU , avec le déterminant de U égal à 1.

En reprenant les étapes précédentes, on obtient alors :

Y 1 = E / U / Φs + W 1 = E / ΦT fj S + W 1 = E;Φs '+ W 1 avec E / la transformation linéaire correspondant à la multiplication à gauche par l'erreur d'approximation E.

Le vecteur de symboles estimés s' peut alors s'écrire sous la forme suivante, où [ ] dénote une décision dure : s ' = [O -1 EfV 1 ] = U '+ (det(H )) "1/w 0 "1 Ef 1 Wl = [s' + n] L'estimation du vecteur de symboles d'information s , est alors obtenue en multipliant le vecteur de symboles estimés s' par l'inverse de la matrice T j7 (soit T j7 " (s 1 ) ) : S = Tf 7 - 1 S' .

E) Choix de l'unité U pour optimiser le décodage ZF

Afin d'obtenir un décodage quasi-optimal en utilisant une technique de décodage de type ZF, il est souhaitable d'avoir une erreur d'approximation E quasi-orthogonale.

Il est donc souhaitable de choisir une unité U de façon à obtenir une erreur d'approximation E = H^U ~ quasi-orthogonale. Pour ce faire, le critère à respecter est par exemple de choisir l'unité U qui minimise l'erreur quadratique moyenne.

Par exemple, on se place dans un contexte MIMO comprenant n antennes d'émission et n antennes de réception, mettant en œuvre un code espace/temps par bloc, sur un canal quasi- statique, dans lequel H = det(H) n Hγ , et on cherche à minimiser la norme de Frobenius 1 K F

Ce critère revient à minimiser la trace de la matrice de covariance du bruit n

|det(H)| ι \ ι I \ I

v ; |det(H)| U »F |det(H)| U WF |det(H)| U HF On rappelle que le critère présenté ci-dessus s'applique dans le cas où la matrice Φ génératrice du code est unitaire. Bien entendu, cette matrice n'est pas nécessairement unitaire, et d'autres critères peuvent être utilisés, selon la forme de la matrice Φ génératrice du code et/ou la technique de décodage utilisée (ZF, ZF-DFE, MMSE, MMSE-DFE, décodage par sphères, décodage à pile, ...). 5.3 Application au code d'or (« Golden Code »)

On présente ci- après l'application de la solution de l'invention au code d'or. Le code d'or est notamment décrit dans le document « The Golden Code : A 2 x 2 FuIl- Rate Space-Time Code With Nonvanishing Déterminants » (Jean-Claude Belfiore et al., IEEE Transactions on information theory, Vol. 51, No 4, avril 2005). Par exemple, on se place dans le contexte d'une algèbre à division, utilisée pour construire un code espace/temps de la forme Oa , avec a un élément de l'algèbre et O un ordre maximal de l'algèbre. On note que certains codes parfaits autres que les codes d'or, ne sont pas nécessairement construits à partir d'un ordre maximal.

Du fait des propriétés de l'algèbre, chaque unité de l'ordre O peut s'écrire comme un produit fini d'un nombre fini de générateurs du groupe des unités et de leurs inverses. Par exemple, les générateurs sont au nombre de huit pour le code d'or. Le nombre minimal de générateurs dépend de l'algèbre choisie.

Comme déjà indiqué, le prétraitement algébrique selon l'invention consiste à approximer la matrice du canal normalisée H 1 à l'aide d'une unité U de l'ordre O de l'algèbre utilisé pour construire le code espace/temps, pondérée par une erreur d'approximation F. On présente ci-après un exemple d'algorithme pouvant être mis en œuvre pour la recherche d'unités U, dans le cas où n t = n r = 2.

Comme indiqué précédemment, pour un décodage de type ZF, le critère pour le choix de l'unité U qui approxime la matrice de canal normalisée H 1 est le suivant : on cherche l'unité U telle que la norme de Frobenius de l'erreur d'approximation E = H^U ~ soit minimisée.

Dans le cas n t = n r = 2 , quelque soit le code algébrique utilisé, on peut mettre en œuvre une réalisation de l'algorithme de recherche des unités qui exploite l'action du groupe des unités de norme 1 de l'ordre O sur l'espace hyperbolique Η .

Plus précisément, on définit l'espace hyperbolique Η comme l'ensemble des points {(x,y,z),x,y,z £ t,z > θ} . La distance hyperbolique p(P \ , P 2 ) entre deux points P 1 = (x \ ,yι,Zι) et P 2 = {* 2 ,y 2 ,Z 2 ) est donnée par l'équation suivante :

P {p[ ' ^2 ) = arccos h 1+-

On considère le point de base / = (θ,O,l) dans l'espace hyperbolique Η T 3.

Soit B une matrice 2 x 2 complexe telle que det(5) = 1 :

(a bλ 3 B = \ \ . On définit le point B(J) dans l'espace hyperbolique Η :

I c d où x* dénote le conjugué complexe de x.

Soit H 1 la matrice du canal normalisée, et soient Ui,..., U r un ensemble minimal de générateurs pour le groupe des unités de norme 1 de l'ordre O. Un tel ensemble de générateurs se calcule par exemple en utilisant l'algorithme de Swan tel que décrit dans le document

« Présentations of the unit group of an order in a non-split quaternion algebra » (G. Corrales et al., Advances in mathematics, 186 n.2 (2004) 498-524).

Les huit générateurs du groupe des unités dans le cas du code d'or sont par exemple :

On note £/ r+1 = C/f , ..., U 2r = U ~ les inverses de ces r = 8 générateurs : U 9 = UÏ '

CZ 10 = CZ 2 1 . -. ^16 = ^S 1 -

Ces générateurs diffèrent d'un code algébrique à un autre. On cherche selon cet algorithme à déterminer l'unité U de l'ordre de l'algèbre permettant d'approximer la matrice de canal normalisée H 1 , connaissant la matrice de canal normalisée H 1 .

On considère que les points Ui(J), ...,U r (J),U r+ ι(J),...,U 2r (J) , calculés selon l'équation (1), sont mémorisés dans une mémoire.

Soient H , U et z 0 des variables. Pour initialiser l'algorithme, on pose :

H = H 1

Z 0 = O On réitère ensuite les étapes suivantes :

1. Calculer H (/) = (x,y,z) en utilisant l'équation (1) ;

2. Pour i = l,...,2r , calculer :

d i = 2cosh(p(ïT ,-(/))) = i + (x " ^ )2 + (3; 2 ^ )2 + (z " Z/ )2 et J 0 = 2œshf pfïrV),/)! = i+^l±Z±kzlL

3. Choisir z 0 = argmin d^ . Si plusieurs indices atteignent le minimum, on choisit le plus

/e{0, ,2r} petit.

4. Mettre à jour U et H , tels que : U <- UU ) Q , H <- HU ) Q .

5. Si / 0 ≠ 0 , on retourne à l'étape 1. Sinon, si i 0 = 0 alors l'unité U cherchée est égale à U (U = U ), et l'algorithme est interrompu.

On sélectionne ainsi, selon cet exemple, une unité U de l'algèbre pouvant être utilisée pour approximer la matrice de canal normalisée H 1 , et telle que la matrice d'erreur d'approximation E soit quasi-orthogonale. En utilisant une technique de décodage de type ZF après la réduction algébrique décrite précédemment, on obtient seulement 3dB de perte par rapport aux performances obtenues avec un décodeur optimal au sens ML.

Il est donc possible, selon l'invention, de simplifier le décodage d'un signal reçu dans un système multi-antennaires en utilisant une technique de décodage dite sous-optimale, tout en obtenant de bonnes performances.

En particulier, on peut noter que dans le cas d'un canal peu variable en temps, un simple ajustement de l'approximation est nécessaire aux différents instants de transmission (« time block »), et il n'est pas nécessaire de refaire une nouvelle approximation.

La figure 3 illustre les performances de l'invention en taux d'erreur par mot (FER) en fonction du rapport signal à bruit (SNR) en dB.

Plus précisément : - la courbe ML illustre les performances d'un décodeur classique mettant en œuvre une technique de décodage optimale au sens ML ;

- la courbe MMSE-GDFE + LLL + ZF illustre les performances d'un décodeur classique mettant en œuvre une technique de décodage sous-optimale de type ZF et un prétraitement à droite de type LLL (« Lenstra Lenstra Lovasz »), et un prétraitement à gauche de type MMSE-GDFE ;

- la courbe MMSE-GDFE + LLL + ZF-DFE illustre les performances d'un décodeur classique mettant en œuvre une technique de décodage sous-optimale de type ZF- DFE et un prétraitement à droite de type LLL (« Lenstra Lenstra Lovasz »), et un prétraitement à gauche de type MMSE-GDFE ; - la courbe MMSE-GDFE + AR + ZF illustre les performances d'un décodeur selon l'invention mettant en œuvre une technique de décodage sous-optimale de type ZF et un prétraitement à droite de type réduction algébrique selon l'invention, et un prétraitement à gauche de type MMSE-GDFE ;

- la courbe MMSE-GDFE + AR + ZF-DFE illustre les performances d'un décodeur selon l'invention mettant en œuvre une technique de décodage sous-optimale de type

ZF-DFE et un prétraitement à droite de type réduction algébrique selon l'invention, et un prétraitement à gauche de type MMSE-GDFE . 5.4 Structure du dispositif de décodage

On présente finalement, en relation avec la figure 4, la structure simplifiée d'un dispositif de décodage selon un mode de réalisation particulier de l'invention.

Un tel dispositif comprend une mémoire 41 constituée d'une mémoire tampon, une unité de traitement 42, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur 43, mettant en œuvre le procédé de décodage selon l'invention.

A l'initialisation, les instructions de code du programme d'ordinateur 43 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 42. L'unité de traitement 42 reçoit en entrée un signal, reçu sur au moins deux antennes de réception, et ayant subi avant émission un codage espace/temps algébrique. Le microprocesseur de l'unité de traitement 42 met en œuvre les étapes du procédé de décodage décrit précédemment, selon les instructions du programme d'ordinateur 43, pour décoder le signal reçu. Pour cela, le dispositif de décodage comprend, outre la mémoire tampon 41, des moyens de prétraitement du signal reçu, permettant de déterminer une approximation de la matrice de canal normalisée à partir d'une matrice sélectionnée dans l'algèbre utilisée pour construire le code espace/temps, et des moyens de décodage espace/temps du signal reçu normalisé, à l'aide de l'approximation de la matrice de canal normalisée. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 42.

L'unité de traitement 42 délivre donc en sortie un ou plusieurs vecteurs de symboles estimés, correspondant à une estimation du signal émis sur au moins deux antennes d'émission.

Un tel décodeur trouve notamment des applications dans des systèmes MIMO pour des applications de type Wifi (IEEE 802.1In), WiMax mobile (IEEE 802.16e), WiMax coopératif (IEE 802.16J), 3GPP-LTE, etc.