You are on page 1of 17

Rampal Vincent Ferrand Benoit Groupe 1

1er mai 2002

Transmission numrique
Compte-rendu

ESSI 2002

Sommaire

I RAPPELS SUR LE TRAITEMENT DU SIGNAL ET LA TRANSMISSION NUMRIQUE...........................................................................................................................3 1) OUTILS DE TRAITEMENT DU SIGNAL.................................................................................3 2) BREF RAPPEL DES CONTRAINTES (BANDE FRQUENTIELLE, DFORMATION)...................5 3) COMMENT MODLISER DES ERREURS (CHO, )..............................................................6 II SIMULATION DUN CANAL DE TRANSMISSION.....................................................6 1) LA MODULATION ET LA DMODULATION..........................................................................6 2) DIAGRAMME DE LIL : UTILIT, MISE EN UVRE, EXPLOITATION ;..............................10 3) CONSTELLATION : OBJECTIF, EXPLOITATION ;.................................................................11 III CODAGE CONVOLUTIONNEL ET ALGORITHMES DE CORRECTIONS DERREURS...........................................................................................................................12 1) DTECTION ET CORRECTION DES ERREURS DE TRANSMISSION......................................12 2) ALGORITHME DE VITERBI...............................................................................................13 Principes...........................................................................................................................13 Rsultats............................................................................................................................13 3) CODE DE HAMMING.........................................................................................................15 Principes...........................................................................................................................15 Dtection et correction de lerreur...................................................................................15 Rsultats............................................................................................................................16

page 2

Introduction
La communication numrique est de nos jours au centre des nouvelles technologies. La tlphonie mobile en est probablement le reprsentant le plus voquant. Cependant, transmettre des messages numriques via un medium analogique pose des problmes quil convient de soulever et de rsoudre. Par le biais de ce rapport et des rsultats obtenus lors des scances de travaux pratiques, nous allons donc revenir sur quelques outils majeurs du traitement du signal, voir les diverses tapes dun canal de transmission et les problmes engendrs, puis nous verrons plusieurs solutions permettant de corriger les ventuelles erreurs lies la transmission.

I Rappels sur le traitement du signal et la transmission numrique.

1) Outils de traitement du signal


Tout signal continu est form dune onde pouvant varier dans le temps. Cette onde peut tre caractrise sous plusieurs traits. Dans la suite, nous ne nous attacherons qu ltude de la (ou les) frquence(s) de ce signal. En prenant lexemple des notes de musique, chaque note a une frquence qui lui est propre et qui nous permet de la distinguer des autres notes. Ainsi, un la pur quivaut 440Hz... Afin dtudier ces frquences, nous utiliserons la transforme de Fourier, qui est un outil puissant permettant de dcomposer un signal en somme de sinusodes avec des frquences diffrentes. C'est un vritable lien entre un signal temporel et ce mme signal frquentiel. Dun point de vue algorithmique, nous emploierons la FFT (Fast Fourier Transfom) qui permet dobtenir rapidement la tranforme de Fourier de tout signal (avec toutefois quelques conditions dapplication). Applique un son, nous pouvons alors percevoir facilement (sous forme de "pics") les frquences des ondes majoritairement prsentes dans ce son.

page 3

Ce signal temporel est constitu de 4 ondes : un fondamental la frquence 85 Hz et trois harmoniques conscutives (170, 255, 340 Hz).

A laide de la transforme de Fourier applique au signal ci-dessus, nous retrouvons les frquences des 4 ondes.

Sur le graphe ci-dessus, on distingue plusieurs pics espacs gale distance, qui reprsentent le fondamental (premier pic gauche) ainsi que plusieurs de ses harmoniques. Notons que nous avons chantillonn le signal temporel 1000 Hz, et quil est donc normal davoir, sur le graphe correspondant la transforme de Fourier, une symtrie 500 Hz Dans la suite, nous ne considrerons, dans un soucis de comprhension, que les frquences situes de 0 la demi-frquence dchantillonnage (sans oublier toutefois que limplmentation prend en compte ces pics ). Abordons prsent le filtrage d'un signal sonore, qui consiste ne conserver que des sinusodes dont les frquences sont comprises dans la bande de frquence que nous dsirons conserver.

page 4

Ce filtrage peut se faire dans le domaine temporel (convolution avec un sinus cardinal) ou bien dans le domaine frquentiel (multiplication par une fonction porte).

Nous avons effectu ci-dessus un filtrage passe-bas, liminant par l-mme les hautes frquences du signal (seuls les pics basse-frquence ont t conserv).

2) Bref rappel des contraintes (bande frquentielle, dformation)


La raison mme de ltude des transmissions numriques est la rsolution (et la correction) derreurs de transmission. Ces erreurs sont essentiellement des des contraintes physiques (milieux traverss par les ondes, cho). Ces problmes correspondent, lors de la rception du signal, des erreurs de reconnaissance des donnes (au niveau des bits). Notons de plus que dautres contraintes apparaissent galement : elles correspondent des problmes de gestion purement pratiques. Lexemple le plus important est sans aucun doute la radio : chaque station a sa propre frquence qui lui a t attribu. Il nous faut donc galement tenir compte de cette bande de frquence, et mettre dans cette bande. La rception devra ainsi sadapter cette contrainte supplmentaire.

page 5

3) Comment modliser des erreurs (cho, )


Certaines erreurs sont aises mettre en uvre. Par exemple, la modlisation dune erreur de bits avec une probabilit p sur un signal se fait simplement grce lapplication de lois normales Une autre perturbation intressante corerspond celle provoque par un cho (simple ou multiple). Une faon facile dimplmenter ceci est de garder en mmoire le signal mis, et de le rpter des instants dcals (lourd en mmoire et difficilement maniable). Une autre mthode consiste utiliser une convolution avec une fonction nulle sauf en plusieurs points prcis, ces points correspondants aux diffrents chos. Soient x la fonction en entre et h la fonction permettant de modliser lcho. La sortie est donc gale : y(t) = Pour se convaincre du bon fonctionnement de cette mthode dimplmentation, prenons h la fonction nulle partout sauf en 0 et en 3, avec pour valeur respective en ces points 1 et 0,5. Pour des raisons de lisibilit et de comprhension, nous prendrons une priode dchantillonnage gale 1 Pour tout t 2 (pour respecter la causalit), on obtient alors :
h().x(t )

y(t) = 1.x(t) + 0,5.x(t-2) Nous avons donc obtenu un signal original additionn avec un signal retard (damplitude ici 0,5 vis vis du signal mis). Nous venons donc de modliser un cho simple. Si lon dsire raliser un cho multiple, il suffit ainsi de rajouter des points non nuls la fonction h. Enfin abordons la notion de bruit Il existe plusieurs types de bruit : les bruits additifs (bruit blanc), multiplicatif (bruit gaussien) Le bruit blanc suit une loi de probabilit uniforme. On peut le paramtrer par sa variance. Quant au bruit gaussien, il suit une loi gaussienne, et est donc paramtrable grce une variance. Notons que nous prendrons toujours une gaussienne centre.

II Simulation dun canal de transmission.

1) La modulation et la dmodulation

page 6

Comme nous lavons vu prcdemment, une des contraintes de la transmission numrique est dmettre un signal dans une bande de frquence borne et qui est dans la plupart des cas diffrente des frquences du signal original.

Ci-contre la transforme de Fourier du signal original (non modul). On remarque des perturbations (en dehors des deux pics principaux) des des signaux en crneaux.

Ci-contre la transforme de Fourier du signal modul. Les pics sont translats dune valeur gale la modulation (ici, 200 Hz).

Il nous faut donc clairement faire une translation frquentielle du signal mettre dans la bande de frquence dsire : Y(w) = X(w-w0) (translation de pulsation w0) Or, le domaine frquentiel est complexe, et la translation se traduit donc par une multiplication avec une frquentielle :

page 7

Y(w) = X(w).exp[-jw0] Traduisons cette quation dans le domaine temporel. Rappelons pour cela lquation de transforme de Fourier inverse : x(t) =
1 + . X (w ) exp[ jwt ].dw 2

Aprs dveloppement de cette quation, on obtient donc : y(t) = x(t).exp[jwot] Or, notre signal mettre se situe dans le domaine rel et non complexe. On prend donc la partie relle de lquation prcdente : y(t) = x(t).cos(wot) Finalement, nous avons ralis une translation frquentielle du signal original, qui est alors prt tre transmis. Du point de vue de la rception, le signal transmis nest pas directement exploitable. En effet, la parole tant code une frquence non naturelle , il nous faut en effet effectuer une dmodulation pour retrouver le signal original. Nous devons donc appliquer une dmodulation, qui correspond l encore une translation en frquence. Cependant, un problme se pose : retrouver, la rception, de combien le signal original a t frquentiellement translat. Pour cela, nous utilisons une boucle vrouillage de phase (qui permet une synchronisation). La dmodulation effective du signal sexcute de la mme manire que prcdemment. Autrement dit, en supposant que nous devions translater le signal dune frquence gale w1, avec y1 le signal reu et y2 le signal trait, on obtient : y2(t) = y1(t).cos(w1t) Remarquons que si la frquence de modulation est gale w 0, il apparat donc logique que w1 soit gale w0 Or, le fait de manipuler des signaux rels, et donc de raliser une multiplication par un cosinus et non une exponentielle, engendre des effets autres quune simple translation en frquence. En effet, si lon tudie la transforme de Fourier du signal dmodul, on remarque non plus un seul pic, mais deux pics. Ceci provient que le cosinus peut sexprimer en fonction de deux exponentielle : cos(x)= e
j.x

+ ej.x 2

Il nous faut par consquent raliser un filtrage passe-bas pour conserver uniquement le signal de la parole, en cartant des erreurs des la reconstruction.

page 8

On retrouve, aprs dmodulation et filtrage passe-bas, les pics correspondant la frquence du signal original (ici environ 40 Hz).

Enfin, remarquons que lamplitude du signal parat plus faible que le signal original (avant modulation). Cest effectivement le cas, et le rapport des amplitudes est gal , terme introduit par lexpression du cosinus par les exponentielles et de la division par deux. Finalement, pour retrouver le signal original, il nous faut multiplier le signal reu par une sinusode dont la frquence (retrouve par une boucle verrouillage de phase) est gale loppos de la frquence de modulation, raliser un filtrage pour carter les parties indsirables du signal, puis enfin effectuer une multiplication par deux pour retrouver une amplitude correcte.

page 9

2) Diagramme de lil : utilit, mise en uvre, exploitation ;


Pour des raisons de dcodage des donnes, nous avons besoin davoir quelques renseignements sur la qualit effective du canal de transmission. Dans la suite, nous supposons les tapes de modulation ralises Le diagramme de lil correspond brivement une superposition de morceaux du signal reu. Ces morceaux correspondent un nombre dchantillons gal la priode dmission. Lintrt majeur de ce diagramme consiste en la dtection de la qualit de transmission, ainsi que la recherche de synchronisation afin de discrtiser aux bons instants, et par l-mme avoir laplus grande probabilit de rcupration des donnes. Typiquement, un diagramme de lil contient plusieurs caractristiques de mise en uvre : Amplitude du signal. 2 0 -2 0 T 2.T Nombre dchantillons.

En labsence de perturbation, aux instants 0, T et 2.T, nous retrouvons une superposition de toutes les donnes (-1 ou 1), et les intervalles de 0 T et de T 2.T sont uniquement des transitions dans le domaine continu du signal. Visuellement, on observe une forme dil linstant T

La priode du signal original est de 16 chantillons. Ci-contre, un diagramme de lil avec peu de perturbations. La synchronisation est non dcale (environ 16).

page 10

Si des perturbations viennent sajouter ce signal (bruit, retard), le signal ne sera pas aussi clair , dans le sens o les donnes seront plus disperses, dcales voire, dans le pire des cas, compltement irrcuprables. Pour avoir un moyen optimal de rcuprer les donnes transmises, il nous faut rcuperer linstant (approximativement sur le centre du diagramme si les perturbations ne sont pas trop excessives) o les signaux sont les plus groups (autour de 1 et -1). Cette dtection nous permet alors de synchroniser le signal transmis. Cette tape effectue, le diagramme de lil offre un deuxime avantage, qui est celui de dterminer, par la dispersion des donnes aux instants dchantillonnage obtenus prcdemment, une estimation de la qualit dmission. En effet, le fait que lil soit presque ferm (voire ferm) peut tre une forme de critre pour savoir si le dcodage des donnes est souhait ou inutilisable pour la correction derreurs (le code de Hamming nest par exemple valable quavec au plus une erreur de transmission)

3) Constellation : objectif, exploitation ;


Les constellations permettent de visualiser graphiquement la qualit de la transmission. Alors que le diagramme de lil nous a permis de synchroniser linstant dchantillonnage du signal reu, la constellation nous permet donc, avec les donnes captes sur le signal continu, de dfinir et de mesurer la justesse de celles-ci par leurs dispersions. Pour utiliser les constellations, on suppose que les donnes reues sont de type complexe. Dun point de vue pratique et sans rentrer dans des thories profondes, nous pouvons facilement modliser la transmission de ces donnes en oprant une modulation des parties relles et imaginaires des frquences distinctes. Une fois les donnes rcupres, il suffit de tracer les points obtenus. Si la transmission est correcte, des nuages de points doivent apparatre, avec des coordonnes identiques celles mises.

page 11

Pour lexemple ci-dessus, nous avons mis des nombres complexes dont les parties relles et imaginaires sont gales 1 ou 1. Afin damliorer la visibilit des rsultats, nous avons reli les points initiaux (avant transmission) aux points aprs transmission (aux mmes instants dchantillonnage). On distingue clairement les quatre nuages de points assez compacts, preuve dune bonne qualit de transmission. Si en revanche ces nuages sont moins nets, la probabilit derreurs la rception sera plus leve Remarquons enfin que si les instants dchantillonnages nont pas t dtermin avec justesse (lger dcalage), cela se traduira sur la constellation comme une rotation des points.

III codage convolutionnel et algorithmes de corrections derreurs.

1) Dtection et correction des erreurs de transmission


Nous avons vu dans la deuxime partie que toute transmission dinformation comporte une probabilit derreur. Dans cette partie, on traite linformation non plus comme un signal continu mais comme une suite de bits avant et aprs transmission. On se limitera des simulations de transmissions tel qu elles sont dcrit prcdemment. Afin de simuler les erreurs, nous utiliserons une fonction qui modifie certains bits avec une probabilit donne. page 12

La principale ide des algorithmes tudis dintroduire de la redondance au message. Ainsi les erreurs de transmission creront des incohrences entre les copies du message, ce qui facilitera leur dtection. De manire thorique, le deuxime thorme de Shannon donne la limite minimale de redondance introduire afin de garantir lintgrit du message. C : charge utile du canal de transmission p : probabilit derreur de transmission C = 1 + p.log2(p) + (1-p).log2(1-p) Ainsi si on suppose que lon veut transmettre N symboles par seconde travers un canal qui subit une perturbation p, il faudra au minimum un dbit rel de D=1/C symboles par secondes.

2) Algorithme de Viterbi Principes


Lalgorithme de Viterbi est un code convolutionnel, cest--dire que lon ne transmet pas directement le signal mais de nouvelles donnes calcules partir du signal. Dans notre exemple, un bit du signal original est remplac par deux bits calcul par les formules : s1(t) = e(t) XOR e(t-1) XOR e(t-2) s2(t) = e(t) XOR e(t-2) Les chantillons au temps t=-1 et t=-2 ont pour valeur thorique 0. Aprs la transmission du message, le rcepteur construit un arbre. Pour chaque bit, on calcule le nombre de diffrences entre le signal reu est le signal qui aurait t transmis si e(t) valait 0. Puis on effectue le mme calcul en supposant que e(t) vaut 1. Afin de ne pas explorer toutes les branches, on ne conserve que les rsultats qui donne le moins derreurs de transmission pour chaque couple s1(t)~s2(t). Pour finir, on prendra pour message reu le message qui, sil avait t cod avec les mmes formules, aurait t le plus proche du message reu.

Rsultats
Lalgorithme de Viterbi apporte de trs bons rsultats en ce qui concerne les transmissions avec une faible probabilit derreur. Jusqu' 3% derreur, Viterbi permet de corriger plus de 90% des erreurs de transmissions.

page 13

Efficacit 120,0% 100,0% 80,0% 60,0% 40,0% 20,0% 0,0% -20,0% -40,0% -60,0%
60,0% 50,0% 40,0% 30,0% 20,0% 10,0% 0,0% 3,0% 6,0% 9,0% 0,0% 15,0% 18,0% 24,0% 27,0% 30,0% 39,0% 51,0% 54,0% 12,0% 21,0% 33,0% 36,0% 42,0% 45,0% 48,0% Transmission simple Algo. Viterbi

Efficacit

A partir de 8% derreurs, lalgorithme ne permet plus de corriger quune erreur sur deux et avec plus de 13% derreurs, on augmente le nombre derreurs de transmissions. Cela est d un mauvais choix du message suppos. Avec un e telle probabilit derreur, le message original nest pas celui qui aurait le moins derreurs de transmission. On constate aussi quil est ncessaire davoir reu tout le message pour pouvoir le dcoder. Ainsi cet algorithme introduit un trs faible retard car pour dcoder le premier bit, il est ncessaire de connatre le dernier. Pour les mmes raisons, il est faut couper les longs messages en plus petits blocs pour diminuer le retard. Cependant une taille de blocs trop petite nuit lefficacit de lalgorithme. Dans la pratique, des blocs de 64 bits constituent une taille optimale, des plus

0, 0% 3, 0% 6, 0% 9, 0% 12 ,0 % 15 ,0 % 18 ,0 % 21 ,0 % 24 ,0 % 27 ,0 % 30 ,0 % 33 ,0 % 36 ,0 % 39 ,0 % 42 ,0 % 45 ,0 % 48 ,0 % 51 ,0 % 54 ,0 %

page 14

grands namliorent pas la correction mais augmente le retard alors que des blocs plus petits font perdre de lefficacit. On constate que mme dans le meilleur des cas lalgorithme de Viterbi est trs en retrait par rapport la limite nonc par Shannon. En doublant les donnes, il est thoriquement possible de corriger jusqu' 11% derreurs.

3) Code de Hamming Principes


Le code de Viterbi se base sur lintroduction de bits de parits dans le train de bits du message. Les fonctions de calculs de ces bits sont choisies pour permettre de corriger une seule erreur par paquet de bits. Si n est la longueur du paquet, alors il est ncessaire dajouter log 2(n) bits de parits ainsi quun bit non utilisable (, qui nest pas transmis). Chaque bit sert assurer quune certaine partie du message est de parit paire. Le premier bit est plac droite de la 1ere moiti du message et contient la parit de cette partie ; le second bit concerne la parit du premier et troisime quart du message, et ainsi de suite Exemples : Pour 2 bits de parits et 1 bit de donnes : (cas particulier qui correspond envoyer 3 fois de bits) b0 1 Pour 3 bits de parits et 4 bits de donnes : b2 b1 b0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 11 bits de donnes b4 b3 b2 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 : b1 0 1 0 1

Pour 4 bits de parit et b10 b9 b8 b7 B6 b5 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0

0 0

b0 0 0 0 1

Dtection et correction de lerreur

page 15

Pour corriger le message, on suppose quil y a eu une erreur de transmission. On calcule les bits de parit comme prcdemment mais cette fois en y ajoutant la valeur transmise pour le mme bit de parit. Puis en concatnant les bits calculs on obtient la position du bit erron. On peut ventuellement corriger une bit parit et si toutes les parits sont justes (pas derreur de transmission), la correction revient changer le bit .

Rsultats
Si on se limite aux cas o il ny a quune erreur par paquet, le code de Hamming permet de corriger toutes les erreurs. Cependant la redondance introduite est trs suprieure la limite de Shannon. Dans la pratique, ce cas nest pas raliste. Si N est la taille totale du paquet transmis, et p la probabilit derreur de transmission dun bit, alors Q la probabilit derreur dun paquet vaut : Q = 1 - probabilit daucune erreur probabilit dexactement une erreur Q = 1 (1-p)N (N.p).(1-p)N-1
1,20

1,00

0,80 Normal Hamming

0,60

0,40

0,20

0,00
0, 00 0, 06 0, 12 0, 18 0, 24 0, 30 0, 36 0, 42 0, 48 0, 54 0, 60 0, 66 0, 72 0, 78 0, 84 0, 90 0, 96

Conclusion
Nous avons ainsi simul une communication numrique en passant par toutes les tapes : mise en forme du signal numrique (codages convolutionnel ou cyclique), modulation du signal, dformations du canal de transmission (bruit, ) dans le domaine analogique, rception du signal, dmodulation, post-traitement page 16

(diagramme de lil, constellation) et enfin correction des erreurs. Nous avons pu par l-mme constater, par les probabilits derreur et la correction engendre, que certaines mthodes sont plus adaptes certaines conditions, et dont lemploi est discutable de par les cots impliqus (taille de la redondance), mais ceci est une autre histoire

page 17

You might also like