MAT-19961 CALCUL MATRICIEL EN GÉNIE Devoir #9

publicité
Département de génie électrique et de génie informatique
Faculté des sciences et de génie
MAT-19961 CALCUL MATRICIEL EN GÉNIE
Devoir #9 - Exercice sur Matlab
Simulation d’un système de communication
Dans cet exercice, vous allez programmer un simulateur de communication numérique binaire.
Vous allez aussi comparer le résultat de votre simulation avec la théorie.
Un système de communication numérique binaire peut être représenté par l’équation suivante:
r = s+b
où r est le signal reçu, s est le signal transmis (s = 0 ou 1) et b est un bruit additif, généralement
représenté par une variable aléatoire gaussienne de moyenne nulle et de variance σ2 (écart-type =
σ).
Le récepteur binaire décide qu’un “1” a été transmis si r > 0.5 et qu’un “0” a été transmis si
r ≤ 0.5 . Des erreurs peuvent évidemment survenir. Par exemple, si s = 0 et b = 0.7, alors r = 0 +
0.7 = 0.7. Comme r > 0.5, le récepteur va décider que c’est un “1” qui a été transmis, et non pas
un “0”. Ce type de communication par “0” et “1” est utilisé dans les systèmes à fibre optique. Les
modems téléphoniques utilisent des signaux plus complexes.
Comme le bruit est modélisé par une variable aléatoire gaussienne, il est possible de calculer
théoriquement les performances de ce système de communication. La façon la plus courante
d’évaluer les performances d’un système de communication numérique est de calculer la probabilité de faire une erreur, ou le taux d’erreur, que l’on dénote Pe, en fonction du rapport signal à
bruit. Ce rapport signal à bruit est proportionnel à 1/σ2. Pour la cas habituel où il y a autant de “0”
que de “1” transmis, la probabilité d’erreur théorique est donnée par:
1
1
P e = --- erfc  -------------- 
 2 2σ 
2
où
∞
2
–u
2
-----erfc ( x ) =
∫ e du
π
x
MAT-19961 Calcul matriciel en génie
1
Automne 1997
Pour réaliser le simulateur, vous devez:
- Générer un vecteur, b, de 1000 variables aléatoires gaussiennes de variance σ. Pour cela, vous
pouvez utiliser la fonction randn et multiplier le vecteur par une constante représentant σ.
- Générer un vecteur, s, de 1000 points représentant le signal, i.e. un vecteur contenant des “0” et
des “1” distribués de façon aléatoire.
- Ajouter le bruit au signal transmis, i.e r = s + b.
- Estimer le signal reçu: si r(i) > 0.5, alors rr (i) = 1, sinon, rr(i) = 0.
- Calculer le taux d’erreur en comparant la séquence transmise, s, avec la séquence estimée à partir de la séquence reçue, rr. Pe = (nombre d’éléments différents)/1000. (Indice: utiliser sum et
xor.)
- Vérifier votre résultat en utilisant la fonction Matlab erfc. Prenez σ = 0.5. Il est normal que le
résultat de la simulation diffère légèrement du calcul théorique.
- Faire une série de simulations pour une dizaine valeurs de σ comprises entre 0.2 et 2.0.
- Tracer le résultat de ces simulations sous la forme d’un graphique de Pe en fonction de 1/σ ainsi
que les calculs théoriques correspondants. Utiliser la fonction loglog plutôt que plot.
MAT-19961 Calcul matriciel en génie
2
Automne 1997
Téléchargement