CommNum Transmission

25
Sylvain RAGOT LSI2 - 30 mars 2010 er´ emy LE PIOLET Logiciels MatLab (simulink) Kile (L A T E X) Communication Num´ eriques I Encadr´ e par : C´ ecile BEAUMINJ ´ Etude d’une chaˆ ıne de transmission esum´ e: Ce document rend compte des 3 s´ eances de Travaux Pratiques sur l’environnement Simulink de Matlab . Grˆ ace ` a la chaˆ ıne de transmission fournie, nous avons pu exp´ erimenter et interagir avec quelques blocs qui la composent. Abstract : This sheet talks about 3 sessions of practical work on Simulink environnement - from Matlab . With the given file, we had experiment and act on some blocks which are part of this chain. — ENSSAT - Universit´ e de Rennes 1 — ´ Ecole Nationale Sup´ erieure de Sciences Appliqu´ ees et de Technologie 6, rue de Kerampont - 22305 LANNION - FRANCE el´ ephone : 02 96 46 91 48 - T´ el´ ecopie : 02 96 46 66 75 http ://www.enssat.fr/

Transcript of CommNum Transmission

Sylvain RAGOT LSI2 - 30 mars 2010 Jeremy LE PIOLET

Logiciels MatLab (simulink)Kile (LATEX)

Communication Numeriques

I Encadre par : Cecile BEAUMINJ

Etude d’une chaıne de transmission

Resume : Ce document rend compte des 3 seances de Travaux Pratiques sur l’environnementSimulink de Matlab . Grace a la chaıne de transmission fournie, nous avons pu experimenter etinteragir avec quelques blocs qui la composent.

Abstract : This sheet talks about 3 sessions of practical work on Simulink environnement -from Matlab . With the given file, we had experiment and act on some blocks which are part ofthis chain.

— ENSSAT - Universite de Rennes 1 —Ecole Nationale Superieure de Sciences Appliquees et de Technologie

6, rue de Kerampont - 22305 LANNION - FRANCETelephone : 02 96 46 91 48 - Telecopie : 02 96 46 66 75

http ://www.enssat.fr/

Table des matieres

Introduction 2

I Tutoriel Simulink 3

1 Tutoriel Simulink 41.1 Presentation generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Boıte de dialogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Zone de creation du systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5 Visualisation du systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.5.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.5.2 Windowed Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

II Etude de la chaıne de transmission 9

2 Identification de la chaıne de transmission 112.1 La source du message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Le codage de source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 L’echantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.2 La quantification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Le codage de canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.1 La conversion en bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.2 Code correcteur d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.4 Le canal de transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5 Synthese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.5.1 Resultat en bout de chaıne . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5.2 Retour sur la modelisation de la chaıne . . . . . . . . . . . . . . . . . . . 162.5.3 Taux d’erreurs binaires - Taux d’erreurs de symboles . . . . . . . . . . . . 16

3 Canal Gaussien 183.1 Sans correction d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.1 Serialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.2 Sur-echantillonnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.1.3 Le canal de transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.1.4 Filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.1.5 Discretisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.1.6 Decision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 Avec correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Conclusion 24

1

Introduction

Outre l’utilisation d’un logiciel de calcul numerique qu’est Matlab et de l’environnement demodelisation Simulink , ces seance de travaux pratique ont pour but de pratiquer certains pointstheoriques tournant autour des chaınes de transmition. Nous disposons deja de la modelisationd’une chaıne, presentee sur la figure figure 1.7 page 10. Nous nous attacherons, dans ce document,a en comprendre les elements avant de les modifier, d’observer et de commenter les effets de cesmodification grace aux simulations.

2

Premiere partie

Tutoriel Simulink

3

Chapitre 1

Tutoriel Simulink

Pour realiser ce TP, nous avons utilise le logiciel de simulation Simulink . Cette partie a doncpour objectif de faire une rapide presentation du logiciel.

1.1 Presentation generale

Simulink est une plate-forme de modelisation et de simulation de systemes de communica-tions et de traitement du signal. Il propose de nombreuses fonctions et fonctionnalites permettantde creer, implementer et controler toute sorte de systemes numeriques. Cet environnement estintegre au logiciel scientifique Matlab .

L’environnement se decompose en deux parties principales : une boıte de dialogue contenantles differents composants que l’on peut integrer a notre systeme et une fenetre permettant dedeposer et d’agencer les differents composants (figure 1.1 page 5). Ces differents elements sontaccessibles depuis Matlab en tapant la commande simulink dans la fenetre de commande. Unebibliotheque additionnelle — commlib — a ete utilise, notamment pour les differents canaux.

1.2 Boıte de dialogue

Nous allons nous interesser a la boıte de dialogue contenant le differents composants. Celle-cipermet en effet de choisir les elements qui seront utilises par notre systeme.

Les differents composants sont regroupes en categories, ce qui permet une recherche plusaisee, en plus du moteur de recherche integre. Ainsi, on retrouve differentes categories commeoperation sur des signaux continus, discrets ou operateurs logiques et a bits. Certains compo-sants, utilises pour le TP seront detailles dans le chapitre 2 page 11.

Une fois le composant desire trouve, il suffit de le deplacer sur la zone graphique pourl’ajouter au systeme que l’on souhaite concevoir.

1.3 Zone de creation du systeme

Le deuxieme morceau de la plateforme Simulink est la zone de creation graphique. C’est eneffet a partir de cette zone que nous allons pouvoir agencer les differents composants selectionnesprecedemment.

Cette zone nous permet de concevoir graphiquement notre systeme : il nous suffit de deplacerles differents composants et de les relier entre eux pour pouvoir mettre en place le systeme (figure1.2).

Les differents composants possedent, selon leur type, differentes entrees et sorties symboliseespar le symbole >. Pour relier deux composants entre eux, il suffit de cliquer sur l’entree/sortiedu premier composant et de tracer a partir de ce point un trait jusqu’a l’entree/sortie du second.

4

1.4. COMPOSANTS 1. Tutoriel Simulink

Une autre methode consiste a cliquer sur le premier composant, puis, en maintenant la toucheCTRL, cliquer droit sur le nouveau composant.

Une fois le systeme cree, nous pouvons le simuler en cliquant sur la fleche de lecture enhaut de la fenetre. Ceci va permettre de simuler le systeme sur une certaine duree. La duree estparametrable a partir de la zone de texte adjacente.

Lors de la simulation, si des blocs ne sont pas conformes dans notre systeme (manque uncomposant, erreur de type de donnees en entree d’un composant, ...), le logiciel va le signaler enaffichant un message d’erreur, indiquant par la meme occasion le composant incrimine.

Differentes options sont accessibles a partir des menus de cette fenetre. On peut par exempleafficher les formats des donnees qui transitent entre les composants en realisant un clic droit>menu Format > signal Dimensions.

1.4 Composants

A partir de la zone de creation graphique decrite en 1.3, nous pouvons egalement acceder auxproprietes de chacun des composants. Pour ce faire, il suffit de double-cliquer sur le composantque l’on souhaite configurer : un boıte de dialogue s’ouvre alors.

La boıte de dialogue peut se decomposer en deux parties (cf figure 1.3). La premiere, lapartie superieure, propose une aide pour decrire le composant . Elle explique son role ainsi quecelui des differents parametres que l’on peut configurer. La seconde partie propose les differentsparametres que l’on peut configurer pour notre composants. Ceux-ci peuvent etre repartis sousformes d’onglet, certains etant des configuration pour l’affichage du composant, d’autres pourles traitements qu’il doit effectuer.

En plus de l’aide decrite dans la partie superieure de la fenetre de configuration, une aidegenerale pour chaque composant est disponible dans le menu d’aide generale.

Fig. 1.1 – Boıte de dialogue representant les composants

5

1.5. VISUALISATION DU SYSTEME 1. Tutoriel Simulink

Fig. 1.2 – Zone d’implementation du systeme

1.5 Visualisation du systeme

Nous allons a present decrire certains elements qui permettent de connaıtre l’etat du systeme.Nous en avons en effet utilise plusieurs et ils peuvent resservir frequemment lorsque l’on souhaitesimuler un systeme.

6

1.5. VISUALISATION DU SYSTEME 1. Tutoriel Simulink

Fig. 1.3 – Parametrage des composants

1.5.1 Scope

Le premier element important est le Scope. Ce composant permet en effet de visualiser sousforme graphique le signal qu’il recoit en entree. C’est donc un outil precieux pour visualiser lecomportement d’un bloc par rapport au signal recu.

Le Scope se branche sur un lien entre deux blocs : on ne peut donc visualiser que ce quitransite entre les differents blocs. Lorsque l’on lance la simulation, le signal capte est representeselon le temps qui s’ecoule pour delivrer un resultat (cf figure 1.4).

Fig. 1.4 – Representation d’un signal sur un Scope

Une fois le signal trace, nous pouvons l’etudier plus en detail grace aux differents zoom :zoom general, zoom boıte, zoom selon l’axe des abscisses ou des ordonnees, accessibles a partirdes differents boutons en haut de la fenetre. Ceci nous permet ainsi d’etudier le signal sur uneperiode, ou selon son amplitude, ... A tout moment, on peut revenir a un zoom normal enrealisant un clic droit et en selectionnant, soit zoom out, soit autoscale, qui reajuste le signal ala fenetre.

7

1.5. VISUALISATION DU SYSTEME 1. Tutoriel Simulink

Fig. 1.5 – Representation d’un signal sur unWindow Integrator

Fig. 1.6 – Options d’un Window Integrator

Le scope peut etre parametre a partir de sa fenetre de configuration pour recevoir plusieurssignaux en entree. Ceci permet par exemple de comparer le signal recu en entree d’un bloc aveccelui en sortie. Pour ce faire, on selectionne le bouton propriete dans le haut de la fenetre :la fenetre de configuration apparaıt. On ajoute ensuite des axes dans la zone Number of axes(figure ??).

1.5.2 Windowed Integrator

Ce composant permet de d’afficher le signal branche en entree selon le domaine frequentiel,c’est a dire que le bloc va realiser la transformee de fourrier du signal pour afficher sa representationfrequentielle (figure 1.5).

En double-cliquant sur le composant, on accede a la fenetre de configuration. A partir de lafenetre, on peut parametrer la taille du buffer pour pouvoir calculer la transformee de fourrier.On peut egalement parametrer des proprietes d’affichages, comme la longueur des axes (figure1.6).

Apres ce rapide apercu du logiciel simulink, nous allons a present nous interesser au cas denotre TP.

8

Deuxieme partie

Etude de la chaıne de transmission

9

Fig. 1.7 – Chaıne initiale

10

Chapitre 2

Identification de la chaıne detransmission

Les termes “chaıne de transmission” cachent en fait un ensemble de bloc, parmis lesquelsnous pouvons retrouver ceux ci-dessous :

Source du message ⇒ Codeur de source ⇒ Codeur de canal ⇒ Emetteur⇓

Canal⇓

Destinataire ⇐ Decodeur de source ⇐ Decodeur de canal ⇐ Recepteur

Dans un premier temps, nous allons commencer par identifier le schema precedent a la figure1.7 page 10. Toutefois, grace a la symetrie de la chaıne ci-dessus, nous pourrons nous contenterde presenter qu’une seule partie (⇒).

2.1 La source du message

Il ne s’agit pas ici de transmettre un message ayant un sens particulier. Nul besoin qu’il soitcomplexe pour etudier sa transmission, au contraire. La source sera donc un signal sinusoıdald’une amplitude de 1V [-1 ; 1] et d’une frequence de 0,3 rad/s (valeur moyenne et dephasagenuls). Le signal en question sera donc tel que :

s(t) = 1× sin(2π · 0, 3 · t+ 0) + 0 (2.1)

Cette fonction est realisee par le bloc suivant :

2.2 Le codage (decodage) de source

Le but du codage de source est de diminuer la quantite d’information a transmettre ; lacompresser. Le signal que nous voulons transmettre est un signal sinusoıdal. Son principalinconvenient est qu’il est continu (il est egalement tres fortement redondant a cause de saperiodicite). Pour cela, une forme simple de compression est de ne prendre des valeurs queponctuellement, c’est a dire, realiser un echantillonnage.

Nous remarquons ainsi que cette etape de codage se fait avec perte d’information. Autrementdit, les erreurs induites par ce codage introduisent du bruit dans le signal a transmettre.

11

2.2. LE CODAGE DE SOURCE 2. Identification de la chaıne de transmission

2.2.1 L’echantillonnage

A chaque fois qu’une duree appelee periode d’echantillonnage s’ecoule, on retient la valeurnumerique du signal qu’on echantillonne. Le signal obtenu est discretise et donc beaucoup moinsriche en information, mais beaucoup plus facile a transmettre. Son amplitude, elle, n’a toujourspas changee.

Dans notre cas, la periode d’echantillonnage est fixee a 0,4 par le bloc suivant :

La perte d’information est particulierement visible a ce niveau, puisqu’une variation du signalpendant la periode d’echantillonnage ne sera pas prise en compte.

Apres passage dans ce bloc, on observe :

Fig. 2.1 – Echantillonnage

On remarque sur cette simulation que l’amplitude et la frequence ne changent pas. Lescaracteristiques du signal sont donc inchangees.

2.2.2 La quantification

La quantification est une etape supplementaire, particulierement efficace pour reduire la tailledes donnees a transmettre. En communication numeriques, nous nous interessons a transmettredes donnees numeriques. Partant d’un signal “physique” tel qu’une sinusoıde, nous allons devoirintroduire un convertisseur analogique numerique.

12

2.3. LE CODAGE DE CANAL 2. Identification de la chaıne de transmission

C’est la fonction realisee par la quantification scalaire du bloc suivant :

Nous aurons ainsi un ensemble finis de valeurs discretes et entieres comprises entre 0 et 15.

Fig. 2.2 – Quantification

Nous avons bien des valeurs entieres variant entre 0 et 15. La frequence, quant a ellen’a toujours pas change. Par contre, si les intervalles avaient une longueur constante apresl’echantillonnage, on voit ici des ecarts de longueur aleatoire. Cet ecart est particulierementvisible sur les cretes, lorsque les variations sont faibles.

L’echantillonnage travaille uniquement sur l’axe temporel, alors que la quantification tra-vaille, elle, sur les amplitudes. A la suite de ces deux blocs, nous avons donc un signal numerique,echantillonne en temps et en amplitude.

2.3 Le codage (decodage) de canal

2.3.1 La conversion en bits

En bon signal numerique, nous nous attendons plutot a transmettre un signal prenant lesvaleurs 0 ou 1 que celui obtenu en sortie du convertisseur precedent. Nous allons ainsi rajouterun etage de conversion d’un entier vers un mot binaire.

Ce mot sera compose des 4 bits necessaires au codage d’une valeur variant de 0 a 15. Lavaleur renseignee dans les parametres du bloc Integer to Bit Converter (= 4) est donc coherenteavec le nombre de points de la quantification.

13

2.3. LE CODAGE DE CANAL 2. Identification de la chaıne de transmission

Cette numerisation est realisee par :

Fig. 2.3 – Quantification

On pourra remarquer en bas de la simulation precedente, la presence de 4 couleurs. Ce sonten fait les 4 bits necessaires au codage de la valeur numerique, superposes sur le meme graphe.On aurait pu preferer une representation matricielle de la donnee en sortie de ce bloc. Un extraitdu tableau obtenue est donne dans la section suivante.

2.3.2 Code correcteur d’erreur

Aussi etrange que cela puisse paraıtre, apres avoir reduit la quantite d’information transmise,nous allons maintenant en ajouter. En realite, cela ne devient plus du tout etrange, lorsque lesinformations ajoutees par le codage de canal servent a reduire les erreurs introduites par latransmission, le bruit ajoute par le canal de transmission.

Tel que presente sur la chaıne de transmission complete, la partie codage de canal est realiseepar un code de Hamming. L’interet du codage de Hamming est d’etre un code correcteur d’erreur.Dans une certaine mesure, il va donc pouvoir etre capable de supprimer les erreurs induites parle bruit. La paire codeur/decodeur va donc pouvoir supprimer le bruit si l’erreur qu’il induit neporte que sur un seul des quatre bits transmis.

On peut d’ailleurs remarquer qu’en entree du bloc codeur, nous avons 4 bits en entree et 7bits en sortie. simout1 permet d’obtenir les valeurs entrantes dans le codeur dans Matlab .

Le tableau ci-dessous en donne un extrait.

14

2.4. LE CANAL DE TRANSMISSION 2. Identification de la chaıne de transmission

Hamming Donnees utiles0 0 1 0 1 1 11 1 0 1 0 0 00 1 1 1 0 0 10 0 1 1 0 1 01 0 0 1 0 1 11 0 1 1 1 0 00 0 0 1 1 0 10 0 0 1 1 0 1

· · ·

Cette fonction est remplie par les blocs suivants :

2.4 Le canal de transmission

Le canal est le medium de transmission de l’information. Dans la chaıne donnee, le canalest un BSC (Binary Symmetric Channel). Il introduit une erreur binaire, reglable dans lesparametres du bloc, notee BSCp. Dans notre exemple, nous avons BSCp = 0, 05. Ainsi, laprobabilite d’avoir une erreur (un 0 compris comme un 1 ou inversement) est de 5%. Nouspourrons egalement observer grace aux scope nomme Transmition que si nous reglons ce tauxd’erreur a BSCp = 1 le signal de sortie est l’inverse du signal d’entree.

Le canal de transmission est represente par le bloc suivant :

2.5 Synthese

2.5.1 Resultat en bout de chaıne

D’un bout a l’autre de la chaıne, nous obtenons le signaux suivants :

15

2.5. SYNTHESE 2. Identification de la chaıne de transmission

Cette capture a volontairement ete prise a un moment ou les erreurs etaient visibles. Lasimulation permettant de jouer sur la probabilite d’introduction d’une erreur (BSCp), le resultatobtenu n’est qu’une realisation de la variable aleatoire qui modelise le passage dans le canal.

On peut remarquer que les erreurs qui persistent, meme avec un code correcteur, surviennentaux extrema. Ceci n’est en rien une generalite. Cependant, nous avons vu que la quantificationajoutait pas mal de bruit a ce niveau du fait des variations d’amplitude plus faibles. Le code deHamming a donc plus de mal a corriger les erreurs.

On peut egalement voir de legeres variations sur l’amplitude et la phase qui ont subit despertes et des traversees de blocs. La frequence ne semble pas avoir change.

2.5.2 Retour sur la modelisation de la chaıne

Au debut de ce chapitre, nous avions modelise la chaıne de transmission par :

Source du message ⇒ Codeur de source ⇒ Codeur de canal ⇒ Emetteur⇓

Canal⇓

Destinataire ⇐ Decodeur de source ⇐ Decodeur de canal ⇐ Recepteur

Concretement, qu’est-ce que cela donne ?

Source du message

Codeur de source

Codeur de canal

Canal

Destinataire du message

Decodeur de source

Decodeur de canal

2.5.3 Taux d’erreurs binaires - Taux d’erreurs de symboles

Sur le schema complet de la chaıne de transmission (figure 1.7 page 10), deux dispositifsnous permettent d’obtenir des renseignements sur le taux d’erreur au cours de la transmission.

Le bloc Error Rate Calculation est charge, comme son nom l’indique, de detecter les differencespresentes dans les vecteurs qu’il prend en entree. Il fournit trois informations :

– le taux d’erreur ;

16

2.5. SYNTHESE 2. Identification de la chaıne de transmission

– le nombre d’erreurs detectees ;– le nombre total de symboles compares.Les couples (Error Rate Calculation, Display) sont positionnes :– l’un de part et d’autre du canal. Il fournit le taux d’erreurs binaires. - i.e. les bits qui ont

traverse le canal en etant altere.– l’un de part et d’autre du codage de canal. Il fournit le taux d’erreurs de symboles - i.e.

les symboles qui n’ont pu etre corriges, malgre la detection d’une erreur.

2.5.3.1 Taux d’erreur theorique

I Concernant le taux d’erreur binaire, nous avons la relation suivante :

limt→∞

TEB = BSCp (2.2)

C’est d’ailleurs pour cette raison que nous avons pris une duree de simulation importante.

I Concernant le taux d’erreur de symbole, le codage de Hamming va etre capable de corrigerles erreurs de poid 1. Nous avons donc la relation suivante :

pes = 1− p(0 erreur)− p(1 erreur)pes = 1− (1− peb)− p(1 erreur)

(2.3)

2.5.3.2 Taux d’erreur pratique

La tableau suivant donne plusieurs valeurs en fonction de la probabilite d’erreur specifieedans les parametres du canal (pour une duree de simulation de 10000) :

Probabilite d’erreur 5% 15% 25% 35%Taux d’erreur binaires 5,04% 14,92% 24,96% 34,95%Taux d’erreur de symboles 4,57% 28,19% 55,39% 76,22%Nombre d’erreurs binaires 8817 2, 6 · 104 4, 367 · 104 6, 117 · 104

Nombre d’erreurs de symboles 1143 7049 1, 385 · 104 1, 906 · 104

Probabilite d’erreur 45% 55% 65% 100%Taux d’erreur binaires 44,94% 55,06% 64,95% 100%Taux d’erreur de symboles 89,54% 96,48% 99,1% 100%Nombre d’erreurs binaires 7, 865 · 104 9, 635 · 104 1, 137 · 104 1, 75 · 105

Nombre d’erreurs de symboles 2, 239 · 104 2, 412 · 104 2, 478 · 104 2, 5 · 104

Nombre de comparaisons binaires : 1, 75 · 105

Nombre de comparaisons de symboles : 2, 5 · 104

17

Chapitre 3

Canal Gaussien

Nous allons a present modifier la chaıne precedemment decrite pour creer un signal binaireserie que l’on transmettra. Nous obtenons la figure figure 3.11 page 23.

Pour cela, on retire tout d’abord le codage de Hamming : ceci nous permettra d’etudierle systeme sans correction d’erreur et de comparer, par la suite, les resultats obtenus avec lacorrection due a l’encodeur- decodeur de Hamming.

3.1 Sans correction d’erreur

3.1.1 Serialisation

Notre signal est, avant sa transmission, sous forme d’un vecteur binaire de 4 bits. Nous allonsa present le transformer pour obtenir un signal binaire sous forme serie. Pour ce faire, nous allonsutiliser les fonctions Frame Conversion et Unbuffer.

La premiere va prendre en parametre notre signal sous forme de vecteur binaire. Elle vaserialiser le signal sous une suite de paquets de [4x1] bit. C’est ce signal que prend ensuite enentree le bloc Unbuffer. Ce dernier va alors restituer le signal sous forme serie, a savoir unesuccession de bits.

Lorsque l’on branche un scope sur le signal en entree et le signal en sortie, on constate quecelui en entree (en haut) est sur plusieurs bits (differentes couleurs de courbes symbolisant lesdifferentes composantes du vecteur de bits) alors que le signal transforme est bien sur 1 bits(mono-couleur).

Fig. 3.1 – Passage dans les blocs To Frame et Unbuffer

18

3.1. SANS CORRECTION D’ERREUR 3. Canal Gaussien

En observant le signal en sortie, il semble que le signal ait une periode plus faible que le signalen entree. Ceci semble logique : notre signal est sous forme serie, il faut donc transmettre les 4bits sur le meme temps que l’on transmet notre vecteur de bit. En consequence, sur le tempsd’une periode du signal initial, il faut faire passer 4 bits sous forme serie et donc la periode doitetre 4 fois plus petite.

3.1.2 Sur-echantillonnage

Notre signal sous forme binaire, nous allons a present le sur-echantillonner d’un facteur 10.On obtiendra ainsi un signal plus proche d’un signal analogique. Ceci a pour but de simuler plusfinement la presence d’un signal analogique.

Fig. 3.2 – Avant le sur-echantillonnage Fig. 3.3 – Apres le sur-echantillonnage

En observant les spectres de frequence du signal avant et apres echantillonnage, on constateque la bande spectrale du signal sur-echantillonne est plus large que celle du signal en sortie dubloc Unbuffer. Ceci est normal puisqu’il y a plus d’informations a transmettre.

3.1.3 Le canal de transmission

Le signal ainsi obtenu passe sur un canal AWGN (Additive White Gausian Noise). On rem-place donc l’ancien canal de transmission par un canal gaussien.

Dans la premiere partie du TP, nous pouvions regler nous meme la probabilite d’erreur pourla transmission des bits. L’erreur etait constante : on pouvait par exemple la fixer a 0,3 et avoiralors 3 symboles sur 10 qui n’etaient pas corrects.

Ici, le canal de transmission va rajouter un bruit blanc gaussien, i.e. rajouter un bruit quisuit une loi normale sur chacune des frequences du signal.

A defaut d’agir sur la probabilite d’erreur, nous pourrons agir sur le rapport signal a bruitdesignant la qualite de transmission du signal par rapport aux parasites presents sur le canal.Autrement dit, on parametre notre canal en fonction de la qualite du signal que l’on veut recevoir.En pratique, plus ce rapport est eleve, plus le signal recu est de qualite.

Eb/No =qualite du signal

parasites du canal(3.1)

Pour nous rendre compte de l’effet de ce parametre, nous avons ainsi effectuer plusieurssimulations avec un rapport egal a 1, 10 et 100. On remarque bien qu’a 100, le signal estrelativement proche de celui emis, alors qu’a 1, le signal est fortement bruite.

19

3.1. SANS CORRECTION D’ERREUR 3. Canal Gaussien

Fig. 3.4 – Eb/No=1 Fig. 3.5 – Eb/No=10 Fig. 3.6 – Eb/No=100

En observant le signal avec un rapport egal a 10, on constate egalement que chacune desdifferentes frequences est bruitee, comme le laisse supposer l’ajout d’un bruit blanc gaussien : lesignal est reconnaissable, mais reste bruite, comme prevu.

De meme, par curiosite, on observe les signal transmis avec des scopes classiques, autrementdit en fonction du temps. La encore on peut voir l’influence du rapport signal sur bruit. Eneffet, lorsque le rapport signal sur bruit est a 100, on voit bien les creneaux du signal numeriquetransmis, legerement bruite.

Fig. 3.7 – Eb/No=10 Fig. 3.8 – Eb/No=100

Dans le cas d’un rapport egal a 10 en revanche, on constate que le signal est fortementbruite et on ne reconnaıt plus la forme de ce dernier. En consequence, il n’est pas toujoursevident de savoir quel etait la valeur du bit transmis, et donc on pourra faire des erreurs lors del’interpretation du signal. Par la suite, lorsque l’on ajoutera le module de correction d’erreur,on peut supposer a partir de ces informations que la tache du code correcteur d’erreur sera plusdifficile, laissant passer plus d’erreurs.

Afin d’illustrer plus clairement les etapes suivantes, nous garderons Eb/No = 10.

3.1.4 Filtrage

On pourra remarque sur la figure 3.5 un bruit assez consequent a l’issu du canal. Sachant quele signal que nous transmettons est toujours une simple sinusoıde a 3Hz, nous allons chercher aenlever tous les parasites qui sont superieurs a cette frequence. Ce que nous souhaitons gardersont les 2 raies de part et d’autre du centre.

Le bloc qui suit, Windowed Integrator, va nous aider dans cette tache.

20

3.1. SANS CORRECTION D’ERREUR 3. Canal Gaussien

Il realise une somme (integrale discrete) sur une fenetre glissante. La fenetre en questiondetermine les bornes de l’integrale.

Par ailleurs, on sait qu’une integration(

1jω

)realise un filtrage passe-bas du signal sur lequel

il est applique. On peut donc s’attendre a trouver un spectre ressemblant a la figure 3.5 pourles frequences proches de 0 et plat lorsqu’elles augmentent.

Fig. 3.9 – Avant l’integration Fig. 3.10 – Apres l’integration

Du point de vue temporel, le resultat est deja plus propre que celui que nous avions avant(figure 3.7)

3.1.5 Discretisation

Afin de pouvoir reutiliser la chaıne de decodage1 utilisee dans la premiere partie, il va nousfalloir discretiser le signal obtenu.

Pour cela, nous allons d’abord utiliser un bloc de type Sample & Hold. Ce bloc va recevoir enentree le signal analogique de-bruite en sortie du Windowed Integrator, ainsi qu’une horloge pourdefinir les moments d’echantillonnage. A chaque front d’horloge (ici, pour chaque front montant),nous allons ainsi bloquer le signal sur une valeur, le temps d’une periode correspondant a laperiode du signal envoye.

On obtient ainsi le signal presente figureci-contre. En haut, le signal en entree du bloc,en bas celui en sortie. On remarque bien icique le signal a ete discretise : bien que la formegenerale suive celle du signal d’origine, on re-marque les differents “paliers” de valeurs, mon-trant la discretisation.

3.1.6 Decision

Comme on peut le voir, le signal est discretise mais ne ressemble pas encore au signalnumerique attendu. En effet, on souhaite avoir un signal dont les amplitudes varient entre -V et +V. Hors, ici, les amplitudes sont assez variees : on ne peut pas comparer le signal avec

1composee des blocs Bit to Integer Converter, Scalar Quantizer Decoder et Transfer Function

21

3.2. AVEC CORRECTION 3. Canal Gaussien

celui emis, puisque l’on ne sait pas si il s’agit de la valeur 1 ou 0 que l’on a recu.Il va donc falloir ajouter un bloc pour nous permettre de decider quelle valeur on a recu :

c’est le role du bloc Switch. Ce bloc recoit en entree le signal que l’on souhaite transformer(le signal en sortie du bloc Sample & Hold) ainsi que d’autres parametres correspondant auxvaleurs de decision. Ici, comme l’on sait que les bits transmis sont soit 1, soit 0, nous auronsdeux parametres correspondant aux constantes 0 et 1.

Le bloc va alors analyser le signal discret en entree et va regarder s’il remplit les conditionsde seuil. Si la valeur du signal recu est au dessus du seuil fixe, c’est la premiere valeur qui seraaffecte, sinon, c’est la deuxieme.

Dans notre cas, si le signal est au dessusdu seuil, le signal prendra la valeur 1, 0 si-non. Pour notre seuil, nous avons observe quenotre signal recu variait entre -5 et 15 V. On adecide de fixer notre seuil a la valeur medianedes deux extremes, a savoir 5. Ainsi, si le si-gnal est au dessus de 5V, alors la valeur trans-mise est 1, sinon, c’est 0.

On constate sur la figure ci-contre que lesvaleurs du signal en sortie sont comprises entre0 et 1, ce que l’on souhaitait. On remarquebien egalement le changement des differentesvaleurs a chaque fois que le signal franchis le

seuil. On a donc bien notre signal sous une forme proche de celui que l’on souhaitait transmettreinitialement.

3.2 Avec correction

Nous remettons maintenant le codage de Hamming (en modifiant egalement la taille de sortiedu buffer de la chaıne de decodage).

La tableau suivant donne plusieurs valeurs en fonction de la probabilite d’erreur specifieedans les parametres du canal (pour une duree de simulation de 10000) :

CRC Rapport signal a bruit 100dB 10dB 5dB 4dB

avec Taux d’erreur binaires 0% 2,20% 12,52% 15,23%avec Taux d’erreur de symboles 0% 0,98% 21,37% 28,82%sans Taux d’erreur binaires 5,04% 35,32% 37,58% 38,35%sans Taux d’erreur de symboles 4,57% 59,72% 70,3% 72,96%

La, l’effet de la correction d’erreur est flagrant.

CRC Rapport signal a bruit 3dB 2dB 1dB 0dB

avec Taux d’erreur binaires 17,93% 20,70% 23,24% 25,72%avec Taux d’erreur de symboles 36,42% 44,12% 50,85% 57,26%sans Taux d’erreur binaires 39,23% 40,14% 40,99% 41,87%sans Taux d’erreur de symboles 75,71% 78,01% 79,99% 81,97%

22

3.2. AVEC CORRECTION 3. Canal Gaussien

Fig. 3.11 – Chaıne avec un canal Gaussien23

Conclusion

Pendant ces seances de travaux pratiques, nous avons pris un cas concret d’une chaıne detransmission d’information. Grace a l’utilisation d’environnement de developpement et de simu-lation, nous avons, pu mettre en pratique ces elements de communications numeriques.

L’interet majeur de l’utilisation des ces logiciels de modelisation est de pouvoir agir sur lesdifferents parametres qui composent chacun des blocs. L’observation des reactions du systemea ces modifications nous a permis de fixer certaines notions et nous permet d’avoir une ideeconcrete des chaınes de transmissions. Bien sur, il ne s’agit ici qu’un cas particulier. Nouspourrons cependant avoir des bases lorsqu’il s’agira de modifier certains blocs pour la mise enœuvre d’un autre systeme.

24