Vous êtes sur la page 1sur 7

TP de communications numriques

module TS113 anne 2013/2014


Guillaume Ferr
1 Objectifs et valuation
Lobjectif des TP de communications numriques est de simuler laide du logiciel Matlab
plusieurs chanes de communications numriques (en bande de base et sur frquence porteuse)
an dvaluer notamment leurs performances en termes de probabilit derreur binaire.
Les TP se font en binme ou monme et lvaluation porte sur une note de rapport et une
note de travail continu (en sances).
Concernant le rapport, il ne doit pas excder 15 pages, vous devez fournir un document scien-
tique et technique, qui doit prsenter votre travail, vos choix techniques et dans lequel tous
les rsultats obtenus doivent tre interprts et comments. Les codes Matlab doivent galement
tre transmis votre enseignant. Ils doivent pouvoir tre compris rapidement. Cela passe par
lutilisation de commentaires. Les commentaires doivent permettre de rpondre au moins la
question : que fait la ligne de code ? Une attention particulire doit tre porte la lisibilit
du programme. Les rapports doivent tre au format NOM1_NOM2.pdf et les codes au format
NOM1_NOM2.zip. Ces deux chiers doivent tre transmis votre encadrant par Email au plus
tard deux semaines aprs la dernire sance de TP, sachant que la date exacte vous
sera xe par votre encadrant.
Remarque : chaque jour de retard dans la remise des livrables sera sanctionn de 2 points en
moins sur la note nale du TP.
2 Squelette des codes Matlab
An davoir une formalisation homogne de vos codes Matlab, veuillez respecter le squelette
dimplmentation suivant :
%% noms des binmes
clear all ;close all ;
%% Initialisation des variables
%% Emetteur
%% Canal
%% Rcepteur
%% Figures de rsultats
1
Association
bits->Symbole
Filtre de mise
en forme
Codeur en ligne
Filtre du canal
Canal
Association
Symbole->Bits
Dcision
Dcodeur en ligne
Filtre de
rception
Canal
Echantillonnage
au rythme Ts
s
s
(t) s
l
(t)
h
l
(t)
n
l
(t)
s
b
(t)
g(t)
g
a
(t)
y
l
(t) r
l
(t) r
l
[n]

A
n
Figure 1 Architecture Bande de base simplie
3 Communications numriques en bande de base
Dans cette premire partie vous allez vous intresser au cas des communications numriques
en bande de base mettant des symboles M-PAM. Larchitecture bande de base considrer est
prsente sur la gure 1.
A travers la simulation Matlab, vous vrierez entre autre une partie de vos rsultats tho-
riques de TD et valuerez les performances de la chane de communications numriques en terme
de probabilit derreur binaire.
Paramtres de simulation :
Frquence dchantillonnage : f
e
=
1
T
e
= 10kHz,
Le dbit symbole D
s
= 1kSymboles/s T
s
= 1ms,
Le ltre de mise en forme est :
g(t) =

1 0 t < T
s
0 ailleurs
.
La squence de bits doit tre gnre alatoirement de manire uniforme (i.e. P(b
k
= 0) =
P(b
k
= 1) =
1
2
),
F
se
=
T
s
T
e
reprsente le facteur de sur-chantillonnage permettant dadapter le rythme du
signal prsent en entre du ltre de mise en forme,
Les symboles A
k
sont iid et A
k
{1, 3, . . . , (M 1)},
Le nombre de symboles mettre par paquet est N
s
= 5000,
Toutes les transformes de Fourier (TF) seront faites sur N = 512 points, et vous repr-
senterez les modules des dirents spectres entre [
f
e
2
,
f
e
2

f
e
N
].
3.1 Simulation du cas 2-PAM (main_2PAM.m)
Dans cette partie M=2, le ltre de mise en forme est g(t), les hypothses sur le canal de
propagation et le bruit sont les mmes que celles de ltude thorique faite en TD et le mapping
est le suivant : si b
k
= 0 A
k
= 1 et si b
k
= 1 A
k
= +1.
A partir des paramtres de simulations et en vous servant des fonctions Matlab
2
dcrites dans la section 5, coder la chaine de communications numriques en compl-
tant le squelette Matlab prsent dans la section prcdente. Vous nommerez votre
code Matlab : main_2PAM.m. An de valider votre chane de communications nu-
mriques, vrier que les bits estims en sortie du bloc "Association Symbolebits"
sont bien les mmes que les bits mis, lorsque la variance du bruit n
l
(t) vaut
2
n
l
= 0.
Pour cela calculer le taux derreur binaire (TEB).
Une fois ltape prcdente valide, tracer et interprter les gures suivantes sachant que chaque
gure doit tre interprte et doit comporter un titre, des labels, des units et une
lgende.
1. Allure temporelle du signal s
l
(t) pour t [0, 50T
s
T
e
],
2. Diagramme de loeil de s
l
(t) sur les 1000 premiers symboles, en superposant des signaux
de dure 3T
s
,
3. Lallure du signal r
l
(t) pour t [0, 50T
s
T
e
] en sortie du ltre adapt. En dduire le
retard introduit par la causalit des ltres sur la prise de dcision du premier symbole
reu.
4. DSP
1
de s
s
(t) et de s
l
(t) comparer avec les DSP thoriques,
5. Lvolution du TEB
2
en fonction de rapport
E
b
N
0
en dB, lorsque ce dernier varie de 0dB
10dB par pas de 1dB. Superposer cette courbe avec celle de la probabilit derreur binaire
thorique dans le cas 2-PAM : P
b
=
1
2
erfc

E
b
N
0

. Que constatez-vous ?
6. Refaire la mme manipulation que prcdemment mais en introduisant une erreur de syn-
chronisation temporelle en sortie de ltre adapt au moment de lchantillonnage de r
l
(t)
au rythme T
s
. Cette erreur sera prise gale 10% de T
s
soit un nombre de 10%F
se
chan-
tillons. Que constatez vous ? Quel phnomne introduit cette erreur de synchronisation ?
7. Quelle est en dB la perte de sensibilit du rcepteur si la qualit de service de la trans-
mission est telle que le TEB<10
3
?
8. Reprendre toutes les questions prcdentes (i.e. de 1 7) en prenant cette fois-ci le ltre
de mise en forme g(t) = g
t
(t), sachant que :
g
t
(t) =

(1
t
T
s
) 0 t T
s
0 ailleurs
.
9. Dresser un bilan comparatif de lutilisation des deux ltres de mise en forme (DSP, e-
cacit spectrale, P
b
, sensibilit la dsynchronisation temporelle, etc.).
4 Communications numriques sur frquence porteuse
Dans cette deuxime partie vous allez vous intresser au cas des communications numriques
sur frquence porteuse mettant des symboles QPSK (M = 4), dans le cadre dun canal bande
passante innie puis limite. Larchitecture a considrer est prsente sur la gure 2.
1. Le calcul des DSP exprimentales se fera en utilisant la mthode du priodogramme de Welch dcrite en
cours (sans fentrage ni chevauchement), pour cela vous dcouperez le signal s
l
(t) en signaux de N chantillons.
2. On considre le point TEB=f(
E
b
N
0
) comme probable si il est obtenu avec un minimum de 100 erreurs binaires
de transmission.
3
Association
bits->Symbole
Filtre de mise
en forme
Modulateur numrique
Filtre du canal
Canal
Association
Symbole->Bits
Dcision
Dmodulateur numrique
Filtre de
rception
Echantillonnage
au rythme Ts
ss(t)
sl(t)
sb(t)
g(t)
ga(t)
yl(t)
rl(t) rl[n]
h(t)
n(t)
Re
e
j2f0t
Etage
RF -> BDB
s(t)
y(t)

Sn
Figure 2 Chane de communications numriques sur frquence porteuse
4.1 Etude thorique
1. Dcrire le principe de fonctionnement dun modulateur et dun dmodulateur numrique
QPSK respectant le mapping suivant :
00 e
j

4
, 01 e
j
3
4
, 11 e
j
5
4
, 10 e
j
7
4
.
2. Donner lexpression thorique de la fonction de transfert G(f) dun ltre en racine de
cosinus sur-lev de roll-o ,
3. Donner lexpression de la DSP thorique de s(t) lorsque le ltre de mise en forme est un
ltre en racine de cosinus sur-lev.
4.2 Etude Exprimentale - Canal bande passante innie
Pour raliser cette tude, reprendre et adapter les codes Matlab dvelopps pour le cas 2-
PAM.
Hypothses :
le canal de propagation h(t) est suppos bande passante innie,
le bruit n(t) est suppos blanc, gaussien de variance
2
n
et de densit spectrale de puissance
(DSP) bilatrale
n
(f) =
N
0
2
.
4.2.1 Canal bande passante innie (main_QPSK_v1.m)
Dans cette section, vous allez simuler une chane de communications numriques mettant des
symboles QPSK sur un canal bande passante innie. Vous vrierez la cohrence des rsultats
thoriques obtenus en cours avec la simulation et valuerez les performances de la chane de
communications numriques en terme de probabilit derreur binaire.
Paramtres de simulation :
Frquence dchantillonnage : f
e
=
1
T
e
= 10kHz,
Le dbit symbole D
s
= 1kSymboles/s T
s
= 1ms,
Le nombre de symboles de la constellation est M = 4,
La frquence de la porteuse f
0
= 2, 5kHz,
4
Le ltre de mise en forme g(t) est un ltre en racine de cosinus sur-lev de roll-o = 0.5
et de temps de propagation de groupe T
g
= 4T
s
,
La squence de bits doit tre gnre alatoirement de manire uniforme (i.e. P(b
k
= 0) =
P(b
k
= 1) =
1
2
),
F
se
=
T
s
T
e
reprsente le facteur de sur-chantillonnage permettant dadapter le rythme du
signal prsent en entre du ltre de mise en forme,
Le nombre de symboles mettre par paquet est N
s
= 5000,
Toutes les transformes de Fourier (TF) seront faites sur N = 512 points, et vous repr-
senterez les modules des dirents spectres entre [
f
e
2
,
f
e
2

f
e
N
].
1. Tracer la rponse impulsionnelle ainsi que le module de la fonction de transfert du ltre
en racine de cosinus sur-lev dni dans les paramtres de simulation. Pour cela utiliser
la fonction "rcosr.m" (T
g
= 4T
s
et = 0.5).
2. A partir notamment des fonctions "bi2de.m", "pskmod.m", "pskdemod.m" et de
"de2bi.m", implmenter un modulateur numrique QPSK et son dmodulateur en prenant
une phase initiale de

4
.
Remarque : lutilisation des fonctions prcdentes rend le programme adaptable aux
modulations M-ASK (M-PAM) et M-APK (M-QAM), puisquil sut de remplacer psk-
mod() par qammod()/pammod() et pskdemod() par qamdemod()/pamdemod(), etc.
3. Rester en bande de base (cf Fig. 3) est vrier le fonctionnement de votre chane de
communication sans-bruit (TEB=0).
Indications : En sortie du ltre adapt, veillez tenir compte du retard introduit par la
causalit des ltres (mise en forme et adapt) an de rcuprer au bon instant le premier
chantillon de symbole dtect.
4. Tracer le diagramme de loeil de s
l
(t) , que constatez-vous ? Interprtez.
5. Tracer le diagramme de loeil de r
l
(t), que constatez-vous ? Interprtez.
6. Tracer les constellations de s
s
(t) et de r
l
[n], que constatez-vous ? Interprtez.
7. Tracer lallure de la partie relle de r
l
(t) sur une dure de 50T
s
. Retrouver le retard
introduit par la causalit des ltres de mise en forme et adapt sur linstant de dcision
du premier symbole reu.
8. Gnrer une porteuse complexe f
0
= 2500Hz, multiplier ce signal lenveloppe complexe
s
l
(t) puis mettre s(t) sur un canal de propagation h(t) bande passante innie.
9. Comparer la DSP thorique de s(t) avec la DSP exprimentale (obtenue par la mthode
de Welch).
10. An de reconstruire lenveloppe complexe au rcepteur, mettre en oeuvre avant le ltrage
adapt la mthode par projections orthogonales (cf. Fig. 4).
Remarque : dans le cadre de la simulation vous navez pas besoin de mettre en oeuvre les
ltres passe-bas aprs les mlangeurs
3
.
11. Au rcepteur, tracer la DSP du PA y
I
(t) obtenu aprs le mlangeur sur la voix en phase.
Interprtez ce rsultat exprimental.
12. Adapter le calcul de E
b
an dvaluer correctement la variance du bruit en entre du
rcepteur.
13. Tracer lvolution TEB=f(
E
b
N
0
) et comparer avec le rsultat thorique de la probabilit
derreur binaire P
b
dune QPSK.
3. En eet, le ltrage de la composante 2f
0
aprs les mlangeurs en rception est obtenu par le ltre adapt.
5
Association
bits->Symbole
Filtre de mise
en forme
Modulateur numrique
Filtre de
rception
ss(t) sl(t) sb(t)
g(t) ga(t)
Association
Symbole->Bits
Dcision
Dmodulateur numrique
Echantillonnage
au rythme Ts
rl(t) rl[n]

Sn
Figure 3 Chane de communications numriques complexe BDB
Filtre du canal
Canal
Etage RF -> BDB
sl(t)
yl(t)
h(t)
n(t)
Re
e
j2f0t
s(t) y(t)

2 2cos(2f0t)
Filtre
passe bas
Filtre
passe bas
yI(t)
yQ(t)
yl,Q(t)
yl,I(t)
j
Figure 4 Architecture de rception par projections orthogonales
Bonus :
1. Que se passe til si loscillateur local en rception est dphas par rapport loscillateur
local de lmetteur ?
2. Dphaser loscillateur local en rception de

6
, tracer la constellation des symboles estims
aprs ltrage adapt pour un
E
b
N
0
=10dB, que constatez-vous ? quelle mthode proposez-
vous pour corriger cette distorsion ?
4.2.2 Canal bande passante limite (main_QPSK_v2.m)
Le canal de propagation h(t) nest plus suppos bande passante innie. En eet, ce dernier
se comporte dsormais comme un ltre passe bande rel centr en f
0
de bande passante gale
D
s
. Cependant, pour la simulation Matlab nous allons considrer un modle bande de base (i.e.
sans les tages RF Tx/Rx, cf. Fig. 5). Leet du canal de propagation sera donc celui du ltre
h
l
(t) quivalent en BDB h(t). h
l
(t) sera alors modlis comme un ltre passe-bas de bande
passante
D
s
2
.
1. Adapter le code "main_QPSK_v1.m" an de simuler le modle prsent sur la Fig. 5.
Remarque 1 : E
b
nest plus seulement fonction de lnergie de g(t), mais de lnergie de la
convolution entre g(t) et h
l
(t),
Association
bits->Symbole
Filtre de mise
en forme
Modulateur numrique
Filtre de
rception
ss(t) sl(t) sb(t)
g(t) ga(t)
Association
Symbole->Bits
Dcision
Dmodulateur numrique
Echantillonnage
au rythme Ts
rl(t) rl[n]
Filtre du canal
Canal BDB
hl(t)
nl(t) C
xl(t) yl(t)

Sn
Figure 5 Architecture BDB complexe
6
Remarque 2 : Le bruit doit tre complexe,
Remarque 3 : An de simuler leet du canal de propagation, convoluer s
l
(t) avec h
l
(t),
sachant que la rponse impulsionnelle de ce dernier se simule ainsi :
h_order=2*Fse ; % ordre du ltre modlisant leet du canal
delay_h=oor((h_order)/2) ; % Temps de propagation de groupe (en chantillons) du ltre du canal
BW_h=Ds/2 ; % bande passante 3dB du ltre du canal
h_l=r1(h_order,(BW_h)/(fe/2)) ; % RI du canal de propagation
2. A laide de la fonction "freqz.m" tracer le module et la phase de h
l
(t). En dduire le temps
de propagation de groupe du ltre T
g
=
1
2
darg(H
l
(f))
df
, o H
l
(f) = TF(h
l
(t)).
3. Quel impact va avoir ce canal sur le signal discret r
l
[n] ? comment cela va til se traduire
sur les courbes de TEB?
4. Retracer lvolution du TEB en fonction de
E
b
N
0
. Que constatez-vous ?
Remarque : Le canal est un ltre FIR qui dphase (donc retarde) le signal en sortie de ce
dernier de T
g
. Tenez donc compte de ce retard supplmentaire lors de lchantillonnage
de r
l
(t).
5. Proposer une solution permettant de rduire limpact du canal sur le TEB,
6. Votre solution prsente telle un inconvnient ? si oui lequel ?
5 Quelques exemples de fonctions Matlab
Fonctions Matlab utile limplmentation du code :
La fonction "randint.m" vous permet de gnrer alatoirement et de manire uniforme les
bits dinformations,
La fonction "upsample.m" vous permet de sur-chantillonner un signal discret,
La fonction "downsample.m" vous permet de sous-chantillonner un signal discret,
La fonction "randn.m" vous permet de gnrer un PA SSL gaussien de moyenne nulle et
de variance 1. Ainsi, si vous voulez changer la variance de la loi, il faudra multiplier le
rsultat de la fonction randn par lcart-type souhait,
La fonction "scatterplot.m" vous permet dacher un diagramme de constellation,
La fonction "eyediagram.m" vous permet de tracer un diagramme de loeil.
Les fonctions "pskmod.m" "pskdemod.m" vous permettent respectivement de gnrer et
de dmoduler des symboles M-PSK,
Les fonctions "pammod.m" "pamdemod.m" vous permettent respectivement de gnrer
et de dmoduler des symboles M-PAM (M-ASK),
Les fonctions "qammod.m" "qamdemod.m" vous permettent respectivement de gnrer
et de dmoduler des symboles M-QAM,
La fonction "r1.m" vous permet de gnrer un ltre (passe-bas, passe-haut, passe-bande)
rponse impulsionnelle nie,
La fonction "rcosr.m" vous permet de gnrer la rponse impulsionnelle dun ltre en
racine de cosinus sur-lev.
6 Contact
Guillaume Ferr - guillaume.ferre@ims-bordeaux.fr
Abdelhakim Youcef - abdelhakim.youcef@ims-bordeaux.fr
7

Vous aimerez peut-être aussi