Vous êtes sur la page 1sur 73

TABLE DES MATIÈRES

Résume 4

Liste des abréviations 5

Liste des symboles 6

Introduction 7

1 Généralité sur les systèmes de transmission sans fil MIMO 8


1.1 système MIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1 Principe de la technique MIMO . . . . . . . . . . . . . . . . . . 8
1.1.2 Modèle du système MIMO . . . . . . . . . . . . . . . . . . . . . 8
1.2 Capacité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Définition de la capacité d’un canal . . . . . . . . . . . . . . . . 9
1.2.2 Limite de SHANNON . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3 Capacité Système SISO . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.4 Capacité Système MISO . . . . . . . . . . . . . . . . . . . . . . 10
1.2.5 Capacité Système SIMO . . . . . . . . . . . . . . . . . . . . . . 11
1.2.6 Capacité Système MIMO . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Détection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 détecteur ICD (Zero forcing) . . . . . . . . . . . . . . . . . . . . 13
1.3.2 Détection MMSE (Minimum Mean Square Error) . . . . . . . . 14
1.3.3 Détection Maximum de Vraisemblance (MLD) . . . . . . . . . . 15
1.3.4 V-BLAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Codage Espace Temps par Bloc 18


2.1 Notion de diversité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.1 Diversité temporelle . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.2 Diversité fréquentielle . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.3 Diversité spatiale . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.4 Diversité spatio-temporelle . . . . . . . . . . . . . . . . . . . . . 19
2.2 Le codage espace-temps (STC) . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Codes Espace Temps en Treillis (STTC) . . . . . . . . . . . . . . . . . 19

1
TABLE DES MATIÈRES

2.4 Codes Espace Temps par Bloc (STBC) . . . . . . . . . . . . . . . . . . 20


2.4.1 Codes Orthogonaux . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.2 Codes Quasi-Orthogonaux . . . . . . . . . . . . . . . . . . . . . 21
2.5 Conception des code orthogonal . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1 L’opérateur de Hurwitz-Radon . . . . . . . . . . . . . . . . . . . 21
2.5.2 Codes real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5.3 Codes complexe . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Codes Espace Temps par bloc Différentielle 29


3.1 Technique différentielle DPSK . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Codes différentiels STBC . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.1 Construction de codes STB orthogonaux différentiels . . . . . . 31
3.2.2 Décodage des codes différentiels . . . . . . . . . . . . . . . . . . 34
3.2.3 Décodage pour multiple antennes réceptrices . . . . . . . . . . . 36
3.3 Extension à plus de deux antennes . . . . . . . . . . . . . . . . . . . . 37
3.3.1 STBC différentielle pour quatre antennes d’émission . . . . . . . 37
3.3.2 Décodage des codes différentiels pour 4 antennes . . . . . . . . 39
3.3.3 Différentiel STBC avec Constellations complexes pour trois et
quatre antennes d’émission . . . . . . . . . . . . . . . . . . . . . 40
3.3.4 Décodage différentiel avec Constellations complexes . . . . . . . 41

4 Simulation 43
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 méthode Monte-Carlo . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Simulation et évaluation des performances . . . . . . . . . . . . . . . . 45
4.2.1 DSTBC 2 ×1 BPSK . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.2 DSTBC 2 ×2 BPSK . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.3 DSTBC 2 × 1 vs 2 × 2 BPSK . . . . . . . . . . . . . . . . . . . 47
4.2.4 DSTBC VS OSTBC BPSK . . . . . . . . . . . . . . . . . . . . 48
4.2.5 DSTBC 2 ×1 QPSK . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.6 DSTBC 2 ×2 QPSK . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.7 DSTBC 2 × 1 vs 2 × 2 QPSK . . . . . . . . . . . . . . . . . . . 52
4.2.8 DSTBC VS OSTBC QPSK . . . . . . . . . . . . . . . . . . . . 53
4.2.9 DSTBC BPSK VS DSTBC QPSK . . . . . . . . . . . . . . . . 55
4.2.10 DSTBC pour trois et quatre antennes d’émission . . . . . . . . 57

Conclusion 60

Annexe Programmes 61

2
TABLE DES FIGURES

1.1 Canal MIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9


1.2 Canal SISO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Canal MISO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Canal SIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 décomposition singulière . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1 les différentes familles de codes STC . . . . . . . . . . . . . . . . . . . 19


2.2 Canal MISO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Canal MIMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1 DPSK Encoder Schéma . . . . . . . . . . . . . . . . . . . . . . . . . . . 30


3.2 Deux régions de décodage d’une modulation PSK et sa version à l’échelle. 31
3.3 schéma du code d’Alamouti différentiel . . . . . . . . . . . . . . . . . . 32
3.4 Le schéma de décodage du code d’Alamouti différentiel. . . . . . . . . . 36

4.1 diagramme des fonction de simullation BPSK,QPSK . . . . . . . . . . 44


4.2 résultats de performance DSTBC ; 2 × 1 ; BPSK . . . . . . . . . . . . 45
4.3 résultats de performance DSTBC ; 2 × 2 ; BPSK . . . . . . . . . . . . 46
4.4 résultats de performance DSTBC ; 2 × 1 vs 2 × 2 ; BPSK . . . . . . . 47
4.5 résultats de performance DSTBCvsOSTBC ; 2 × 1 ; BPSK . . . . . . 48
4.6 résultats de performance DSTBCvsOSTBC ; 2 × 2 ; BPSK . . . . . . 49
4.7 résultats de performance DSTBC ; 2 × 1 ; QPSK . . . . . . . . . . . . 50
4.8 résultats de performance DSTBC ; 2 × 2 ; QPSK . . . . . . . . . . . . 51
4.9 résultats de performance DSTBC ; 2 × 1 vs 2 × 2 ; QPSK . . . . . . . 52
4.10 résultats de performance DSTBCvs OSTBC ; 2 × 1 ; QPSK . . . . . 53
4.11 résultats de performance DSTBCvs OSTBC ; 2 × 2 ; QPSK . . . . . 54
4.12 résultats de performance DSTBC BPSK vs DSTBC QPSK ; 2 × 1 55
4.13 résultats de performance DSTBC BPSK vs DSTBC QPSK ; 2 × 2 56
4.14 résultats de performance DSTBC BPSK ; 3 × 1 . . . . . . . . . . . . 57
4.15 résultats de performance DSTBC BPSK ; 4 × 1 . . . . . . . . . . . . 58
4.16 résultats de performance DSTBC BPSK ; 4 × 1 vs 3 × 1 . . . . . . . 59

3
RÉSUME

Le Codage Espace Temps par Bloc Différentiel DSTBC a son avantage dans la
réalisation de la diversité spatiale sans connaissance du canal. Ceci est particulièrement
utile dans les systèmes de multiples d’antennes MIMO compliqué où une estimation
de canal est contournées.DSTBC officiellement créé en 2000,et finalement devenir des
préoccupations majeures des chercheurs dans le domaine du codage espace-temps.
L’objectif de cette recherche est d’étudier et simuler le performance de DSTBC .

4
LISTE DES ABRÉVIATIONS

MMO : Multiple Inputs Multiple Outputs


MISO : Multiple Inputs Single Outputs
SISO : Single Inputs Single Outputs
SIMO : Single Inputs Multiple Outputs
CSI : Channel State Information
MMSE : Minimum Mean Square Error
STBC : Space-Time Block Codes
RSB : Rapport Signal à Bruit
TEB : Taux d’Erreurs Binaire
VBLAST : Vertical Bell Laboratories Layered Space-Time
ICD : Inverse Channel Detection
STTC : Space-Time Trellis Code
MLD : Maximum-Likelihood Detector
QOSTBC : Quasi-Orthogonal Space-Time Trellis Code
DSTBC : Differential Space-Time Block Codes

5
LISTE DES SYMBOLES

nt : Nombre d’antennes émettrices


nr : Nombre d’antennes réceptrices
S : ensemble de constellation
R : ensemble des nombre réelles
N : ensemble des nombre naturelle
C : ensemble des nombre complexe
r, y, Y : Vecteur des signaux reçus
(.)H : transconjugué
||.|| : norme de vecteur
h : gain de trajet
H : matrice de canal
C : capacité de canal
n, N, N : bruit gaussienne
W : matrice d’égalisation
E{.} : espérance mathématique
X : matrice de codage espace temps

6
INTRODUCTION GÉNÉRALE

Les systèmes de communication sans fil Multiples Input Multiple-Output MIMO


ont été beaucoup étudié dans les dernières années. Ils ont de nombreuses caractéris-
tiques prometteuses comme le gain de diversité, le gain de multiplexage spatial, la
réduction d’interférence, et amélioration de la capacité du canal . Mais, la demande
croissante de haut-débit de données dans les systèmes de communication sans fil ac-
tuels nous a motivés pour étudier de nouvelles techniques de codage canal à rendement
efficace. tel-que les codes différentielle est utile car elle évite la nécessité d’estimation
de canal par le récepteur et économise la bande passante . [JAF05] [Cho08][Moh13]
Dans ce mémoire, nous allons étudier une techniques de codage espace temps par
bloc différentielle DSTBC pour les systèmes MIMO. L’étude a été divisée sur quatre
chapitres .
Dans le premier chapitre, on va présenter quelque généralités sur le système de
communication sans fil MIMO . Plus dans le deuxième chapitre, on va étudier les
différent codes espace temps par bloc STBC . Pour le chapitre trois l’étude se limitera
au codage espace temps par bloc différentielle , les procédures de codage et décodage
. En fin, on terminera notre étude par des simulation. On utilisant les langages de
programmation Gnu Octave et MATLAB .

7
CHAPITRE 1

GÉNÉRALITÉ SUR LES SYSTÈMES DE


TRANSMISSION SANS FIL MIMO

1.1 système MIMO


1.1.1 Principe de la technique MIMO
Le principe du système MIMO consiste à compléter la dimension temporelle (na-
turelle) d’une transmission par une dimension spatiale en utilisant plusieurs antennes
à l’émission et à la réception. Un système MIMO permet à la fois une augmentation
du débit et un gain de diversité. Nous rappelons que nous supposons que l’émetteur ne
dispose pas de la connaissance du canal. Il est nécessaire de définir un modèle théorique
pour le système MIMO afin de formaliser les techniques d’émission/réception.[Kar03]

1.1.2 Modèle du système MIMO


Nous considérons un système MIMO non sélectif en fréquence composé de nt an-
tennes d’émission et nr antennes de réception comme présenté sur la figure 1.1. Chaque
antenne de réception reçoit les signaux qui lui sont transmis par toutes les antennes
d’émission :
nt
X
yi = hij xi + ni
j=1

où hij représente l’évanouissement qui caractérise la liaison entre l’antenne de ré-


ception i et l’antenne d’émission j et ni est un bruit blanc additif gaussien de moyenne
nulle. Ce modèle ne représente pas la dimension temporelle du canal. Le canal de
transmission est défini par la matrice de canal MIMO H de taille nr × nt :[Kar03]

8
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

 
h11 h12 · · · h1j
· · · h1j 
 
h11 h12
(1.1)
 
 . . . . .. 
 .. ··· . 
 
hi1 · · · · · · hij

T X1 RX1

T X2 RX2

TX RX

T XM RXN

Figure 1.1 – Canal MIMO

1.2 Capacité
1.2.1 Définition de la capacité d’un canal
La capacité d’un canal est la quantité maximale d’information pouvant transiter à
travers le canal par unité de temps.

C = max I(X; Y ) (1.2)

1.2.2 Limite de SHANNON


Lors de transmission, la quantité d’information transmise est limitée par la capacité
du canal, ainsi cette limite est indépendante de l’utilisateur, et par conséquent, impose
une limite aux transmissions, cette limite est appelée « capacité de Shannon » [SOU10].
La limite physique imposée par le canal à la quantité d’information envoyer nous pousse
à trouver une solution pour améliorer le débit, tout en gardant une complexité du ma-
tériel raisonnable. Certaines techniques ont été utilisées pour améliorer qualitativement
ou quantitativement l’information transmise, comme la technique de diversité spatiale
en émission (MISO) ou la technique de diversité spatiale en réception (SIMO).[SOU10]

9
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

1.2.3 Capacité Système SISO


C’est l’architecture la plus simple qui utilise une seule antenne en émission et une
autre en réception. La capacité du canal SISO est :

Figure 1.2 – Canal SISO

P
 
C = B. log2 1 + bps (1.3)
N0 B

Où :
P : la puissance du signal utile en W att,
N0 : la densité spectrale de puissance du bruit calculé en W/Hz,
B : la bande passante donnée en Hz.
En normalisant la capacité par la bande utile W , on obtient :

c = log2 (1 + ρ) (1.4)

Avec ρ est le rapport signal sur bruit (P/N0 ).

1.2.4 Capacité Système MISO


C’est une technique de diversité spatiale en émission. C’est-à-dire Plusieurs antennes
émettent des signaux qui sont interceptés par une seule antenne en réception. Dans ce
mode de transmission, une superposition du signal transmis simultanément par les nt
antennes émettrices est reçue. Chaque antenne émet le même symbole Ents C’est-à-dire
que la puissance émise est divisée sur le nombre d’antenne .[SOU10] telle que :
nt
X
P = Pi (1.5)
i=0

Avec Pi est la puissance émise sur chaque antenne. Si cette puissance est égale sur
toutes les antennes, alors on dira que P = nt .Pi . La capacité du canal MISO :

Pi P
   
C = B log2 1 + nt = B log2 1+ (1.6)
N0 B N0 B

10
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

Figure 1.3 – Canal MISO

En normalisant la capacité par la bande utile W, nous obtenons :

c = log2 (1 + ρ) (1.7)

L’équation 1.4 et 1.7 sont identiques, mais l’avantage de la technique MISO par rapport
à la technique SISO est dans le fait que dans les multi-trajets ; la probabilité d’éva-
nouissement dans nt antennes est inférieure à la probabilité d’évanouissement sur une
seule antenne.[SOU10]

1.2.5 Capacité Système SIMO


C’est une technique qui utilise plusieurs antennes en réception pour lutter contre
l’évanouissement dû au canal [SOU10].
Le signal reçu est additionné et le rapport signal sur bruit total est la somme des
rapports signaux sur bruits de chacun des antennes de la réception.[SOU10]
La capacité du canal SIMO :

Figure 1.4 – Canal SIMO

11
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

P
 
C = B log2 1 + n2r (1.8)
N0 B

1.2.6 Capacité Système MIMO


Le calcul de la capacité MIMO dépend principalement de deux paramètres .[SOU10]
1. Le modèle du canal MIMO.
2. La distribution des puissances entre les antennes émettrices.
Dans le cas de la figure 1.1 Nous pouvons écrire la relation suivante :

Y = HX + n (1.9)

Figure 1.5 – décomposition singulière

La matrice H peut être décomposée suivant une décomposition singulière en trois


matrices :
H = U DV H (1.10)

Où :
* U et V sont des matrices unitaires U U H = V V H = I; V H et U H étant les matrices
Conjuguées transposées des matrices V et U respectivement).
* D est une matrice diagonale dont les éléments non nuls sont les valeurs propres
de :
D = diag(λi )

au niveau de récepteur en multiple Y par U H

U H Y = U H (U DV H X + n)

avec X = V X̃ vecteur de transmission

⇒ U H U DV H V X̃ + ñ

Ỹ = DX̃ + ñ

12
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

      
y1 λ 1 0 . . . 0 x1 n1
      
y2   0 λ2 0 0
 x2  n2 
   
.=  .  +  .  (1.11)
  
 ..  0 . .. 0   .   . 
   0  .   . 
yt 0 0 0 λ t xt nt
Donc, ceci est connu comme le découplage de MIMO.
L’équation 1.11 montre que : ∀(i, j) ∈ {1, 2 . . . , m}2 ⇒ Yi , et Yj sont indépendants.
D’où l’indépendance des m canaux MIMO existant.
Donc la capacité d’un canal MIMO [en bits/s/Hz] est donnée par :
m
X
C= Ci
i=0

m
ρ
 
|λi |2
X
C= log2 1 + (1.12)
i=0 M
Où Ci est la capacité d’un canal SISO (pour une puissance émise PT /M ) et ρ est le
rapport signal à bruit au récepteur.
Si on suppose λi = λ, alors :

ρ
 
C = m log2 1 + |λ|2 (1.13)
M

Capacité pour un système MIMO sans CSI à l’émission :

ρ
 
C = log2 det IN + HHH (1.14)
M

Capacité pour un système MIMO avec CSI à l’émission :

ρ
 
C= max log2 det IN + HQHH (1.15)
Q:trace Q=PT M

1.3 Détection
1.3.1 détecteur ICD (Zero forcing)
l’égaliseur de forçage à zéro est une technique de détection par inversion de ma-
trice cette technique consiste à appliquer au vecteur reçu une matrice d’égalisation W
.[DAU09]
Y = HX + n

en multiplie par l’inverse de la matrice H

H−1 Y = X + H −1
| {z n}
beruit

13
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

Remarque :la matrice H doit être carre


si H n’est pas carre
en minimiser ||Y − HX||2

∂(||Y − HX||2 )
min(||Y − HX||2 ) ⇒ =0
∂X

||Y − HX||2 = (Y − HX)H (Y − HX)


= Y H Y − HX H Y − Y H HX + HX H HX
dérive para-port a X

∂(||Y − HX||2 )
= −2HH Y + 2HH HX = 0
∂X

2HH Y + 2HH HX = 0
2HH HX = 2HH Y
(HH H)X = HH Y
X
c = (HH H)−1 HH Y
| {z }
W

donc : 


 H−1 : si H est carre
W =

(HH H)−1 HH : sinon

ma matrice W est alors égale au pseudo inverse de la matrice de canal :W = (HH H)−1 HH
En présence d’évanouissements et de bruit , le critère ZF a pour effet d’augmenter le
niveau de bruit ce dégrade les performances .[DAU09]

1.3.2 Détection MMSE (Minimum Mean Square Error)


La technique de détection MMSE consiste à minimiser l’erreur quadratique moyenne
c − X||2 } entre le vecteur des symboles transmis et celui des symboles estimés .
E{||X
A la différence de la détection ZF , cette technique prend en considération à la fois le
bruit additif et l’interférence entre symboles .[DAU09]
c = W HY
X
E{(W H Y − X)H (W H Y − X)}
E{W H Y Y H W − 2W X H Y + X H X}

E{W H Y Y H W } − 2E{W X H Y } + E{X H X}

W H RY Y W − 2W RXY + RXX
en minimiser W H RY Y W − 2W RXY + RXX

14
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

∂(W H RY Y W − 2W RXY + RXX )


= 0
∂W

2RY Y W − 2RXY = 0

RY Y W = RXY

W = RY−1Y RXY
on Système MIMO : Y = HX + n

RY Y = E{Y H Y }

E{(HX + n)H (HX + n)} = E{HX H HX + nH n} = HH HRXX + Rnn


  
 s1




  h i

* RXX = E  s2  s∗ s∗2 · · ·  = PS IN

 .  1
 ..

 


  
n
 1  h

 

 i

n  ∗
* Rnn = E  2  n1 n∗2 · · ·  = σn2 IN
 ...

   
 

RY Y = PS HH H + σn2 IN

E{(HX + n)H X} = E{XX H H} = RXX H = Ps H

W = RY−1Y RXY = (PS HH H + σn2 IN )−1 Ps H

donc :
c = (P HH H + σ 2 I )−1 P HH Y
X (1.16)
S n N s
| {z }
reception M M SE

1.3.3 Détection Maximum de Vraisemblance (MLD)


L’égaliseur ML est optimal en terme de TEB . Cette méthode consiste à comparer
tous les signaux pouvant être reçus aux signaux réellement reçus, afin de sélectionner
le plus vraisemblable d’entre eux

c = arg min ||Y − HX||2


X (1.17)
X

La complexité de cet algorithme croît exponentiellement avec le nombre d’antennes


utilisées en émission et le nombre d’états M de la modulation. En effet, le récepteur
doit comparer MN t solutions possibles avec le vecteur de signaux reçus.[HAS10]

15
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

1.3.4 V-BLAST
V-blast est un exemple de récepteur MIMO non-linéaire. V-fourneau ; où, V signifie
vertical de Bell L’architecture en couches Labs espace-temps soit Ω matrice donnes par
H†  
w1H
 H
w 
 2 
Ω =  .  donc
 .. 
 
wtH
 H
w1
 H
w  h
 2 
i
ΩH = I; ⇒  .  h1 h2 . . . ht = I
 .. 
 
wtH

1∀j = i
⇒ wiH hj =
0 j 6= i
procédure de détection
1. s˜1 = w1H Y = w1H (h1 s1 + h2 s2 + · · · + ht st ) + w1H n
s˜1 = s1 + ñ
2. nouveau Y : Y = Y − h1 s1 → H0 = H − h1 → Ω = H0H
3. en répétons l’étape 1 pour symbole suivant

16
CHAPITRE 1. GÉNÉRALITÉ SUR LES SYSTÈMES DE TRANSMISSION SANS FIL MIMO

1.4 Conclusion
L’utilisation du réseau d’antenne permet d’améliorer les performances d’un système
sans-fil. Selon l’augmentation du nombre d’antenne en émission ou/et en réception
donne lieu à des techniques différentes d’exploitation.
Dans ce chapitre nous avons vu les différentes propriétés de système MIMO en
terme de gain de diversité, capacité et estimation du canal. Nous avons passé en revue
les différents systèmes multi-antennaires SISO, SIMO,MISO et MIMO et donné les
capacités correspondantes.Pour estimer les symboles, nous avons vu que le récepteur
le plus simple, le forçage à zéro (ZF),Ce détecteur est sensible au bruit et que la
minimisation de l’erreur quadratique moyenne (EQMM) n’enlève pas toute l’IES.Le
récepteur maximum de vraisemblance (MV) estime d’une façon optimale les symboles
au prix d’un nombre de calculs exorbitant dès que le nombre d’antennes croît.
Dans le chapitre suivant,nous allons introduire les différentes notios de codage es-
pace temps.Ce type de codage a pour objectif d’augmenter les robustesse de la chaine
de communication MIMO .

17
CHAPITRE 2

CODAGE ESPACE TEMPS PAR BLOC

2.1 Notion de diversité


La diversité est une technique utilisée pour combattre l’évanouissement . Le principe
est de transmettre plusieurs répliques de la même information sur plusieurs canaux
ayant des puissances comparables et des évanouissements indépendants , et donc il est
fort probable qu’au moins un , ou plus , des signaux reçus ne soient pas atténués à un
moment donné . rendant possible une transmission de bonne qualité .[Kar03]
Il existe différents types de diversité que l’on peut combiner et que nous décrivons
ci-dessous

2.1.1 Diversité temporelle


Le message est envoyé n fois à des intervalles de temps différents . De manière
à assurer l’indépendance des coefficients du canal entre deux répliques du message
, le temps entre deux envois doit être supérieur ou égal au temps de cohérence du
canal .Cette diversité est souvent exploitée en utilisant conjointement un entrelacement
temporel et un code correcteur d’erreur .[Kar03]

2.1.2 Diversité fréquentielle


L’information est envoyée n fois simultanément su n fréquence porteuses différentes
par des signaux différents sur chaque fréquence .Pour assurer l’indépendance des fluc-
tuations des évanouissements des signaux , il est nécessaire que les fréquences soient
séparées d’au moins la bande de cohérence du canal . La diversité fréquentielle est
exploitée dans les systèmes multi-porteuses ou encore dans les systèmes utilisant l’éta-
lement de spectre .[Kar03]

18
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

2.1.3 Diversité spatiale


Le signal est envoyé par plusieurs antennes d’émission et reçu par plusieurs antennes
de réception . La distance entre les antennes de réception doit être supérieure à la
longueur de cohérence qui est définie comme la distance entre deux antennes permettant
d’avoir des canaux indépendants .[Kar03]

2.1.4 Diversité spatio-temporelle


La diversité spatio-temporelle est un example de combinaison de techniques de
diversité ,cette technique envoie deux versions de signal différées dans le temps via deux
antennes transmetteurs .Ainsi on atteint un niveaux de diversité plus aisé . [Kar03]

2.2 Le codage espace-temps (STC)


Le codage espace-temps (STC) est une technique de diversité de transmission qui
s’applique aux systèmes MISO et MIMO. Il existe une grande variété de codes spatio-
temporels, ces codes se classent en deux grandes catégories : les codes spatio-temporels
en treillis et les codes spatio-temporels en bloc (STBC) figure 2.1 . Dans ce chapitre,
nous nous limiterons à la reconnaissance des codes en bloc (STBC). Ces codes sont plus
simples à mettre en œuvre que les STTC et à ce titre sont plus couramment utilisés.
[Cho08]

Figure 2.1 – les différentes familles de codes STC

2.3 Codes Espace Temps en Treillis (STTC)


les STC en treillis (STTC) combinent le codage de canal avec la modulation sur
les antennes émettrices, et peuvent être considérés comme une extension des codes en
treillis classiques au cas des antennes multiples à l’émission et à la réception. Si le code
est bien construit, on peut ajouter à l’avantage évident de diversité un gain de codage
loin d’être négligeable.[Kar03]

19
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

2.4 Codes Espace Temps par Bloc (STBC)


Un STBC de rendement R = nl encode un bloc de n symboles, noté S = [s1 , . . . , sn ]T
, en une matrice X (S) de taille nt × l. Pour les codes linéaires, chaque élément de
la matrice X (S) est une combinaison linéaire des parties réelles et imaginaires des
symboles S .[Cho08]
La classe des codes linéaires en bloc est vaste et se décompose en plusieurs sous
catégories figure 2.1. Nous détaillons ici les grandes catégories : les codes orthogonaux
et les codes quasi-orthogonaux .[Cho08]

2.4.1 Codes Orthogonaux


Les codes orthogonaux (OSTBC) ont été initialement proposés par Alamouti pour
des systèmes composés de deux antennes émettrices puis formalisés par Tarokh pour des
systèmes utilisant nt ≥ 2 antennes. Les codes OSTBC présentent un intérêt double :
d’une part, ils permettent d’augmenter la robustesse d’une transmission sans fil en
introduisant de la redondance spatio-temporelle et, d’autre part, ils facilitent l’implé-
mentation du décodeur optimal. La matrice bloc d’un code OSTBC respecte le critère
d’orthogonalité suivant[Cho08]
n
!
H 2
X
XX =β |si | Int (2.1)
i=1

où β est un coefficient réel et Int la matrice identité de taille nt × nt . Le critère


d’orthogonalité permet de découpler le décodage par rapport aux n symboles émis.
L’inconvénient majeur des codes orthogonaux réside dans leur rendement : le seul code
de rendement unitaire est le codage d’Alamouti qui utilise nt = 2 antennes. Les codes
utilisant un nombre d’antennes émettrices nt > 2 possèdent un rendement strictement
inférieur à l’unité.[Cho08]

Example 2.4.1. Alamouti propose un codage espace-temps permettant d’exploiter la


diversité spatiale. Ce codage nécessite que le canal soit constant pendant au moins la
durée de deux symboles. le modulation à M états où M = 2n , n ∈ N∗ . A chaque instant,
deux paquets de n = log2 M bits sont utilisés pour générer deux signaux s1 et s2 avec
s1, s2 ∈ C. Le mot de code envoyé en fonction de la paire de signaux (s1 , s2 ) s’écrit :
 
s1 −s∗2 
X = (2.2)
s2 s∗1

Cette représentation du mot de code est couramment appelée matrice de codage dans
le cas des codes en bloc.
La transmission des signaux modulés s’effectue en 2 temps symbole. Au premier temps
symbole t1 , les signaux s1 et s2 sont envoyés respectivement par la première et la
deuxième antenne.

20
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

Au deuxième temps symbole t2 , les signaux −s∗2 et s∗1 sont envoyés respectivement par
la première et la deuxième antenne. Le code est un code orthogonal si la relation 2.1 .
 
s∗1 s∗2 
XH = 
−s2 s1

donc :
     
H s1 −s∗2   s∗1 s∗2  ||s1 || + ||s2 || 0
XX = ∗
× =  = ||s1 || + ||s2 || × I2
s2 s1 −s2 s1 0 ||s1 || + ||s2 ||

2.4.2 Codes Quasi-Orthogonaux


Les codes Quasi-Orthogonaux (QOSTBC) permettent d’atteindre des rendements
plus élevés que les codes OSTBC pour des systèmes composés de nt > 2 antennes
émettrices. La plupart des codes QOSTBC présentés dans la littérature encode n = 4
symboles en une matrice X (S) de taille 4×4 [JAF05]. Ces codes s’obtiennent en conca-
ténant plusieurs codes orthogonaux de sorte que la matrice de codage X (S) respecte
le critère suivant :[Cho08]
 
n
I2 βD(1) P 
XXH |si |2  (2)
X
= (2.3)
i=1 βD P I2
où β est un coefficient inférieur à 1, P une matrice de permutation de taille 2 × 2,
D et D(2) sont des matrices diagonales de taille 2 × 2 contenant les éléments {−1, 1}.
(1)

Tout comme les codes OSTBC, les propriétés des codes QOSTBC permettent de réduire
la complexité du décodage.[Cho08]

Example 2.4.2. Le code quasi-orthogonal de rendement unitaire proposé dans [JAF05]


est défini par :  
s1 s∗2 s∗3 s4
 
s −s∗ s ∗
−s 
 2 1 4 3
X = ∗ ∗

 (2.4)
s3
 s4 −s1 −s2  
s4 −s∗3 −s2 s1

Example 2.4.3. Le code quasi-orthogonal de rendement unitaire est défini par :


 
s s∗2 s3 s∗4
 1 
s −s∗ s4 −s∗3 
2 1
X =
 ∗ ∗ 

 (2.5)
 s3 s4 s1 s2 

s4 −s∗3 s2 −s∗1

21
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

2.5 Conception des code orthogonal


2.5.1 L’opérateur de Hurwitz-Radon
Adolf Hurwitz et Johann Radon a publié les articles sur classe spécifique de
matrices en 1923, en travaillant sur le problème des formes quadratiques. Matrices
Ai , i = 1, 2, . . . , m satisfaisant

Aj Ak + Ak Aj = 0, A2j = −I pour j 6= k; j, k = 1, 2, . . . m

Une famille de Hurwitz-Radon (RH) des matrices sont anti-symétrique (ATi = −Ai ) ,
A−1
i = −Ai et seulement pour dimension que pour N = 1, 2, 4 ou 8 de la famille des
matrices de RH se compose de N − 1 matrices. Pour N = 1 , il n’y a pas de matrices,
mais seulement des calculs sur des nombres réels.
Pour N = 2 :
 
0 1
A1 =  (2.6)
−1 0
pour N = 4

     
0 1 0 0 0 0 1 0 0 0 0 1
     
−1 0 0 0  0 0 0 1  0 0 −1 0
A1 =   , A2 =   , A3 =  (2.7)
     

 0
 0 0 −1

−1 0
 0 0
  0
 1 0 0
0 0 1 0 0 −1 0 0 −1 0 0 0

pour N = 8

22
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

   
0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0
   
−1 0 0 0 0 0 0 0  0 0 0 1 0 0 0 0
   
0 −1 0 0 −1 0 0 0 0
   
 0 0 0 0  0 0 0
 
 0 0 1 0 0 0 0 0  0 −1 0 0 0 0 0 0
   
A1 =   , A2 =  
 0

0 0 0 0 −1 0 0
 0

0 0 0 0 0 1 0
   
 0 0 0 0 1 0 0 0  0 0 0 0 0 0 0 1
 
 
   
 0
 0 0 0 0 0 0 1
 0
 0 0 0 −1 0 0 0
0 0 0 0 0 0 −1 0 0 0 0 0 0 −1 0 0
   
0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
   
 0
 0 −1 0 0 0 0 0
 0
 0 0 0 0 1 0 0
0 −1 0 
   
 0 1 0 0 0 0 0 0  0 0 0 0 0
   
−1 0 0 0 0 0 0 0  0 0 0 0 0 0 0 −1
   
A3 =   , A4 =  
 0 0 0 0 0 0 0 1 −1 0 0 0 0 0 0 0
  

   
 0
 0 0 0 0 0 −1 0
  0 −1 0 0
 0 0 0 0
   
 0 0 0 0 0 1 0 0  0 0 1 0 0 0 0 0
  
0 0 0 0 −1 0 0 0 0 0 0 1 0 0 0 0
   
0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0
   
 0
 0 0 0 −1 0 0 0 

 0
 0 0 0 0 0 0 −1
0 0 0 −1
   
 0 0 0 0  0 0 0 0 1 0 0 0
   
 0 0 0 0 0 0 1 0  0 0 0 0 0 −1 0 0 
   

A5 =   , A6 = 
 
 0

1 0 0 0 0 0 0  0 0 −1 0 0 0 0 0 

   
−1 0 0 0 0 0 0 0  0 0 0 1 0 0 0 0
  
   
 0
 0 0 −1 0 0 0 0 
 −1
 0 0 0 0 0 0 0 
0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
 
0 0 0 0 0 0 0 1
 
 0 0 0 0 0 0 1 0
 
 
 0 0 0 0 0 1 0 0
 
 0 0 0 0 1 0 0 0
 
A7 =  
 0

0 0 −1 0 0 0 0
 
 0
 0 −1 0 0 0 0 0
 
 0 −1 0 0 0 0 0 0
 
−1 0 0 0 0 0 0
(2.8)

23
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

2.5.2 Codes real


Un code STBC est dit réel si tous les éléments de la matrice X sont réels, c’est-à-dire

∀k, sk ∈ R , 1 ≤ k ≤ K (2.9)

Les symboles envoyés sur toutes les antennes sont des symboles réels issus d’une constel-
lation entièrement réelle comme dans le cas de la modulation d’impulsion en amplitude
(PAM).

Théorème 2.5.1. Pour ne importe quel nombre d’antennes d’émission, nt , il existe


un rendement R = 1 .preuve Dans [JAF05]

Example 2.5.1. pour deux antennes en utilisons (2.6) comme suivant

X = s1 × I2 + s2 × A1
 
s1 −s2 
X =
s2 s1

Example 2.5.2. pour quatre antennes en utilisons (2.7)

X = s1 × I4 + s2 × A1 + s3 × A2 + s4 × A3
 
s s2 s3 s4
 1 
−s s1 −s4 s3 
 2
X =


−s3 s 4 s 1 −s 2


−s4 −s3 s2 s1

Example 2.5.3. pour trois antennes


 
s s2 s3
 1 
−s s1 −s4 
 2
X = 

−s3 s4 s1 
 
−s4 −s3 s2

Example 2.5.4. pour huit antennes en utilisons (2.8)

X = s1 × I8 + s2 × A1 + s3 × A2 + s4 × A3 + s5 × A4 + s6 × A5 + s7 × A6 + s8 × A7

24
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

 
s1 s2 s3 s4 s5 s6 s7 s8
 
−s s1 −s4 s3 −s6 s5 s8 s7 
 2 
−s3 s1 −s2 s7 s8 −s5 −s6 
 
 s4 
−s4 −s3 s s s −s s −s
 
2 1 8 7 6 5
X =
 
−s5 s6 −s7 −s8 s1 −s2 s3 s4  
 
−s −s −s s7 s2 s1 −s4 s3 
 6 5 8 
 
−s7 −s8 s 5 −s 6 −s 3 s 4 s 1 s 2

 
−s8 s7 s6 s5 −s4 −s3 −s2 s1

2.5.3 Codes complexe


Un code STBC est dit complexe si les éléments de la matrice X sont complexes,
c’est-à-dire
∀k, sk ∈ C , 1 ≤ k ≤ K (2.10)

Les symboles envoyés sur toutes les antennes sont issus d’une constellation entièrement
complexe, comme dans le cas des modulations de phase (MPSK), de fréquence (MFSK)
ou de la modulation d’amplitude en quadrature (MAQ).

Théorème 2.5.2. Un conception orthogonal complexe de rendement unitaire existe si


et seulement si nt = 2 .

Example 2.5.5. pour deux antennes


 
s1 −s∗2 
X =
s2 s∗1

1
Example 2.5.6. pour trois antennes R = 2
 
s1 s2 s3
 
−s s1 −s4 
 2 
−s3
 
 s4 s1  
−s4 −s3 s2 
 
X = ∗
 
 s1 s∗2 s∗3 
 
−s∗ ∗
s1 −s4 ∗
 2
 ∗
s∗4 s∗1 

−s
 3 
−s∗4 −s∗3 s∗2

Théorème 2.5.3. Un code espace-temps par bloc complexe, conçu à partir d’un concep-
tion orthogonal complexe l×n généralisée fournit une diversité de nt ×nr nr antennes de
réception et un décodage à maximum de vraisemblance séparée de ses symboles .preuve
Dans [JAF05]

Example 2.5.7 (pour expliciter cette théorème 2.5.3 on considéré un code d’Alamouti
avec deux cas canal MISO et canal MIMO).

25
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

Cas 1 (MISO). Dans une canal MISO 2 × 1 , l’utilisation probable de la mise à


disposition 2 antennes d’émission peut être comme la figure 2.2 :

Transmission
en premier temps symbole t1 les symbole s1 est envoyés par la première antenne et
les symbole s2 est envoyés par la deuxième antenne

TX1

st1
RX1
h11 b1

TX2 h12 + y1t

st2

Figure 2.2 – Canal MISO

en deuxième temps symbole t2 les symbole −s∗2 est envoyés par la première antenne
et les symbole s∗1 est envoyés par la deuxième antenne .

Réception
En t = t1 l’antenne RX1 reçoit les symbole s1 qui envoyés par la première antenne
TX1 et en même temps reçoit les symbole s2 qui envoyés par la deuxième antenne TX2
.
y11 = s1 h11 + s2 h12 + b1
 
h i s
 1  + b1
y11 = h11 h12 (2.11)
s2
En t = t2 le antenne RX1 reçoit les symbole −s∗2 qui envoyés par la première antenne
TX1 et en même temps reçoit les symbole s∗1 qui envoyés par la deuxième antenne TX2

y12 = s∗2 h11 + s∗1 h12 + b2


 
h s∗
i
y12 = h11 h12  2∗  + b2 (2.12)
s1

26
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

Détection
De 2.12 on a  
h i s
 1  + b∗
(y12 )∗ = h∗12 −h∗11 2 (2.13)
s2
2.11 avec 2.13
 
 
h h12    
y1  11  s b
 1 = ∗ ∗   1 +  1 (2.14)
 h12 −h11 
y12 |{z} | {z } s2 b∗2
C1 C2

Observons que C1 orthogonal sur C2 avec une diversité de 2 × 1 théorème 2.5.3 .


 
h i h
 12  = 0
h11 h∗12
−h∗11
C1
G1 = ||C1 ||
:détecté première symbole s1 : s̃1 = GH
1 Y
    
1 h ∗ h11
i h12  s1  b1 
s̃1 = GH
1 Y = h11 h12 + ∗
||C1 || h12 −h∗11 s2

b2
 
1 s1
s̃1 = [||H||2 0]   + GH1 b1
||C1 || s2 | {z }
n˜1

s̃1 = ||H||s1 + ñ1 (2.15)


C2
G2 = ||C2 ||
:détecté première symbole s2 : s̃2 = GH
2 Y
    
1 h h11 h12  s1  b1 
i
s̃2 = GH
2 Y = h12 −h∗11  ∗ + ∗
||C2 || h12 −h∗11 s2 b2
 
1 s1
s̃1 = [0 ||H||2 ]   + GH1 b2
||C1 || s2 | {z }
n˜2

s̃2 = ||H||s2 + ñ2 (2.16)

De 2.15 et 2.16 on a      
s˜ s ñ
 1  = ||H||  1  +  1  (2.17)
s˜2 s2 ñ2
Cas 2 (MIMO). Dans une canal MIMO 2 × 2 , l’utilisation probable de la mise à
disposition 2 antennes d’émission peut être comme la figure 2.3 :
en premier temps symbole t1 les symbole s1 est envoyés par la première antenne et
les symbole s2 est envoyés par la deuxième antenne
en deuxième temps symbole t2 les symbole −s∗2 est envoyés par la première antenne
et les symbole s∗1 est envoyés par la deuxième antenne .même façons de example 1

27
CHAPITRE 2. CODAGE ESPACE TEMPS PAR BLOC

TX1 RX1
h11
b1
st1
h12
+ y1t

h21
TX2 RX2
h22
b2
st2
+ y2t

Figure 2.3 – Canal MIMO

 
  h11 h12  
y11 b
 1
  
   h21 h22 
 y1    s  b1 
 2  1  2
 2∗  =  h∗12 −h∗11    +  2∗  (2.18)

y    s2 b 
 1   ∗ ∗   1 
h −h
y22∗ 22
| {z21} b2∗
 
|{z} 2
C1 C2
     
s˜ s ñ
 1  = ||H||  1  +  1  (2.19)
s˜2 s2 ñ2
De 2.17 et 2.19 Observons que s1 et s2 soient indépendants entre eux, fait qu’on
peut chercher séparément le minimum de chacun des symboles, en calculant :
nr
 !
2
X
 
arg min |s̃1 − ||H||s|
s

s∈S
 1 i=1
 
X = =  nr
! (2.20)
s2  X 
2 

arg min |s̃2 − ||H||s|
s∈S
i=1

On réduit ainsi la complexité de |S|2 à 2 × |S| .théorème 2.5.3

28
CHAPITRE 3

CODES ESPACE TEMPS PAR BLOC


DIFFÉRENTIELLE

Cette technique est une simple extension à un système MIMO des codes différentiels
utilisés dans une liaison point à point. Elle est basée sur une transmission des codes STB
orthogonaux , qui nous permettent d’exploiter la diversité d’émission. Les performances
des structures construites en utilisant cette technique sont dégradées de 3 dB par
rapport à celles des codes STB orthogonaux avec estimation parfaite du canal à la
réception. [HAS10]

3.1 Technique différentielle DPSK


Le schéma de principe de codeur DPSK est représenté dans la figure. 3.1 Le pro-
cessus de modulation DPSK est la suivante .L’émetteur envoie un symbole arbitraire
x0 au temps t0 . à l’instant t, l’émetteur choisit un symbole st en utilisant les bits de
données d’entrée b et la constellation M-PSK correspondant, où M = 2b .Utilisation du
signal transmis à l’instant t − 1 et le point de constellation sélectionné, xt = xt−1 st est
transmis à l’instant t.[JAF05][Moh13]

Example 3.1.1. Le tableau montre comment générer des signaux DPSK

En modulation DPSK, le décodeur n’a pas besoin d’effectuer une estimation de


canal.Les signaux transmis dépendent les uns des autres et le décodeur détecte les
données de symboles successifs. Supposons que nous transmettons xt au temps t et le

29
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

retard

xt−1

b Bits st Calcul xt
PSK
Symboles

Figure 3.1 – DPSK Encoder Schéma

st – 1 -1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1
xt−1 – 1 1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 1
xt 1 1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 1

Table 3.1 – Generation of DPSK Signal

gain de trajet entre l’émetteur et le récepteur est h. Notez que, pour l’instant, nous
supposons un système (SISO) et si le bruit est nt , le signal reçu est :[JAF05]

yt = hxt + nt (3.1)

Pour détecter les données transmises à l’instant t, récepteur calcule yt yt−1 , alors il

trouve le symbole le plus proche de la constellation M- PSK à yt yt−1 comme estimation

du symbole transmis . Pour étudier la détection régime, nous calculons le yt terme yt−1
comme suit :[JAF05]


yt yt−1 = (hxt + nt )(hxt−1 + nt−1 )∗

= hh∗ xt x∗t−1 + N

= |h|2 xt−1 st x∗t−1 + N

= |h|2 st + N
où N est un bruit gaussien, le gain de trajet h est supposé rester le même aux
instants t − 1 et t, Par conséquent, l’estimation optimale de st utilisant :
2

ŝt = arg min yt yt−1 − |h|2 st (3.2)

Étant donné que tous les points M-PSK sont sur le même cercle, le facteur d’échelle
2
|h| ne change pas la géométrie des régions de détection en (3.2), comme illustré à la
figure 3.2. Par conséquent, un problème d’optimisation équivalent est [JAF05]
2

ŝt = arg min yt yt−1 − st (3.3)

30
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

2
s2
y
1
|h|2 s2
s1
|h|2 s1

Figure 3.2 – Deux régions de décodage d’une modulation PSK et sa version à l’échelle.

La détection non-cohérente de st symbole en ignorant |h|, comme ci-dessus, les ré-


sultats dans une certaine dégradation de la performance . Pour quantifier cette perte
de performance, nous calculons le RSB du récepteur pour la même puissance de trans-
mission dans les deux cas . Pour le régime de détection non-cohérente ci-dessus, la
puissance du signal au niveau du récepteur est |h|4 . . Ce est égal à |h|2 fois la puissance
de signal pour le système de détection cohérente . La puissance du bruit au niveau du
récepteur pour le système de détection non-cohérente ci-dessus est approximativement
2 |h|2 fois la puissance du bruit pour la détection cohérente . donc le RSB reçu du dis-
positif de détection différentielle est approximativement la moitié de celle du système
de détection cohérente pour la même puissance d’émission . Cela se traduit par une dif-
férence 3dB dans les performances des deux systèmes pour un canal à évanouissement
de Rayleigh.[JAF05]

3.2 Codes différentiels STBC


3.2.1 Construction de codes STB orthogonaux différentiels
Le schéma principe de D-STBC codeur basé sur OSTBC est donnée à la Figure
3.3 Pour deux antennes d’émission , Initialement, l’émetteur commence à envoyer 2
symboles de modulation s1 , s2 quelconques (symboles de référence non connus à la
réception et sans information) pendant la première durée symbole, puis à l’instant
suivant et selon la technique d’Alamouti il transmet les signaux [−s∗2 s∗1 ]T les signaux
transmis à l’instant 2t−1 par les 2 antennes d’émission, et [−s∗2t s∗2t−1 ]T les signaux émis
à l’instant 2t . [HAS10] A l’instant 2t + 1, les 2mb bits d’information (mb l’efficacité

31
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

retard
(s2t−1 , s2t )

2mb Bits (R1 , R2 ) Calcul


Etiquetage STBC
Symboles (s2t+1 , s2t+2 )

Figure 3.3 – schéma du code d’Alamouti différentiel

spectrale) sélectionnent les 2 coefficients complexes R1 , R2 selon une cartographie qui


sera expliquée dans la suite de ce paragraphe. Puis on calcule à partir de ces coefficients
et du mot de code spatio-temporel précédent, les signaux s2t+1 , s2t+2 selon la relation
suivante :
[s2t+1 s2t+2 ]T = R1 ([s2t−1 s2t ]T ) + R2 ([s∗2t s∗2t−1 ]T ) (3.4)

L’encodeur d’Alamouti construit par suite le mot de code spatio-temporel qui sera
transmis pendant 2 durées symbole. Cette technique se répète jusqu’à la transmission
d’une trame d’information complète. Il est clair que l’information est contenue dans les
coefficients complexes, ce qui revient à dire que la construction du code différentiel se
ramène au choix de l’ensemble R des vecteurs [R1 R2 ] .[HAS10]
Soit la constellation :
( )
e2πki/M
S= √ , k = 0, . . . , M − 1 (3.5)
nt

des symboles de la modulation M-PSK normalisée par rapport au nombre d’antennes


d’émission. Ceci implique que l’énergie des signaux transmis par les 2 antennes d’émis-
sion pendant une durée symbole est égale à l’unité. D’autre part, les signaux [s2t−1 s2t ]T
et [s∗2t−1 s∗2t ]T sont orthogonaux, ce qui implique que ces signaux constituent une base
orthonormale et par suite chaque vecteur [s2t+1 s2t+2 ]T peut être représente d’une fa-
çon unique sur cette base. Pour obtenir le premier coefficient R1 , il suffit de multiplier
3.4 par le vecteur [s2t−1 s2t ]H et de même pour le coefficient R2 . On obtient alors

R1 = s2t+1 s∗2t−1 + s2t+2 s2t


(3.6)
R2 = −s2t+1 s2t + s2t s2t−1

Il très facile de vérifier que le vecteur [R1 R2 ]T est de norme égale à l’unité [eHJ00]. En
plus, comme la base est orthonormale, elle préserve la distance euclidienne entre deux
points de l’espace c’est-à-dire que la distance euclidienne entre 2 éléments [R1 R2 ]T et
[R̂1 R̂2 ]T de l’ensemble R est égale à celle entre [s2t+1 s2t+2 ]T et [ŝ2t+1 ŝ2t+2 ]T .

||[R1 R2 ]T − [R̂1 R̂2 ]T || = ||[s2t+1 s2t+2 ]T − [ŝ2t+1 ŝ2t+2 ]T || (3.7)

L’équation (3.7) , montre que l’étiquetage est un changement de base. En fait, au lieu

32
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

n o
de représenter le vecteur [s2t+1 s2t+2 ]T dans la base canonique [1 0]T , [0 1]T on le
n o
représente dans la base orthonormée [s2t−1 s2t ]T , [s∗2t−1 s∗2t ]T avec les coordonnées
[R1 R2 ]T . En plus, d’après l’équation (3.7) pour un vecteur [s2t−1 s2t ]T donné et
une constellation S déterminée il y a M 2 = 22mb vecteurs [R1 R2 ]T qui correspondent
aux signaux [s2t+1 s2t+2 ]T En d’autre termes le cardinal de l’ensemble R est égal à
22mb et il existe une bijection 1 entre l’ensemble des combinaisons possibles de 2mb bits
d’information et l’ensemble R de vecteurs (R1 R2 ) . L’association d’un élément de R à
une séquence binaire est arbitraire [JAF05][eHJ00] mais l’important est que la fonction
d’étiquetage soit bijective.[HAS10][eHJ00]
Pour expliciter cette bijection on considère une modulation BPSK . On prend les
1
deux symboles initiaux suivants s2t−1 = s2t = √ Chaque couple d’éléments binaires
2
(b1 , b2 ) ∈ {0, 1}2 qui arrive à l’émetteur sera associé à deux symboles de BPSK.

(−1)b1
b1 −→ s2t+1 = √ , b1 = 0, 1
2
(3.8)
b2
(−1)
b2 −→ s2t+2 = √ , b2 = 0, 1
2

En considérant l’équation 3.6, les symboles de référence et toutes les possibilités de


[s2t+1 s2t+2 ]T

(b1 , b2 ) −→ (BP SK) −→ (R1 , R2 )

1 1
(0, 0) −→ (√ , √ ) −→ (1, 0)
2 2

1 1
(0, 1) −→ (√ , −√ ) −→ (0, 1)
2 2

1 1
(1, 0) −→ (− √ , √ ) −→ (0, −1)
2 2

1 1
(1, 1) −→ (− √ , − √ ) −→ (−1, 0)
2 2
En tenant compte de cet étiquetage et en considérant l’équation (3.4), on construit
les signaux [s2t+1 s2t+2 ]T à partir des signaux [s2t−1 s2t ]T et [s∗2t−1 s∗2t ]T . Ensuite en
utilisant la technique d’Alamouti on peut transmettre le mot de code correspondant.
1. Soit f une application de E dans F .f est bijective si et seulement si tout élément de l’ensemble
d’arrivée F a exactement un antécédent par f dans l’ensemble de départ E , c’est-à-dire si : ∀z ∈
F ∃!x ∈ E/f (x) = z

33
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

3.2.2 Décodage des codes différentiels


On va supposer maintenant que le canal reste constant pendant la transmission
de 2 mots de code spatio-temporel consécutifs au minimum, et afin de simplifier les
équations de décodage on va considérer une seule antenne à la réception (nr = 1)Soit
(h1 , h2) le coefficient d’atténuation du canal entre la première antenne de transmission
(resp . la deuxième antenne) et l’antenne à la réception. On considère que le canal est
de type Rayleigh non sélectif en fréquence et on suppose que les coefficients sont des
variables gaussiennes complexes .[HAS10] Les signaux reçus aux instants 2t − 1 , 2t ,
2t + 1 et 2t + 2
en t = t2t−1
r1 = h1 s2t−1 + h2 s2t + n1 (3.9)

en t = t2t
r2 = −h1 s∗2t + h2 s∗2t−1 + n2 (3.10)

en t = t2t+1
r3 = h1 s2t+1 + h2 s2t+2 + n3 (3.11)

en t = t2t+1
r4 = −h1 s∗2t+2 + h2 s∗2t+1 + n4 (3.12)

où n1 , n2 , n3 et n4 sont des variables gaussiennes complexes circulaires centrées


indépendantes de variance égale à σ 2 qui représentent le bruit. Grâce à l’orthogona-
lité du code, on peut calculer les variables de décision présentées ci-dessous qui nous
permettent d’avoir un décodage linéaire selon le MLD.[HAS10]
de (3.11) et (3.12) :
      
r3 h1 h2  s2t+1  n3 
y1 =  ∗  =  ∗ + ∗ (3.13)
r4 h2 −h∗1 s2t+2 n4
| {z } | {z } | {z }
H X1 ñ1

de (3.9) et (3.10) :
      
r1 h1 h2  s2t−1  n1 
y2 =  ∗  =  ∗ + ∗ (3.14)
r2 h2 −h∗1 s2t n2
| {z } | {z } | {z }
H X2 ñ2

      
r2 h1 h2   −s2t   n2 
y3 =  ∗  =  ∗ + (3.15)
−r1 h2 −h∗1 s2t−1 −n∗1
| {z } | {z } | {z }
H X3 ñ3

on calculons les coefficients R1 et R2

34
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

R̃1 = y1 y2H

= (HX1 + n˜1 )(HX2 + n˜2 )H

= HX1 X2H HH + N1
(3.16)

= (|h1 |2 + |h2 |2 ) (s2t+1 s∗2t−1 + s2t+2 s∗2t ) +N1


| {z }
R1

R̃1 = (|h1 |2 + |h2 |2 )R1 + N1

R̃2 = y1 y3H

= (HX1 + n˜1 )(HX3 + n˜3 )H

= HX1 X3H HH + N2
(3.17)

= (|h1 |2 + |h2 |2 ) (−s2t+1 s2t + s2t s2t−1 ) +N2


| {z }
R2

R̃2 = (|h1 |2 + |h2 |2 )R2 + N2


donc :      
R̃ R N
 1  = (|h1 |2 + |h2 |2 )  1  +  1  (3.18)
R̃2 R2 N2
où N1 , N2 sont 2 variables gaussiennes complexes centrées indépendantes de va-
riance égale à 2σ 2 . Le facteur 2 qui multiplie la variance du bruit induit une dégradation
de 3 dB par rapport au cas non différentiel. En plus, comme tous les coefficients de
décision ont la même norme, par suite le facteur |h1 |2 + |h2 |2 n’influe pas sur la région
de décision et le détecteur choisit maintenant le vecteur (R1 , R2 ), de l’ensemble R ,
qui a la distance euclidienne minimale par rapport aux variables de décision R1 , R2
comme présenté sur le schéma donné en Figure 3.4[HAS10].
   
R̂1 arg min |y1 y2H − R1 |2
   



 =


 (3.19)
H 2
R̂2 arg min |y1 y3 − R2 |

35
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

(R̃1 , R̃2 ) (R1 , R2 )estime


calcul des MLD sur 2mb Bits
Etiqutage
vars decision R

retaed

Figure 3.4 – Le schéma de décodage du code d’Alamouti différentiel.

3.2.3 Décodage pour multiple antennes réceptrices


Dans ce paragraphe, nous étendons le concept de la réception de DSTBC non
cohérente pour supporté plusieurs antennes de réception, ce qui pourrait à profit de
retour à partir du niveau supérieur de la diversité.[Zhu14]
pour deux antennes de réception :
en t = 2t − 1 
1 1
 r2t−1 = h11 s2t−1 + h21 s2t + n2t−1


(3.20)

 2
 2
r2t−1 = h12 s2t−1 + h22 s2t + n2t−1
en t = 2t 



1
r2t = −h11 s∗2t + h21 s∗2t−1 + n12t

(3.21)
2
= −h12 s∗2t + h22 s∗2t−1 + n22t


r2t
en t = 2t + 1 
1


 r2t+1 = h11 s2t+1 + h21 s2t+2 + n12t+1
(3.22)

2
= h12 s2t+1 + h22 s2t+2 + n22t+1


r2t+1
en t = 2t + 2 



1
r2t+2 = −h11 s∗2t+2 + h21 s∗2t+1 + n12t+2

(3.23)
2
= −h12 s∗2t+2 + h22 s∗2t+1 + n22t+2


r2t+2

1
R̃1 = r2t+1 1
(r2t−1 )∗ + (r2t+2
1
)∗ r2t
1 2
+ r2t+1 2
(r2t−1 )∗ + (r2t+2
2
)∗ r2t
2
(3.24)

1 1 ∗ 1 1 2 2 ∗ 2 2
R̃2 = r2t+1 (r2t ) − (r2t+2 )r2t−1 + r2t+1 (r2t ) − (r2t+2 )r2t−1 (3.25)

      
nr nr
R̃ R
 1  =  (|hj,1 |2 + |hj,2 |2 )  1  +
X X N
 j,1  (3.26)
R̃2 j=1 R2 j=1 Nj,2

36
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

3.3 Extension à plus de deux antennes


Les codes d’espace-temps en blocs différentiels décrits dans la section précédente
peuvent être étendus à nt ≥ 2 antennes d’émission . Dans cette section, nous détaillons
comment concevoir des schémas de modulation espace-temps différentielles pendant
plus de deux antennes d’émission. Nous considérons l’extension à la fois pour le cas
général [JAF05] .
Pour le cas général, nous nous concentrons sur la diversité maximal et les codes
à rendement maximal. À rendement maximal OSTBC ne existent que pour les réels
constellations avec quatre ou huit antennes d’émission. Nous considérons le cas de
quatre antennes d’émission tout en soulignant qu’un code similaire peut être conçu
pour huit antennes d’émission. Aussi un DSTBC pour trois antennes est possible en
supprimant les colonnes du schéma de quatre antennes. De même, les codes pour cinq,
six et sept antennes d’émission peuvent être conçus du régime des huit antennes. Code
à demi-rendement pour les constellations complexes sont également possibles. [JAF05]

3.3.1 STBC différentielle pour quatre antennes d’émission


Le schéma principe d’un codage différentiel pour plus de deux antennes d’émission
est similaire à celle de la figure 3.3. Le nombre de bits d’entrée est Kb, au lieu de 2b,
pour transmettre des symboles K par bloc. Pour un rendement maximal OSTBC avec
quatre antennes d’émission, le nombre de symboles est K = 4 comme dans (2.5.4).
[Vuc03]
Notons les signaux modulés dans le t − ème opération de codage par xt

xt = (x1t , x2t , x3t , x4t ) (3.27)

où xti , i = 1, 2, 3 et 4 , est le signal modulé dans la i − ième opération de codage


de t − iéme. Pour la (t + 1) − ième opération de codage, un bloc de km = 4m bits
d’entrée arrive à l’encodeur. Le bloc de message est utilisé pour choisir un vecteur réel
de coefficient de longueur unitaire, désigné par R , et donnée par [Vuc03]

R = (R1 , R2 , R3 , R4 ) (3.28)

Ensuite, en fonction des signaux modulés précédents xt et les coefficients R actuelles,


le codeur calcule les signaux modulés pour la (t + 1) − ième bloc comme
4
X
xt+1 = Ri .Vi (xt ) (3.29)
i=1

37
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

où Vi (xt ) sont vecteurs définie comme

V1 (xt ) = (x1t , x2t , x3t , x4t )

V2 (xt ) = (x2t , −x1t , x4t , −x3t )


(3.30)
V3 (xt ) = (x3t , −x4t , −x1t , x2t )

V4 (xt ) = (x4t , x3t , −x2t , −x1t )

Les vecteurs à quatre dimensions forment une base orthonormée pour un espace de
signaux réel à quatre dimensions. Si les deux côtés de (3.29) sont multipliés par ViT (xt ),
avec la condition orthogonalité des vecteurs de Vi (xt ), nous pouvons représenter les
coefficients R par [Vuc03][JAF05]

Ri = xt+1 ViT (xt ) (3.31)

Notons V l’ensemble de vecteur R de longueur unité . étant donne le signal de


vecteur xt pour le bloc de t − ieme , il existe 24m vecteurs de coefficients que génèrent
des vecteurs de signaux valides xt+1 pour le (t + 1) − ième bloc, correspondant à tous
les 4m bits d’entrée possibles .Donc, il existe un mappage un-à-un entre les vecteurs de
longueur d’unité de V et les blocs de messages d’entrée. Le point clé dans la construction
d’un système différentiel est de calculer l’ensemble des vecteurs de coefficients V et map
chaque bloc de bits 4m d’information à l’ensemble.[Vuc03][JAF05]
1
Example 3.3.1. Considérons une constellation BPSK de deux points de signal − et
2
1
l’amplitude du signal est divisée en deux de telle sorte que la puissance d’émission
2
totale des signaux en bande de base dans un système à quatre antennes d’émission
est une. soit les quatre signaux de référence modulé à la transmission initiale, notée
x10 , x20 , x30 , x40 pour le régime différentiel être 21 , ce est à dire

1 1 1 1
x0 = (x10 , x20 , x30 , x40 ) = ( , , , ) (3.32)
2 2 2 2

Pour les quatre bits d’entrée au premier bloc de codage b1 = (b11 , b21 , b31 , b41 ) nous choi-
sissons quatre signaux BPSK, notée x11 , x21 , x31 , x41 sur la base du constellation suivant
i
(−1)b1
bi1 −→ xi1 = , i = 1, 2, 3, 4 (3.33)
2

38
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

Les coefficients peuvent être calculés à partir de (3.29) que

1
R1 = 2
(x11 , x21 , x31 , x41 )

1
R2 = 2
(x21 , −x11 , x41 , −x31 )
(3.34)
1
R3 = 2
(x31 , −x41 , −x11 , x21 )

1
R4 = 2
(x41 , x31 , −x21 , −x11 )

Par conséquent, un mappage un-à-un à partir de chaque bloc de quatre bits d’entrée
à un vecteur de coefficient est défini par (3.33) et (3.34). Cette cartographie est basée
sur les signaux de référence donnés par (3.32) et est utilisé dans la séquence de données
entier.[Vuc03]

3.3.2 Décodage des codes différentiels pour 4 antennes


Maintenant, nous considérons décodage différentiel pour le code X4 . Notez que xt
et xt+1 sont les vecteurs de signaux modulés et pour le t − ième (t + 1) − ième message
de blocage, respectivement. Selon le X4 matrice de transmission, pour chaque bloc de
données, il existe quatre signaux reçus par la suite, en supposant que une antenne de
réception est utilisé. On note les signaux reçus pour le message de bloc de t − ième par
r1t , r2t , r3t , r4t et les signaux reçus pour le (t+1)−ème bloc message par r1t+1 , r2t+1 , r3t+1 , r4t+1
les signaux reçus peuvent être écrites sous la forme de vecteur suivant .[Vuc03]

r1t = (r1t , r2t , r3t , r4t ) = V1 (xt )H + (nt1 , nt2 , nt3 , nt4 ) (3.35)

r2t = (−r2t , r1t , r4t , −r3t ) = V2 (xt )H + (−nt2 , nt1 , nt4 , −nt3 ) (3.36)

r3t = (−r3t , −r4t , r2t , r1t ) = V3 (xt )H + (−nt3 , −nt4 , nt1 , nt1 ) (3.37)

r4t = (−r4t , r3t , −r2t , r1t ) = V3 (xt )H + (−nt4 , nt3 , −nt2 , nt1 ) (3.38)

rt+1 = (r1t+1 , r2t+1 , r3t+1 , r4t+1 ) = V1 (xt )H + (nt+1 t+1 t+1 t+1
1 , n2 , n3 , n4 ) (3.39)

où H est une matrice 4 × 4 définie par


 
h h2 h3 h4
 1 
h −h −h h3 
 2 1 4
H= (3.40)


h3
 h4 −h 1 −h 2

h4 −h3 h2 −h1

39
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

nous pouvons construire les statistiques de décision signale R̃i , i = 1, 2, 3, 4 , comme


le produit intérieur de vecteurs rt+1 et rit . le signal de statistiques de décision peut être
calculé comme .[Vuc03]

R̃i = rt+1 .rit

4
|hj |2 .V1 (xt+1 )ViT (xt ) + Ñi
X
=
j=1

4 (3.41)
2
.xt+1 ViT (xt )
X
= |hj | + Ñi
j=1

4
|hj |2 Ri + Ñi
X
=
j=1

Écrivons les statistiques de décision signaux dans une forme vectorielle


 
4
|hj |2  .(R1 , R2 , R3 , R4 ) + (Ñ1 , Ñ2 , Ñ3 , Ñ4 )
X
(R̃1 , R̃2 , R̃3 , R̃4 ) =  (3.42)
j=1

Pour les codes X3 avec trois antennes d’émission , le rendement de code est le même
que pour X4 , et X3 la matrice de transmission est identique à la première trois rangées
de X4 . Par conséquent, les mêmes codage et de décodage des algorithmes différentiels
pour X4 peut être appliqué directement pour le code X3 . Dans ce cas, le signal reçu
peut également être représenté par (3.35) - (3.39), où h4 dans la matrice est mise à
zéro.[Vuc03]
 
h h2 h3 0
 1 
h −h 0 h3 
 2 1
H= 
 (3.43)
h3
 0 −h1 −h2 
0 −h3 h2 −h1
Le vecteur de signal de statistiques de décision au niveau du récepteur est donné par
 
3
|hj |2  .(R1 , R2 , R3 , R4 ) + (Ñ1 , Ñ2 , Ñ3 , Ñ4 )
X
(R̃1 , R̃2 , R̃3 , R̃4 ) =  (3.44)
j=1

Par conséquent, ce régime peut réaliser la diversité à trois niveaux avec trois antennes
d’émission et une antenne de réception.

40
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

3.3.3 Différentiel STBC avec Constellations complexes pour


trois et quatre antennes d’émission
DSTBC schéma de codage avec quatre antennes d’émission peut être définie sur
la base du X4c de matrice de transmission . Le codeur différentiel de constellations
complexes est similaire à celle le Réel constellations des signaux . à t − iéme l’opération
de codage , le codeur prend 4m bits d’entrée et choisit un vecteur des coefficient réel
de longueur d’unité .[Vuc03]
La règle d’encodage différentiel est représenté par (3.29) , nous allons définir un
nouvel ensemble de vecteurs comme

V1c (xt ) = (x1t , x2t , x3t , x4t , (x1t )∗ , (x2t )∗ , (x3t )∗ , (x4t )∗ )

V2c (xt ) = (x2t , −x1t , x4t , −x3t , (x2t )∗ , −(x1t )∗ , (x4t )∗ , −(x3t )∗ )
(3.45)
V3c (xt ) = (x3t , −x4t , −x1t , x2t , (x3t )∗ , −(x4t )∗ , −(x1t )∗ , (x2t )∗ )

V4c (xt ) = (x4t , x3t , −x2t , −x1t , (x4t )∗ , (x3t )∗ , −(x2t )∗ , −(x1t )∗ )

Ces vecteurs sont orthogonaux les uns aux autres et constituent une base orthogonale
pour les quatre sous-espace de dimension de tous les quatre symboles de la constellation
de dimension arbitraires et leurs conjugués dans un espace huit dimensions.[Vuc03]
notez que la vecteurs Vic (xt ) peut être exprimée comme :

Vic (xt ) = (Vi (xt ), Vi∗ (xt )) i = 1, 2, 3, 4 (3.46)

où Vi∗ (xt ) désigne les conjugués de Vi (xt ). La règle d’encodage différentiel (3.29) peut
être réécrite comme
4
V1c (xt+1 ) = Ri .Vic (xt )
X
(3.47)
i=1

Si les deux côtés de (3.47) sont multipliés par Vic (xt )H , due à l’orthogonalité des
vecteurs de Vic (xt ) , nous pouvons calculer les coefficients différentiels que :

Ri = 1
2
(V1 (xt+1 )ViH (xt ) + V1∗ (xt+1 )ViT (xt )
n o
(3.48)
= < V1 (xt+1 )ViH (xt )

3.3.4 Décodage différentiel avec Constellations complexes


Considérons un système avec une seule antenne de réception . on note les signaux
reçus pour le message de bloc de t − iéme par r1t , r2t , . . . , r8t , et les signaux reçus pour la
(t + 1) − ième bloc message r1t+1 , r2t+1 , . . . , r8t+1 , Les signaux reçus peuvent être écrites

41
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

sous la forme de vecteur suivant

r1t = ( r1t , r2t , r3t , r4t , (r5t )∗ , (r6t )∗ , (r7t )∗ , (r8t )∗ )

(3.49)
= V1c (xt )Hc + (nt1 , ntn , nt3 , nt4 , (nt5 )∗ , (nt6 )∗ , (nt7 )∗ , (nt8 )∗ )

r2t = (−r2t , r1t , r4t , −r3t , −(r5t )∗ , (r6t )∗ , (r7t )∗ , −(r8t )∗ )

(3.50)
= V2c (xt )Hc + (−nt2 , nt1 , nt4 , −nt3 , −(nt6 )∗ , (nt5 )∗ , (nt8 )∗ , −(nt7 )∗ )

r3t = (−r3t , −r4t , r2t , r1t , −(r7t )∗ , −(r8t )∗ , (r5t )∗ , (r6t )∗ )

(3.51)
= V2c (xt )Hc + (−r3t , −r4t , r2t , r1t , −(nt7 )∗ , −(nt8 )∗ , (nt5 )∗ , (nt6 )∗ )

r4t = (−r4t , r3t , −r2t , r1t , −(r8t )∗ , (r7t )∗ , −(r6t )∗ , (r5t )∗ )

(3.52)
= V2c (xt )Hc + (−r4t , r3t , −r2t , r1t , −(nt8 )∗ , (nt7 )∗ , −(nt6 )∗ , (nt5 )∗ )

rt+1 = (r1t+1 , r2t+1 , r3t+1 , r4t+1 , (r5t+1 )∗ , (r6t+1 )∗ , (r7t+1 )∗ , (r8t+1 )∗ )

= V2c (xt+1 )Hc + (nt+1 t+1 t+1 t+1 t+1 ∗ t+1 ∗ t+1 ∗ t+1 ∗
1 , n2 , n3 , n4 , (n5 ) , (n6 ) , (n7 ) , (n8 ) )
(3.53)
c
où H est une matrice 8 × 4 définie par
 
h h2 h3 h4 h∗1 h∗2 h∗3 h∗4
 1 
h −h −h
2 1 4 h3 h∗2 −h∗1 −h∗4 h∗3 
Hc = 
 ∗ ∗ ∗

∗
 (3.54)
h3
 h4 −h1 −h2 h3 h4 −h1 −h2 
h4 −h3 h2 −h1 h∗4 −h∗3 h2 −h∗1

Maintenant, nous construisons les signaux Statistiques de décision R̃i , i = 1, 2, 3, 4


comme la partie réelle du produit scalaire de vecteurs rt+1 , rit , Le signal de statistiques
de décision peut être calculée comme .[Vuc03]

R̃i = < {rt+1 .rti }

4 n o
|hj |2 .< V1 (xt+1 ViH (xt ) + Ñi
X
= 2
j=1 (3.55)

4
|hj |2 .Ri + Ñi
X
= 2
j=1

42
CHAPITRE 3. CODES ESPACE TEMPS PAR BLOC DIFFÉRENTIELLE

Les statistiques de décision signaux dans une forme de vecteur sont donnés par
 
3
|hj |2  .(R1 , R2 , R3 , R4 ) + (Ñ1 , Ñ2 , Ñ3 , Ñ4 )
X
(R̃1 , R̃2 , R̃4 , R̃4 ) = 2  (3.56)
j=1

43
CHAPITRE 4

SIMULATION

4.1 Introduction
De manière générale, la simulation permet d’étudier et expérimenter un système
donné dont on connaît les interactions complexes, de mesurer les effets de certains
changements dans les interactions sur le comportement du système, d’expérimenter de
nouvelle situations. Lorsque dans la simulation intervient un élément aléatoire, on parle
de simulation aléatoire.

4.1.1 méthode Monte-Carlo


Méthode de Monte-Carlo est un algorithme mathématique comprend répéter l’ex-
périence des valeurs primitives aléatoires, communément utilisé cette méthode dans les
systèmes de simulation d’ingénierie. Cette méthode comporte cinq étapes :
– Identification, champ possible des valeurs de revenus
– Générer des valeurs aléatoires aux valeurs de revenus dans les limites de la
connaissance
– L’application d’opérations mathématiques nécessaires sur ces valeurs
– Accumulation des résultats actuels avec les résultats précédents
– Le processus est répété un nombre de fois spécifié (augmente la précision des
résultats de l’augmentation du nombre d’itérations)

44
CHAPITRE 4. SIMULATION

rsb = 0

i=1

info bits

Etiq

Alamouti

MIMO

Decodage

MLD

Etiq inv

i=i+1

i = f oi

rsb = rsb + 2

rsb = rsbmax

TEB

Figure 4.1 – diagramme des fonction de simullation BPSK,QPSK

1. rsb : rapport signale sur bruit


2. f oi :nombre d’itérations
3. info bits :l’information de n bits
4. Etiq : fonction Étiquetage
5. Alamouti : codage espace temps
6. MIMO : fonction de canal MIMO
7. Decodage : fonction décodage
8. MLD : fonction détection par maximum de vraisemblance
9. Etiq inv : fonction inverse l’étiquetage
10. TEB : Le taux d’erreur

45
CHAPITRE 4. SIMULATION

4.2 Simulation et évaluation des performances


4.2.1 DSTBC 2 ×1 BPSK
1. exécuter logiciel Gnu Octave ou MATLAB .
2. Entrée dans le dossier de simulation par la commande cd , ou d’une autre ma-
nière.
3. exécuter la commande : trac_perf(DSTBC_BPSK(2,1),1);

Résultats

Figure 4.2 – résultats de performance DSTBC ; 2 × 1 ; BPSK

46
CHAPITRE 4. SIMULATION

4.2.2 DSTBC 2 ×2 BPSK


exécuter la commande : trac_perf(DSTBC_BPSK(2,2),1);

Résultats

Figure 4.3 – résultats de performance DSTBC ; 2 × 2 ; BPSK

47
CHAPITRE 4. SIMULATION

4.2.3 DSTBC 2 × 1 vs 2 × 2 BPSK


Résultats

Figure 4.4 – résultats de performance DSTBC ; 2 × 1 vs 2 × 2 ; BPSK

On observons que le codeur DSTBC (2 × 2) présente des performance meilleurs que


le codeur DSTBC (2 × 1) . et ceci car la diversité dans le premier cas et plus grand que
le deuxièmes cas .

48
CHAPITRE 4. SIMULATION

4.2.4 DSTBC VS OSTBC BPSK


DSTBC VS OSTBC (2 × 1)

Figure 4.5 – résultats de performance DSTBCvsOSTBC ; 2 × 1 ; BPSK

49
CHAPITRE 4. SIMULATION

DSTBC VS OSTBC (2 × 2)

Figure 4.6 – résultats de performance DSTBCvsOSTBC ; 2 × 2 ; BPSK

On remarquons dégradation de ≈ 3dB entre OSTBC et DSTBC cette dégradation


est dûe à l’influence de bruit page(30) que est double dans les codes différentielle par
contre le DSTBC ne nécessite pas la connaissance du martic de canal .

50
CHAPITRE 4. SIMULATION

4.2.5 DSTBC 2 ×1 QPSK

Figure 4.7 – résultats de performance DSTBC ; 2 × 1 ; QPSK

51
CHAPITRE 4. SIMULATION

4.2.6 DSTBC 2 ×2 QPSK

Figure 4.8 – résultats de performance DSTBC ; 2 × 2 ; QPSK

52
CHAPITRE 4. SIMULATION

4.2.7 DSTBC 2 × 1 vs 2 × 2 QPSK

Figure 4.9 – résultats de performance DSTBC ; 2 × 1 vs 2 × 2 ; QPSK

53
CHAPITRE 4. SIMULATION

4.2.8 DSTBC VS OSTBC QPSK


DSTBC VS OSTBC (2 × 1)

Figure 4.10 – résultats de performance DSTBCvs OSTBC ; 2 × 1 ; QPSK

54
CHAPITRE 4. SIMULATION

DSTBC VS OSTBC (2 × 2)

Figure 4.11 – résultats de performance DSTBCvs OSTBC ; 2 × 2 ; QPSK

55
CHAPITRE 4. SIMULATION

4.2.9 DSTBC BPSK VS DSTBC QPSK


DSTBC BPSK VS DSTBC QPSK (2 × 1)

Figure 4.12 – résultats de performance DSTBC BPSK vs DSTBC QPSK ; 2 × 1

56
CHAPITRE 4. SIMULATION

DSTBC BPSK VS DSTBC QPSK (2 × 1)

Figure 4.13 – résultats de performance DSTBC BPSK vs DSTBC QPSK ; 2 × 2

à partir les figures (4.7 –4.13) nous avons présenté l’effet de modulation QPSK
associe avec codage DSTBC . on remarque de dégradation des performances de QPSK
para-port BPSK et ceci revient à la régime de decisin de BPSK qu’est supérieure à
celle de QPSK .

57
CHAPITRE 4. SIMULATION

4.2.10 DSTBC pour trois et quatre antennes d’émission


DSTBC pour trois

trac_perf(DSTBC4x_BPSK(3,1),1)

Figure 4.14 – résultats de performance DSTBC BPSK ; 3 × 1

58
CHAPITRE 4. SIMULATION

DSTBC pour quatre

trac_perf(DSTBC4x_BPSK(4,1),1)

Figure 4.15 – résultats de performance DSTBC BPSK ; 4 × 1

59
CHAPITRE 4. SIMULATION

Figure 4.16 – résultats de performance DSTBC BPSK ; 4 × 1 vs 3 × 1

60
CONCLUSION GÉNÉRALE

Dans ce travail nous avons étudie et évalué le codage espace temps par bloc diffé-
rentielle DSTBC avec differentes configuration et modulation .
Ce type de codage exploite l’orthogonalité qui est déjà existe dans les codes OSTBC
, cette orthogonalité minimise considérablement la complexité de décodeur au niveau
de réception , en plus ça le code DSTBC represente un avantage très important car il
fonction sans besoin de connaitre la matrice de canal MIMO , cette matrice de canal
MIMO est généralement variable dans le temps mais aussi les algorithmes d’estimation
assicie ne sont pas facile à implémenter .
On a observé que ce type de codage DSTBC est limité seulement pour les canaux
MIMO non sélectif on fréquence . et nous proposons comme des perspectives de tra-
vailler dans le futur pour entamer ce problème

61
ANNEXE PROGRAMMES

Ces programmes sont programmés par logiciel GNU Octave est compatible avec
le logiciel MATLAB.
Programme 4.1– Fonction DSTBC BPSK
1 function teb_rsb=DSTBC_BPSK(nt,nr)
2 rsb_min=0; rsb_max=16;bloc=16;
3 t_teb=zeros(1,(rsb_max-rsb_min)/2+1); % declaration vect TEB total
4 foi=10000;
5 for rsb=rsb_min:2:rsb_max
6 fprintf(’pour rsb= %2i :’,rsb);
7 for i=1:foi
8 data = randi([0 1],1,bloc);
9 s=Etiqutage(data);
10 sig = sqrt(0.5/(10^(rsb/10)));
11 no=sig*(randn(nr,nt,bloc+1)+1j*randn(nr,nt,bloc+1))/sqrt(2);
12 H=rayleighCH(nr,nt);
13 X1=[s(1) -conj(s(2)); s(2) conj(s(1))];
14 Y1=H*X1 + no(:,:,bloc+1);
15 for k=3:2:bloc+1
16 X=[s(k) -conj(s(k+1)); s(k+1) conj(s(k))];
17 Y=H*X+ no(:,:,k-2);
18 R_i=Decodage_2Xnr(Y,Y1,nr);
19 s_hat=MLD_2TX(R_i(1),R_i(2));% detection par MLD
20 p=inv_Etiqutage(s_hat(1),s_hat(2)); % inverce Etiqutage
21 %calculer nobre d’err
22 if (data(k-2)~=p(1))
23 t_teb((rsb-rsb_min)/2+1)=t_teb((rsb-rsb_min)/2+1)+1;
24 end
25 if (data(k-1)~=p(2))
26 t_teb((rsb-rsb_min)/2+1)=t_teb((rsb-rsb_min)/2+1)+1;
27 end
28 Y1=Y;
29 end
30 end
31 fprintf(’ok\n’);
32 end
33 teb_rsb=t_teb./(foi*bloc); %TEB/RSB vect

Programme 4.2– Fonction d’étiquetage BPSK


1 function s=Etiqutage(data)
2 bit_lobg = length(data);
3 bit_entree = [0 0];
4 s = ones(1,bit_lobg+2);
5 s(1,1)=1/sqrt(2);
6 s(1,2)=1/sqrt(2);
7 for k=1:bit_lobg/2

62
CHAPITRE 4. SIMULATION

8 bit_entree = data(2*k-1:2*k);
9 if bit_entree== [0 0]
10 s(2*k+1) =s(2*k-1) ;
11 s(2*k+2) =s(2*k) ;
12 end
13 if bit_entree== [1 0]
14 s(2*k+1) =-s(2*k) ;
15 s(2*k+2) =s(2*k-1) ;
16 end
17 if bit_entree== [0 1]
18 s(2*k+1) =s(2*k) ;
19 s(2*k+2) =-s(2*k-1) ;
20 end
21 if bit_entree== [1 1]
22 s(2*k+1) =-s(2*k-1) ;
23 s(2*k+2) =-s(2*k) ;
24 end
25 end

Programme 4.3– Fonction canal MIMO


1 function H=rayleighCH(Nr,Nt)
2 %#codegen
3 coder.inline(’never’)
4 H=zeros(Nr,Nt);
5 R=eye(Nr*Nt);
6 X=randn(Nr*Nt,1)/sqrt(Nt)+1j*randn(Nr*Nt,1)/sqrt(Nt);
7 H=reshape(R’*X,Nr,Nt);

Programme 4.4– Fonction Décodage Différentielle


1 function R_i=Decodage_2Xnr(Y,Y1,nr)
2 if nr==1
3 R_i(1)=Y(1,1)*conj(Y1(1,1))+conj(Y(1,2))*Y1(1,2);
4 R_i(2)=Y(1,1)*conj(Y1(1,2))-conj(Y(1,2))*Y1(1,1);
5 end
6 if nr==2
7 R_i(1)=Y(1,1)*conj(Y1(1,1))+conj(Y(1,2))*Y1(1,2)+...
8 Y(2,1)*conj(Y1(2,1))+conj(Y(2,2))*Y1(2,2);
9
10 R_i(2)=Y(1,1)*conj(Y1(1,2))-conj(Y(1,2))*Y1(1,1)+...
11 Y(2,1)*conj(Y1(2,2))-conj(Y(2,2))*Y1(2,1);
12 end
13 end

Programme 4.5– Fonction Détection MLD


1 function s_tild=MLD_2TX(r1,r2)
2 dh = [1 0;0 1; 0 -1;-1 0]; % declaration tout les R
3 D1=abs([r1 r2;r1 r2;r1 r2;r1 r2;]-dh); % cacul la difirece
4 for m=1:4
5 distance(m)=abs(D1(m,1))^2+ abs(D1(m,2))^2; % calcule la distance
6 end
7 [minnumber1 position1]=min(distance); % charchons le minumam
8 s_tild(1)=dh(position1,1); %choizer R_1=dh(position1,1); %choizer R_1
9 s_tild(2)=dh(position1,2); %choizer R_2
10 end

Programme 4.6– Fonction inversé Étiquetage


1 function p=inv_Etiqutage(c1,c2)
2 if [c1,c2]== [1 0]
3 p=[0 0];
4 end
5 if [c1,c2]== [0 1]
6 p=[1 0];
7 end

63
CHAPITRE 4. SIMULATION

8 if [c1,c2]== [0 -1]
9 p=[0 1];
10 end
11 if [c1,c2]== [-1 0]
12 p=[1 1];
13 end

Programme 4.7– Fonction DSTBC_QPSK


1 function ber_snr=DSTBC_QPSK(nt,nr)
2 rsb_min=0; rsb_max=16;tram_info=16;
3 t_bre=zeros(1,(rsb_max-rsb_min)/2+1);
4 foi=10000;
5 for rsb=rsb_min:2:rsb_max
6 fprintf(’pour rsb= %2i :’,rsb);
7 for i=1:foi
8 t=1;
9 data = randi([0 1],1,tram_info);
10 s=Etequtage_QPSK(data);
11 sig = sqrt(0.5/(10^(rsb/10)));
12 no=sig * (randn(nr,nt,tram_info+1) +...
13 1j*randn(nr,nt,tram_info+1))/sqrt(2);
14 H=rayleighCH(nr,nt);
15 X1=[s(1) -conj(s(2)); s(2) conj(s(1))];
16 Y1=H*X1 + no(:,:,tram_info+1);
17 for k=3:2:length(s)-1
18 X=[s(k) -conj(s(k+1)); s(k+1) conj(s(k))];
19 Y=H*X+ no(:,:,k-2);
20 Ri=Decodage_2Xnr(Y,Y1,nr);
21 s_hat=MLD_2TX_QPSK(Ri(1),Ri(2));
22 p=inv_Etiqutage_QPSK(s_hat(1),s_hat(2)); % inverce Etiqutage
23 %calculer nobre d’err
24 dataa=data(4*t-3:4*t);
25 for g=1:4:length(dataa)
26 if (dataa(g)~=p(1))
27 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
28 end
29 if (dataa(g+1)~=p(2))
30 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
31 end
32 if (dataa(g+2)~=p(3))
33 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
34 end
35 if (dataa(g+3)~=p(4))
36 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
37 end
38 end
39 Y1=Y;t=t+1;
40 end
41 end
42 fprintf(’ok\n’);
43 end
44 ber_snr=t_bre./(foi*tram_info); %calcul BRE
45 end

Programme 4.8– Fonction Étiquetage QPSK


1 function s =Etequtage_QPSK(bit_info)
2 bit_long = length(bit_info);
3 bit_entree = [0 0 0 0];
4 s=ones(1,bit_long/2+1);
5 s(1,1)=1/sqrt(2);
6 s(1,2)=1/sqrt(2);
7 for k=1:bit_long/4
8 bit_entree = bit_info(4*k-3:4*k);
9 if bit_entree== [0 0 0 0] %R=(1,0)
10 s(2*k+1) =s(2*k-1) ;
11 s(2*k+2) =s(2*k) ;
12 end
13 if bit_entree== [0 0 0 1] %R=(0,1)

64
CHAPITRE 4. SIMULATION

14 s(2*k+1) =-conj(s(2*k)) ;
15 s(2*k+2) =conj(s(2*k-1)) ;
16 end
17 if bit_entree== [0 0 1 0] %R=(0,-1)
18 s(2*k+1) =conj(s(2*k)) ;
19 s(2*k+2) =-conj(s(2*k-1)) ;
20 end
21 if bit_entree== [0 0 1 1] %R=(-1,0)
22 s(2*k+1) =-s(2*k-1) ;
23 s(2*k+2) =-s(2*k) ;
24 end
25 if bit_entree== [0 1 0 0] % R=(j,0)
26 s(2*k+1) =1j*s(2*k-1) ;
27 s(2*k+2) =1j*s(2*k) ;
28 end
29 if bit_entree== [0 1 0 1] % R=(0,j)
30 s(2*k+1) =-1j*conj(s(2*k)) ;
31 s(2*k+2) =1j*conj(s(2*k-1)) ;
32 end
33 if bit_entree== [0 1 1 0] % R=(0,-j)
34 s(2*k+1) =1j*conj(s(2*k)) ;
35 s(2*k+2) =-1j*conj(s(2*k-1)) ;
36 end
37 if bit_entree== [0 1 1 1] % R=(-j,0)
38 s(2*k+1) =-1j*s(2*k-1) ;
39 s(2*k+2) =-1j*s(2*k) ;
40 end
41 if bit_entree== [1 0 0 0] %R=(0.5+0.5j,-0.5+0.5j)
42 s(2*k+1) =(0.5+1j*0.5)*s(2*k-1)+(-0.5+1j*0.5)*(-conj(s(2*k))) ;
43 s(2*k+2) =(0.5+1j*0.5)*s(2*k)+(-0.5+1j*0.5)*(conj(s(2*k-1))) ;
44 end
45 if bit_entree== [1 0 0 1] %R=(-0.5+0.5j,0.5+0.5j)
46 s(2*k+1) =(-0.5+1j*0.5)*s(2*k-1)+(0.5+1j*0.5)*(-conj(s(2*k)));
47 s(2*k+2) =(-0.5+1j*0.5)*s(2*k)+(0.5+1j*0.5)*(conj(s(2*k-1)));
48 end
49 if bit_entree== [1 0 1 0] %R=(-0.5-0.5j,0.5-0.5j)
50 s(2*k+1) =(-0.5-1j*0.5)*s(2*k-1)+(0.5-1j*0.5)*(-conj(s(2*k)));
51 s(2*k+2) =(-0.5-1j*0.5)*s(2*k)+(0.5-1j*0.5)*(conj(s(2*k-1)));
52 end
53 if bit_entree== [1 0 1 1] %R=(0.5-0.5j,-0.5-0.5j)
54 s(2*k+1) = (0.5-1j*0.5)*s(2*k-1)+(-0.5-1j*0.5)*(-conj(s(2*k)));
55 s(2*k+2) =(0.5-1j*0.5)*s(2*k)+(-0.5-1j*0.5)*(conj(s(2*k-1))) ;
56 end
57 if bit_entree== [1 1 0 0] %R=(0.5-0.5j,0.5+0.5j)
58 s(2*k+1) =(0.5-1j*0.5)*s(2*k-1)+(0.5+1j*0.5)*(-conj(s(2*k))) ;
59 s(2*k+2) =(0.5-1j*0.5)*s(2*k)+(0.5+1j*0.5)*(conj(s(2*k-1))) ;
60 end
61 if bit_entree== [1 1 0 1] %R=(-0.5-0.5j,-0.5+0.5j)
62 s(2*k+1) =(-0.5-1j*0.5)*s(2*k-1)+(-0.5+1j*0.5)*(-conj(s(2*k))) ;
63 s(2*k+2) =(-0.5-1j*0.5)*s(2*k)+(-0.5+1j*0.5)*(conj(s(2*k-1))) ;
64 end
65 if bit_entree== [1 1 1 0] %R=(-0.5+0.5j,-0.5-0.5j)
66 s(2*k+1) =(-0.5+1j*0.5)*s(2*k-1)+(-0.5-1j*0.5)*(-conj(s(2*k))) ;
67 s(2*k+2) =(-0.5+1j*0.5)*s(2*k)+(-0.5-1j*0.5)*(conj(s(2*k-1))) ;
68 end
69 if bit_entree== [1 1 1 1] %R=(0.5+0.5j,+0.5-0.5j)
70 s(2*k+1) = (0.5+1j*0.5)*s(2*k-1)+(0.5-1j*0.5)*(-conj(s(2*k))) ;
71 s(2*k+2) =(0.5+1j*0.5)*s(2*k)+(0.5-1j*0.5)*(conj(s(2*k-1))) ;
72 end
73 end
74 end

Programme 4.9– Fonction Détection MLD QPSK


1 function s_tild=MLD_2TX_QPSK(r1,r2)
2 % declaration tout les R
3 dh =[1 0;0 1;0 -1;-1 0; 1j 0;0 1j;0 -1j;-1j 0;
4 (0.5+1j*0.5),(-0.5+1j*0.5);(-0.5+1j*0.5),(0.5+1j*0.5);
5 (-0.5-1j*0.5),(0.5-1j*0.5);(0.5-1j*0.5),(-0.5-1j*0.5);
6 (0.5-1j*0.5),(0.5+1j*0.5);(-0.5-1j*0.5),(-0.5+1j*0.5);
7 (-0.5+1j*0.5),(-0.5-1j*0.5);(0.5+1j*0.5),(0.5-1j*0.5);];
8

65
CHAPITRE 4. SIMULATION

9 D1=abs([r1 r2;r1 r2;r1 r2;r1 r2;


10 r1 r2;r1 r2;r1 r2;r1 r2;
11 r1 r2;r1 r2;r1 r2;r1 r2;
12 r1 r2;r1 r2;r1 r2;r1 r2;]-dh); % cacul la difirece
13 for m=1:16
14 distance(m)=abs(D1(m,1))^2+ abs(D1(m,2))^2; % calcule la distance
15 end
16 [minnumber1 position1]=min(distance); % charchons le minumam
17 s_tild(1)=dh(position1,1); %choizer R_1=dh(position1,1); %choizer R_1
18 s_tild(2)=dh(position1,2); %choizer R_2
19 end

Programme 4.10– Fonction inversé Étiquetage QPSK


1 function [p]=inv_Etiqutage_QPSK(c1,c2)
2 if ([c1,c2])== [1 0]
3 p=[0 0 0 0];
4 end
5 if ([c1,c2])== [0 1]
6 p=[0 0 0 1];
7 end
8 if [c1,c2]== [0 -1]
9 p=[0 0 1 0];
10 end
11 if [c1,c2]== [-1 0]
12 p=[0 0 1 1];
13 end
14 if [c1,c2]== [1j 0]
15 p=[0 1 0 0];
16 end
17 if [c1,c2]==[0 1j]
18 p=[0 1 0 1];
19 end
20 if [c1,c2]==[0 -1j]
21 p=[0 1 1 0];
22 end
23 if [c1,c2]==[-1j 0]
24 p=[0 1 1 1];
25 end
26 if [c1,c2]==[0.5+1j*0.5,-0.5+1j*0.5]
27 p=[1 0 0 0];
28 end
29 if [c1,c2]==[(-0.5+1j*0.5),(0.5+1j*0.5)]
30 p=[1 0 0 1];
31 end
32 if [c1,c2]==[(-0.5-1j*0.5),(0.5-1j*0.5)]
33 p=[1 0 1 0];
34 end
35 if [c1,c2]==[(0.5-1j*0.5),(-0.5-1j*0.5)]
36 p=[1 0 1 1];
37 end
38 if [c1,c2]==[(0.5-1j*0.5),(0.5+1j*0.5)]
39 p=[1 1 0 0];
40 end
41 if [c1,c2]==[(-0.5-1j*0.5),(-0.5+1j*0.5)]
42 p=[1 1 0 1];
43 end
44 if [c1,c2]==[(-0.5+1j*0.5),(-0.5-1j*0.5)]
45 p=[1 1 1 0];
46 end
47 if [c1,c2]==[(0.5+1j*0.5),(0.5-1j*0.5)]
48 p=[1 1 1 1];
49 end

Programme 4.11– Fonction OSTBC BPSK


1 function teb_rsb=OSTBC(nt,nr)
2 rsb_min=0;
3 rsb_max=16;
4 tram_info=16;

66
CHAPITRE 4. SIMULATION

5 t_bre=zeros(1,(rsb_max-rsb_min)/2+1);
6 foi=10000;
7 for rsb=rsb_min:2:rsb_max
8 fprintf(’pour rsb= %2i :’,rsb);
9 for i=1:foi
10 data = randi([0 1],1,tram_info);
11 s=(-(data-0.5).*2)./sqrt(2);
12 sig = sqrt(0.5/(10^(rsb/10)));
13 no=sig*(randn(nr,nt,tram_info)+1j*randn(nr,nt,tram_info))/sqrt(2);
14 H=rayleighCH(nr,nt);
15 for k=1:2:length(s)
16 X=[s(k) -conj(s(k+1)); s(k+1) conj(s(k))];
17 Y=H*X+ no(:,:,k);
18 %reception
19 if (nr==2)
20 s1=conj(H(1,1))*Y(1,1)+(H(1,2)*conj(Y(1,2)))+...
21 conj(H(2,1))*Y(2,1)+(H(2,2)*conj(Y(2,2)));
22 s2=conj(H(1,2))*Y(1,1)-(H(1,1)*conj(Y(1,2)))+...
23 conj(H(2,2))*Y(2,1)-(H(2,1)*conj(Y(2,2)));
24 end
25 if (nr==1)
26 s1=conj(H(1,1))*Y(1,1)+(H(1,2)*conj(Y(1,2)));
27 s2=conj(H(1,2))*Y(1,1)-(H(1,1)*conj(Y(1,2)));
28 end
29 % detection par MLD
30 sh=[1/sqrt(2),-1/sqrt(2);1/sqrt(2),-1/sqrt(2)];
31 D1=abs([s1 s1;s2,s2]-norm(H)*sh);
32 [num,pos]=min([D1(1,1),D1(1,2)]);
33 [num1,pos1]=min([D1(2,1),D1(2,2)]);
34 se=[sh(1,pos),sh(2,pos1)];
35 data_r=(-se.*sqrt(2)./2)+0.5;
36 x=[data_r(1),data_r(2)];
37 if (data(k)~=x(1))
38 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
39 end
40 if (data(k+1)~=x(2))
41 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
42 end
43 end
44 end
45 fprintf(’ok\n’);
46 end
47 teb_rsb=t_bre./(foi*tram_info); %calcul BRE
48 end

Programme 4.12– Fonction OSTBC QPSK


1 function teb_rsb=OSTBC_QPSK(nt,nr)
2 rsb_min=0; rsb_max=16;tram_info=16;
3 t_bre=zeros(1,(rsb_max-rsb_min)/2+1);
4 foi=10000;
5 for rsb=rsb_min:2:rsb_max
6 fprintf(’pour rsb= %2i :’,rsb);
7 for i=1:foi
8 t=1;
9 data = randi([0 1],1,tram_info);
10 s=cons_qpsk(data);
11 sig = sqrt(0.5/(10^(rsb/10)));
12 no=sig * (randn(nr,nt,tram_info) + 1j*randn(nr,nt,tram_info))/sqrt(2);
13 H=rayleighCH(nr,nt);
14 for k=1:2:length(s)
15 X=[s(k) -conj(s(k+1)); s(k+1) conj(s(k))];
16 Y=H*X+ no(:,:,k);
17 if (nr==2)
18 %reception
19 s1=conj(H(1,1))*Y(1,1)+(H(1,2)*conj(Y(1,2)))+...
20 conj(H(2,1))*Y(2,1)+(H(2,2)*conj(Y(2,2)));
21 s2=conj(H(1,2))*Y(1,1)-(H(1,1)*conj(Y(1,2)))+...
22 conj(H(2,2))*Y(2,1)-(H(2,1)*conj(Y(2,2)));
23 end
24 if (nr==1)
25 s1=conj(H(1,1))*Y(1,1)+(H(1,2)*conj(Y(1,2)));

67
CHAPITRE 4. SIMULATION

26 s2=conj(H(1,2))*Y(1,1)-(H(1,1)*conj(Y(1,2)));
27 end
28 % detection par MLD
29 sh=[1/sqrt(2),-1/sqrt(2),1j/sqrt(2),-1j/sqrt(2);
30 1/sqrt(2),-1/sqrt(2),1j/sqrt(2),-1j/sqrt(2)];
31 D1=abs([s1 s1,s1,s1;s2 s2,s2,s2]-norm(H)*sh);
32 [num,pos]=min([D1(1,1),D1(1,2),D1(1,3),D1(1,4)]);
33 [num1,pos1]=min([D1(2,1),D1(2,2),D1(2,3),D1(2,4)]);
34 se=[sh(1,pos),sh(2,pos1)];
35 %calcul err
36 data_r=d_cons_qpsk(se);
37 dataa=data(4*t-3:4*t);
38 x=[data_r(1),data_r(2),data_r(3),data_r(4)];
39 for g=1:4:length(dataa)
40 if (dataa(g)~=x(1))
41 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
42 end
43 if (dataa(g+1)~=x(2))
44 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
45 end
46 if (dataa(g+2)~=x(3))
47 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
48 end
49 if (dataa(g+3)~=x(4))
50 t_bre((rsb-rsb_min)/2+1)=t_bre((rsb-rsb_min)/2+1)+1;
51 end
52 end
53 t=t+1;
54 end
55 end
56 fprintf(’ok\n’);
57 end
58 teb_rsb=t_bre./(foi*tram_info); %calcul TEB
59 end

Programme 4.13– Fonction constellation QPSK


1 function ss=cons_qpsk(data)
2 for ii=1:length(data)/2
3 if (data(2*ii-1:2*ii)==[0 0])
4 ss(ii)=1/sqrt(2);
5 end
6 if (data(2*ii-1:2*ii)==[0 1])
7 ss(ii)=1j/sqrt(2);
8 end
9 if (data(2*ii-1:2*ii)==[1 0])
10 ss(ii)=-1/sqrt(2);
11 end
12 if (data(2*ii-1:2*ii)==[1 1])
13 ss(ii)=-1j/sqrt(2);
14 end
15 end
16 end

Programme 4.14– Fonction constellation inverse QPSK


1 function d_r=d_cons_qpsk(se)
2
3 if (se(1)==1/sqrt(2)) d_r1=[0 0]; end
4 if (se(1)==-1/sqrt(2)) d_r1=[1 0]; end
5 if (se(1)==1j/sqrt(2)) d_r1=[0 1]; end
6 if (se(1)==-1j/sqrt(2)) d_r1=[1 1]; end
7 %%
8 if (se(2)==1/sqrt(2)) d_r2=[0 0]; end
9 if (se(2)==-1/sqrt(2)) d_r2=[1 0]; end
10 if (se(2)==1j/sqrt(2)) d_r2=[0 1]; end
11 if (se(2)==-1j/sqrt(2)) d_r2=[1 1]; end
12 d_r=[d_r1,d_r2];
13 end

68
CHAPITRE 4. SIMULATION

Programme 4.15– Fonction représentation les graphes


1 function trac_perf(obj,a)
2 str=’-o’;
3 if (a==1) str=’-ro’ ; end
4 if (a==2) str=’--o’ ; end
5 if (a==3) str=’-go’ ; end
6 if (a==4) str=’--ro’; end
7 figure(1);
8 semilogy(0:2:16,obj,str);
9 grid
10 xlabel(’R S B’);
11 ylabel(’T E B’);
12 end

Programme 4.16– Fonction DSTBC pour 3 et 4 antennes


1 function teb_rsb=DSTBC4x_BPSK(nt,nr)
2 rsb_min=0; rsb_max=16;bloc=16;
3 t_teb=zeros(1,(rsb_max-rsb_min)/2+1); % declaration vect TEB total
4 foi=10000;
5 for rsb=rsb_min:2:rsb_max
6 fprintf(’pour rsb= %2i :’,rsb);
7 for i=1:foi
8 t=1;
9 data = randi([0 1],1,bloc);
10 s=Etiqutage_4x(data);
11 sig = sqrt(0.5/(10^(rsb/10)));
12 no=sig*(randn(nr,nt,bloc+1)+1j*randn(nr,nt,bloc+1))/sqrt(nt);
13 if nt==3
14 no=sig*(randn(nr,nt+1,bloc+1)+1j*randn(nr,nt+1,bloc+1))/sqrt(nt);
15 end
16 H=rayleighCH(nr,nt);
17 X1= [s(1),s(2),s(3),s(4);
18 -s(2),s(1),-s(4),s(3);
19 -s(3),s(4),s(1),-s(2);
20 -s(4),-s(3),s(2),s(1)];
21 if nt==3
22 X1= [s(1),s(2),s(3);
23 -s(2),s(1),-s(4);
24 -s(3),s(4),s(1);
25 -s(4),-s(3),s(2)];
26 end
27 Y1=H*X1’+no(:,:,bloc+1);
28 for k=5:4:length(s)-3
29 X= [s(k),s(k+1),s(k+2),s(k+3);
30 -s(k+1),s(k),-s(k+3),s(k+2);
31 -s(k+2),s(k+3),s(k),-s(k+1);
32 -s(k+3),-s(k+2),s(k+1),s(k)];
33 if nt==3
34 X=[s(k),s(k+1),s(k+2);
35 -s(k+1),s(k),-s(k+3);
36 -s(k+2),s(k+3),s(k);
37 -s(k+3),-s(k+2),s(k+1)];
38 end
39
40 Y=H*X’+no(:,:,t);
41 R=decodage4x(Y1,Y);
42 Re=MLD4x(R);
43 xx=inv_Etiq4x(Re);
44 dataa=data(4*t-3:4*t);
45 for g=1:4:length(dataa)
46 if (dataa(g)~=xx(1))
47 t_teb((rsb-rsb_min)/2+1)=t_teb((rsb-rsb_min)/2+1)+1;
48 end
49 if (dataa(g+1)~=xx(2))
50 t_teb((rsb-rsb_min)/2+1)=t_teb((rsb-rsb_min)/2+1)+1;
51 end
52 if (dataa(g+2)~=xx(3))
53 t_teb((rsb-rsb_min)/2+1)=t_teb((rsb-rsb_min)/2+1)+1;
54 end
55 if (dataa(g+3)~=xx(4))

69
CHAPITRE 4. SIMULATION

56 t_teb((rsb-rsb_min)/2+1)=t_teb((rsb-rsb_min)/2+1)+1;
57 end
58 end
59 Y1=Y;t=t+1;
60 end
61
62
63 end
64 fprintf(’ok\n’);
65 end
66 teb_rsb=t_teb./(foi*bloc); %calcul BRE
67 end

Programme 4.17– Fonction Étiquetage pour 3 et 4 antennes


1 function s=Etiqutage_4x(data)
2 bit_long = length(data);
3 bit_entree = [0 0 0 0];
4 s(1,1)=1/2; s(1,2)=1/2;s(1,3)=1/2; s(1,4)=1/2;
5 for k=1:bit_long/4
6 bit_entree = data(4*k-3:4*k);
7 V(:,:,1)=[s(4*k-3),s(4*k-2),s(4*k-1),s(4*k)];
8 V(:,:,2)=[s(4*k-2),-s(4*k-3),s(4*k),-s(4*k-1)];
9 V(:,:,3)=[s(4*k-1),-s(4*k),-s(4*k-3),s(4*k-2)];
10 V(:,:,4)=[s(4*k),s(4*k-1),-s(4*k-2),-s(4*k-3)];
11 if bit_entree== [0 0 0 0]%1
12 R=[1 0 0 0];
13 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
14 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3); s(4*k+4) =ss(4);
15 end
16 if bit_entree== [0 0 0 1]%2
17 R=[0.5,0.5,-0.5,0.5];
18 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
19 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
20 end
21 if bit_entree== [0 0 1 0]%3
22 R=[0.5,-0.5,0.5,0.5];
23 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
24 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
25 end
26 if bit_entree== [0 0 1 1]%4
27 R=[0,0,0,1];
28 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
29 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
30 end
31 if bit_entree== [0 1 0 0]%5
32 R=[0.5,0.5,0.5,-0.5];
33 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
34 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
35 end
36 if bit_entree== [0 1 0 1]%6
37 R=[0,1,0,0];
38 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
39 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
40 end
41 if bit_entree== [0 1 1 0]%7
42 R=[0,0,1,0];
43 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
44 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
45 end
46 if bit_entree== [0 1 1 1]%8
47 R=[-0.5,0.5,0.5,0.5];
48 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
49 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
50 end
51 if bit_entree== [1 0 0 0]%9
52 R=[0.5,-0.5,-0.5,-0.5];
53 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
54 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
55 end
56 if bit_entree== [1 0 0 1]%10
57 R=[0,0,-1,0];

70
CHAPITRE 4. SIMULATION

58 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
59 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
60 end
61 if bit_entree== [1 0 1 0]%11
62 R=[0,-1,0,0];
63 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
64 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
65 end
66 if bit_entree== [1 0 1 1]%12
67 R=[-0.5,-0.5,-0.5,0.5];
68 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
69 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
70 end
71 if bit_entree== [1 1 0 0]%13
72 R=[0,0,0,-1];
73 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
74 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
75 end
76 if bit_entree== [1 1 0 1]%14
77 R=[-0.5,0.5,-0.5,-0.5];
78 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
79 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
80 end
81 if bit_entree== [1 1 1 0]%15
82 R=[-0.5,-0.5,0.5,-0.5];
83 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
84 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
85 end
86 if bit_entree== [1 1 1 1]%16
87 R=[-1,0,0,0];
88 ss=R(1)*V(:,:,1)+R(2)*V(:,:,2)+R(3)*V(:,:,3)+R(4)*V(:,:,4);
89 s(4*k+1) =ss(1); s(4*k+2) =ss(2);s(4*k+3) =ss(3);s(4*k+4) =ss(4);
90 end
91 end
92 end

Programme 4.18– Fonction Décodage pour 3 et 4 antennes


1 function [Ri]=decodage4x(Y1,Y)
2 r(:,:,1)=[Y1(1),Y1(2),Y1(3),Y1(4)];
3 r(:,:,2)=[-Y1(2),Y1(1),Y1(4),-Y1(3)];
4 r(:,:,3)=[-Y1(3),-Y1(4),Y1(1),Y1(2)];
5 r(:,:,4)=[-Y1(4),Y1(3),-Y1(2),Y1(1)];
6 %-------------------------------------
7 Ri(1)=Y*r(:,:,1)’; Ri(2)=Y*r(:,:,2)’;
8 Ri(3)=Y*r(:,:,3)’; Ri(4)=Y*r(:,:,4)’;
9 end

Programme 4.19– Fonction Détection pour 3 et 4 antennes


1 function Re=MLD4x(RR)
2 dr=[1,0,0,0;0.5,0.5,-0.5,0.5;0.5,-0.5,0.5,0.5; 0,0,0,1; 0.5,0.5,0.5,-0.5;
3 0,1,0,0; 0,0,1,0;-0.5,0.5,0.5,0.5; 0.5,-0.5,-0.5,-0.5; 0,0,-1,0;
4 0,-1,0,0;-0.5,-0.5,-0.5,0.5;0,0,0,-1;-0.5,0.5,-0.5,-0.5;
5 -0.5,-0.5,0.5,-0.5;-1,0,0,0];
6 D1=abs([RR;RR;RR;RR;RR;RR;RR;RR;RR;RR;RR;RR;RR;RR;RR;RR]-dr);
7 for m=1:16
8 d(m)=abs(D1(m,1))^2+ abs(D1(m,2))^2+abs(D1(m,3))^2+ abs(D1(m,4))^2;
9 end
10 [mk,pos1]=min(d); % charchons le minumam
11 Re(1)=dr(pos1,1); Re(2)=dr(pos1,2);Re(3)=dr(pos1,3); Re(4)=dr(pos1,4);
12 end

Programme 4.20– Fonction inverse Étiquetage pour 3 et 4 antennes


1 function S=inv_Etiq4x(Ree)
2 if (Ree==[1,0,0,0]) S=[0,0,0,0];end
3 if (Ree==[0.5,0.5,-0.5,0.5]) S=[0,0,0,1];end

71
CHAPITRE 4. SIMULATION

4 if (Ree==[0.5,-0.5,0.5,0.5]) S=[0,0,1,0];end
5 if (Ree==[0,0,0,1]) S=[0,0,1,1];end
6 if (Ree==[0.5,0.5,0.5,-0.5]) S=[0,1,0,0];end
7 if (Ree==[0,1,0,0]) S=[0,1,0,1];end
8 if (Ree==[0,0,1,0]) S=[0,1,1,0];end
9 if (Ree==[-0.5,0.5,0.5,0.5]) S=[0,1,1,1];end
10 if (Ree==[0.5,-0.5,-0.5,-0.5]) S=[1,0,0,0];end
11 if (Ree==[0,0,-1,0]) S=[1,0,0,1];end
12 if (Ree==[0,-1,0,0]) S=[1,0,1,0];end
13 if (Ree==[-0.5,-0.5,-0.5,0.5]) S=[1,0,1,1];end
14 if (Ree==[0,0,0,-1]) S=[1,1,0,0];end
15 if (Ree==[-0.5,0.5,-0.5,-0.5]) S=[1,1,0,1];end
16 if (Ree==[-0.5,-0.5,0.5,-0.5]) S=[1,1,1,0];end
17 if (Ree==[-1,0,0,0]) S=[1,1,1,1];end
18 end

72
BIBLIOGRAPHIE

[Cho08] Vincent Choqueuse. Interception des signaux issus de communications


MIMO. PhD thesis, UNIVERSITÉ DE BRETAGNE OCCIDENTALE, 26
Novembre 2008.
[DAU09] Steredenn DAUMONT. Techniques de démodulation aveugle en interception
de signaux MIMO. PhD thesis, UNIVERSITÉ DE RENNES 1, 2009.
[eHJ00] Vahid Tarokh et Hamid Jafarkhani. A differential detection scheme for trans-
mit diversity. IEEE, 2000.
[Gui06] Ferré Guillaume. Codage spatio-temporel et techniques de décodage itératives
pour systèmes multi-antennes. PhD thesis, UNIVERSITE DE LIMOGES,
2006.
[HAS10] Mohamad SAYED HASSAN. Codage spatio-temporel optimisé pour une
concaténation série avec les codes correcteurs d’erreurs. 22/10/2010.
[JAF05] HAMID JAFARKHANI. SPACE-TIME CODING THEORY AND PRAC-
TICE. 2005.
[Kar03] Daoud Karakolah. Conception et prototypage d’un récepteur itératif pour
des systèmes de transmission MIMO avec précodage linéaire. PhD thesis,
Bretagne-Sud, 2003.
[Moh13] Emad M. Mohamed. Performance Analysis of Transmit Diversity STBC-
OFDM and Differential STBC-OFDM Over Fading Channels. PhD thesis,
Université de la Méditerranée orientale,North Cyprus, May 2013.
[SOU10] FEROUANI SOUHILA. Etude et implémentation d’un système mimo dans
un contexte ofdm. Master’s thesis, UNIVERSITE ABOU BAKR BELKAID
- TLEMCEN, 2010.
[Vuc03] Branka Vucetic. Space-Time Coding. 2003.
[Zhu14] Kai Zhu. Coherent and Non-coherent Techniques for Cooperative Communi-
cations. PhD thesis, University of York, May 2014.

73

Vous aimerez peut-être aussi