Licence Informatique Informatique 2006-2007
UPMC
Introduction aux aux Réseaux
TD 2
Licence Informatique Informatique 2006-2007
TECHNIQUES DE TRANSMISSION ET DE PROTECTION CONTRE LES ERREURS
!
MESSAGE / SIGNAL / MODES DE TRANSMISSION
1.1. Rappels
Le message est constitué par les éléments d’information ou encore les données que l’usager souhaite transmettre. On distingue deux types de messages : !
!
Un message analogique peut être transformé en message numérique par une opération d'échantillonnage (discrétisation de l'axe des temps), suivi d'une opération de quantification (discrétisation des valeurs prises par les données analogiques échantillonnées).
!
1.2. Exercices
1.2.1. Quelle Quelle différence y a-t-il entre un amplificateur et un répéteur ? Amplificateurs et répéteurs sont utilisés afin de pallier l’atténuation inhérente à toute transmission. Un amplificateur est utilisé lors d’une transmission analogique, afin de « booster » le signal atténué et de lui redonner une puissance nécessaire. Le problème de l’amplification est que celle-ci « booste » également le bruit inclus dans le signal et ne change rien à la distorsion.
Signal analogique : signal représentant un message analogique ;
Un répéteur est utilisé lors d’une transmission numérique. Un répéteur décode le signal reçu, reconstitue le signal numérique supposé correspondre et l’amplifie. En sortie du répéteur, le bruit présent dans le signal d’entrée ainsi que la distorsion sont ainsi éliminés ce qui permet d’augmenter considérablement la fiabilité de la transmission par rapport à une transmission analogique et de réaliser des transmissions à plus grande distance. La possibilité d’utilisation de répéteurs confère un énorme avantage aux transmissions numériques.
Signal numérique : signal résultant de la mise en forme d'un message numérique. Un signal numérique se présente sous la forme d'une succession de formes d'ondes (éléments de signal) pouvant prendre une parmi un ensemble fini de possibilités utilisées pour coder l'information. Il peut s’agir :
- d’un signal multi-niveaux de forme « carrée » variant de façon discontinue dans le temps sous forme d’une séquence d’impulsions, appelé signal numérique en bande de base (BdB) en raison de son occupation spectrale centrée autour de la fréquence nulle ; - du signal résultant de la modulation (numérique) d’une onde porteuse par un signal numérique en bande de base. La transmission est l’opération qui consiste à transporter le signal d’une machine vers une autre, sur un support donné. On parlera de transmission analogique ou numérique suivant la nature (analogique ou numérique) du signal transmis. En transmission numérique l’utilisation d’un ensemble prédéfini de formes d’ondes va permettre, à la réception, de mieux interpréter (voire de corriger) le signal reçu. Le numérique permet par ailleurs l’intégration de service au niveau de la transmission (mutliplexage de différents types de données), l’utilisation de circuits électroniques numériques, l’intégration avec le monde numérique, etc.
1
Transmission sur fréquence porteuse : lorsque le canal est d e type passe-bande (c’est-à-dire de bande passante [f 1, f 2], f 1 > 0), comme dans le cas de la transmission hertzienne, il est indispensable de transposer le spectre du signal autour d'une fréquence porteuse située au centre de la bande de fr équence prévue pour transmettre le signal. Cette opération est appelée modulation. Elle est réalisée en modifiant une des caractéristiques (amplitude, phase, fréquence instantanée) d'une porteuse sinusoïdale en se servant du signal porteur de l'information à transmettre, appelé signal modulant. Le signal obtenu en sortie du modulateur est appelé signal modulé.
Lorsque le signal modulant est analogique, on parle de modulation analogique. Si le signal modulant est un signal numérique (en bande de base), la modulation est dite numérique.
Le signal est la représentation physique du message à transmettre. Il se présente généralement sous la forme d'une onde électrique (tension, courant) ou électromagnétique (champs électrique et magnétique). A nouveau, on fait la distinction entre : !
Transmission en bande de base : elle correspond à la transmission d’un signal en bande de base sur un canal de type passe-bas (c’est-à-dire de bande passante [0, f 2]). C'est le cas lorsque l’on transmet directement des signaux analogiques tels que de la voix, de la musique, de la vidéo, etc. C'est également le cas lorsque l’on transmet des signaux numériques en bande de base résultant du codage en ligne d’un message numérique numérique ;
Par ailleurs, la modulation permet également le partage d’un même support par plusieurs signaux, dans des bandes de fréquence disjointes. C’est le multiplexage fréquentiel FDM (Frequency Division Multiplexing).
Message analogique : les données (analogiques) se présentent sous la forme d’une fonction f (t ) continue et à temps continu (ex : voix, vidéo, etc.) ; Message numérique : les données (numériques) se présentent sous la forme d’une suite { ik } d’éléments d’information pouvant prendre une parmi un ensemble fini de valeurs discrètes appelé alphabet (ex : caractères d’un texte, entiers, etc.).
Introduction aux Réseaux
La transmission, qu’elle soit analogique ou numérique, peut par ailleurs s’effectuer en bande de base ou sur fréquence porteuse : !
1.
UPMC
2.
NUMERISATION
2.1. Rappels
La numérisation est l’opération qui consiste à transformer un message analogique en un message numérique qui pourra ensuite être traité numériquement. Echantillonnage, quantification et codage sont les trois étapes de la numérisation.
2
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
L’échantillonnage consiste à transformer un signal à temps continu en un signal à temps discret par
un prélèvement périodique (de période T e), à la fréquence d’échantillonnage f e =
1 T e
, de la valeur
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
2.2. Exercices
2.2.1. On considère le signal périodique g(t ) =
du signal analogique.
1 2
(cos(2" f 0t ) 1) +
g (t )
Le théorème d’échantillonnage de Shannon exprime le nombre minimum d’échantillons par seconde nécessaire pour reconstituer un signal à partir de ses échantillons. Théorème d’échantillonnage de Shannon
1
Un signal dont le spectre fréquentiel ne comporte pas de composantes à des fréquences supérieures ou égales à une valeur f max est entièrement déterminé par une suite de ses valeurs à des instants régulièrement espacés de la durée T e
1 =
2 f max
0.75 0.5
.
0.25
L’échantillonnage d’un signal de fréquence de spectre maximum f max est donc sans perte si f e ! 2 f max. On peut « comprendre » (ou tout du moins avoir une intuition) de ce résultat, en considérant un signal sinusoïdal simple de fréquence f 0 : sin (2! f 0t ). Le nombre minimum d’échantillons nécessaires pour reconstituer ce signal est alors, selon Shannon, égal à 2 f max par seconde, soit 2 échantillons par période du signal. C’est bien le minimum nécessaire, et encore faut-il prélever ces échantillons à T/4 (valeur maximum du sinus) et à 3T /4 (valeur minimum du sinus). En ne faisant qu’un seul échantillon par période, on reconstitue un signal constant ! 1
T /6
T /2
t T
a. On échantillonne ce signal à une fréquence 6 fois supérieure à celle de g (t ). Combien d’échantillons par période de g effectue-t-on ? On effectue 6 échantillons toutes les T unités de temps : f e
=
6 f 0
!
T e
T =
6
On peut également reprendre la fonction s(t ) = sin(2 " f 0t ) + sin(2 "(3 f 0 )t ) tracée à l’exercice
b. Donner le codage obtenu si le nombre de niveaux de quantification est égal à 4.
2.2 du TD1 et se convaincre que pour reconstituer la courbe, il faut au moins effectuer 6 échantillons par période (correspondant à 2"3 f 0 échantillons par seconde) :
Il y a 4 niveaux de quantification, correspondant à 1, 2/3, 1/3 et 0. On remarque, sur le dessin, l’erreur de quantification commise sur certains échantillons. Le signal reconstitué à partir d es échantillons pourrait très bien correspondre à un signal « triangulaire ».
3
g (t )
1 0.666 0.333 t T e
codage : La quantification représente un échantillon par une valeur numérique appartenant à une échelle de quantification. L’erreur de quantification est d’autant plus importante que le nombre de niveaux de quantification est faible et que le pas de qu antification est grand. Le codage consiste à remplacer la suite des valeurs quantifiées des échantillons par une suite n binaire. S’il y a q = 2 niveaux de quantification, chaque échantillon est codé sur n bits.
T
11 10 01 00 01 10 11
Le codage MIC ( Modulation par Impulsion et Codage) possède 256 (= 28) niveaux de quantification. Un échantillon y est donc codé sur 8 bits. 2.2.2. On considère une ligne téléphonique dont la bande passante à 3 dB est [300 Hz ; 3400 Hz]. a. Quelle fréquence d'échantillonnage minimale doit-on choisir si l'on veut numériser le signal analogique en sortie de la ligne téléphonique ? D’après le théorème d’échantillonnage de Shannon :
3
4
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
Licence Informatique 2006-2007
f e ! 2 " 3400 = 6800 Hz
Rs
b. On choisit d’échantillonner le signal à une fréquence de 8000 Hz. Quel temps sépare deux échantillons consécutifs du signal ? Le temps qui sépare deux échantillons est égal à l'inverse de la fréquence d'échantillonnage : T e
1 =
f e
1 =
8000
= 125 µs
c. Quel doit être le débit binaire minimal d'une liaison numérique retransmettant ce signal numérisé ?
!
Db =
r
Db =
log 2 M
UPMC
Introduction aux Réseaux
(symb/s ou bauds)
L’opération de codage M -aire à signal consiste à associer à chaque symbole une forme d’onde unique ou élément de signal , noté s j. Une suite { s j} d’éléments de signal de rythme R s est alors produite par le codeur en ligne. Les formes d’onde utilisée sont de forme « carrée » de sorte que le spectre du signal ainsi produit est centré autour de la fréquence nulle. Il s’agit donc d’un signal numérique en bande de base. Ce signal pourra être transmis directement (en bande de base) si le canal est de type passe-bas. Dans le cas contraire, le signal devra encore faire l’objet d’une modulation ce qui permettra de transposer son spectre dans la bande utilisable sur le support.
Db = 8 000 " 8 = 64 000 bit/s = 64 kbit/s. C’est le débit d’un lien “MIC” et d’un canal B du RNIS. 2.2.3. Pour numériser un signal analogique Hi-fi, 1024 niveaux de quantification ont été définis. Si la bande passante du support est B = 20 kHz, quel est le débit binaire Db nécessaire à la transmission des données du signal numérisé ?
{dk }
Codeur en ligne
0101100
Db = 2 B n où n représente le nombre de bits nécessaires pour coder un échantillon. Puisque l'échelle de quantification est à 1024 niveaux, il faut 10 bits par échantillon : Db = 2 " 20.103 " 10 = 400 kbit/s
CODAGE EN LIGNE
0101100
Le codage en ligne consiste à associer une représentation physique au message numérique, avant d’effectuer une transmission numérique en bande de base (BdB) sur un support de longueur limitée. Cette opération est parfois improprement appelée modulation en bande de base. Le codage en ligne se décompose en deux opérations. La première transforme la suite d’ éléments binaires {d k } correspondant au message numérique à émettre en une suite de symboles. C’est l’opération de codage binaire à M -aire. La seconde opération consiste à associer une forme d’onde à chaque symbole ainsi produit. C’est l’opération de codage M -aire à signal. Lors de l’opération de codage binaire à M -aire, les éléments binaires (bits) délivrés toutes 1
T b
3.2.1. Quel est le débit binaire Db d'une voie de transmission émettant un bit toutes les 10 ms ?
bit/s) sont regroupés en symboles. La valence M du
codage correspond à la taille de l’alphabet des symboles (nombre de symboles différents) r d’où l’appellation « M -aire ». Si M = 2 , chaque symbole code r = log2 M bits. Les symboles successifs sont alors transmis régulièrement à raison d’un symbole toutes les T s secondes. Le nombre de symboles transmis par unité de temps
Rs
1 0,010
= 100 bit/s
3.2.2. Combien de temps nécessite la transmission par télécopie d’une image de dimension
ET TRANSMISSION EN BANDE DE BASE
les T b secondes (à un débit Db =
{d’k }
3.2. Exercices
Db =
3.1. Rappels
!
Récepteur
Circuit de données
Le débit binaire Db est tel que :
3.
{s j} voie de transmission
1 =
T s
symb/s (ou bauds),
encore appelé rapidité de modulation, se relie au débit binaire par la relation suivante :
21"30 cm au travers d’un canal B du RNIS de débit 64 kbit/s ? Considérer que le télécopieur a une définition de 300 points/cm en ligne et de 8 lignes/cm et que 4 bits sont nécessaires pour coder chaque point. 300 points/cm " 30 cm/ligne = 9000 points/ligne ; 8 lignes " 21cm = 168 lignes. 9000 " 168 " 4 = 6,048 Mbit à transmettre. Soit T t le temps de transmission : T t = 6 048 kbit / 64 kbit/s = 94 secondes. 3.2.3. Quels sont les critères de choix d’un code en ligne ? Le choix d’un code en ligne dépend des caractéristiques spectrales du signal produit par le codeur en ligne (occupation spectrale, présence d'une composante continue, facilité de récupération de rythme à la réception, etc.) et de sa résistance au bruit. Occupation spectrale : le support spectral du signal produit par le codeur en ligne doit être inclus dans la bande passante du support. Présence ou non d’une composante continue : les transmissions numériques font appel à des répéteurs. Dans certains cas, ces répéteurs sont directement alimentés par le câble qui sert à la transmission des données. Un signal électrique de puissance à faible fréquence, dit de téléalimentation, occupe alors le support autour de la fréquence nulle (composante continue) interdisant la transmission de données à cette fréquence. Facilité de récupération de rythme à la réception : le récepteur doit impérativement retrouver avec précision le rythme d’émission des symboles. Un dispositif de récupération de d’horloge (d’émission) permet à la réception de synchroniser le récepteur sur le signal reçu.
5
6
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
Dans le cas où le signal d’horloge n’est pas transmis spécifiquement en plus du signal utile, il faut pouvoir reconstituer le signal d’horloge. Dans ce cas, les transitions entre les différents niveaux du signal si elles sont « suffisamment présentes » aident fortement à retrouver avec précision l’intervalle significatif " s. Pour certains codes, le spectre du signal transmis possède des raies à des fréquences multiples de R s. Ces raies facilitent fortement la récupération de rythme. Résistance au bruit : la sensibilité au bruit est directement liée à la valence du code. Plus le nombre de niveaux de signal (valence) est important, plus le bruit a de chances de transformer, à un instant donné, un niveau de signal en un autre, provoquant ainsi une erreur d’interprétation sur le symbole transmis.
3.2.4. Soit la suite de bits : « 1101000011 » à coder en bande de base. Représentez les signaux transmis suivant les différents codes en ligne présentés ci-dessous. Discutez leur qualité en termes de largeur de bande utilisée, d’adaptation au support, de résistance au bruit, et d’estimation du signal d’horloge.
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
donc de fréquence très petite, nulle en théorie. Le signal possède une puissance importante à la fréquence nulle, incompatible avec la téléalimentation. Le signal nécessite un repérage des fils de ligne pour éviter de les croiser (et donc d'avoir un e réception complémentaire à l'émission). Ce codage posera des problèmes de synchronisation puisqu’il sera sans transition pour de longues séquences de bits identiques. De valence 2, il présente une bonne résistance au bruit. b. Code Manchester (ou biphase) d k = 0, le signal est un front montant au milieu de l’intervalle " s d k = 1, le signal est un front descendant au milieu de l’intervalle " s Attention : dans la norme, il est possible que ce soit l’inverse ! ! +V
a. Code NRZ (Non Return to Zero) binaire d k = 0, le signal vaut –V d k = 1, le signal vaut +V
-V
1
1
0
Sur les schémas de cette section, il faut lire T s à la place de ! et f 0 à la place de f .
!
1
0
0
0
0
1
1
Codage Manchester
Le spectre de p uissance associé au codage Manchester est représenté ci-dessous :
+V
-V
1
1
0
1
0
0
0
0
1
1
Codage NRZ
Le codage NRZ est une variante du codage direct (d k = 0, le signal vaut « 0 » ; d k = 1, le signal vaut « 1 »). Le signal a une moyenne nulle (1/2 dans le cas du codage direct). Le spectre de puissance du codage est obtenu en « moyennant » la transformée de Fourier de toutes les données d’entrée possible du codeur. Le spectre de puissance correspondant au 1
codage NRZ est donné ci-dessous, avec f 0 =
2T s
:
2 f
3 f
4 f
5 f
6 f
7 f
8 f
Ce spectre ne contient pas de fréquence nulle. Il est décalé vers les hautes fréquences par rapport au signal NRZ. (Intuitivement, quelle que soit la suite de données, le signal obtenu n’est jamais constant.) Il s'étale sur une bande double du codage précédent [0, 2/" s]. (Intuitivement, la période la plus petite correspond à la transmission de bits identiques. Le signal correspondant est de période " s. Un signal codé en Manchester « bouge deux fois plus rapidement » qu’un signal codé en NRZ.) Le codage Manchester est donc bien adapté à la transmission sur un support à large bande passante. Il nécessite un repérage des fils de ligne pour éviter de les croiser (et donc d'avoir une réception complémentaire à l'émission).
2 f
3 f
4 f
Le signal d'horloge sera facilement récupérable puisqu'on trouve des transitions en nombre plus que suffisant (au moins une transition par intervalle " s).
Le spectre de puissance est donc concentré autour de la fréquence nulle. Intuitivement, une longue suite de « 0 » ou de « 1 » génère un signal de période très grande, infinie en théorie,
7
8
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
c. Code Manchester différentiel (ou biphase différentiel) d k = 0, le signal force une transition (front montant ou descendant) au début de l’intervalle " s et une autre au milieu de l’intervalle " s d k = 1, le signal force une transition (front montant ou descendant) au milieu de l’intervalle " s Convention : un bit d 0 d’initialisation est nécessaire, on prendra par exemple d 0 = 1.
+V
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
En résumé : Codage
Largeur spectrale
Présence d’une composante continue
Récupération de rythme
NRZ
Etroite
Résistance au bruit
Forte
Difficile
Bonne
Manchester Assez large
Très faible
Très facile
Bonne
Bipolaire
Assez faible
Facile
Moyen
Etroite
3.2.5. On considère un codage NRZ quadrivalent (de valence M = 4) transmettant un élément de signal toutes les 1 ms.
-V
1
1
0
1
0
0
0
0
1
1
a. Représenter le codage correspondant à la séquence binaire « 10000100101100 ». Le codage utilise 4 niveaux, chacun codant donc 2 bits. Par exemple :
Codage Manchester différentiel
« 11 » est codé par –3 ;
On peut montrer que le spectre d'un signal codé en Manchester différentiel est identique au précédent. Il présente don c les mêmes caractéristiques mais ne nécessite aucun repérage des fils. En effet, un « 0 » implique deux transitions du signal pour l’intervalle T s considéré, alors qu’un « 1 » n’en implique qu’une seule, et ce quelle que soit la polarité des fils. d. Code bipolaire simple d k = 0, le signal vaut 0 d k = 1, le signal vaut ± V alternativement Convention : initialisation du premier bit 1, on prendra par exemple une amplitude +V .
« 10 » est codé par –1 ; « 00 » est codé par +1 ; « 01 » est codé par +3. Avec cette règle de codage, une confusion à la réception portant sur des niveaux adjacents ne conduit qu’à une seule erreur sur le doublet de bits. C’est le codage de Gray. Attention, le dessin ne correspond pas à la règle de codage (à changer) ! T b
+V
0
0
1
1
1
0
1
1
0
0
0
1
1
1
+3
-V
1
1
0
1
0
0
0
0
1
1
+1
Codage bipolaire simple
t
–1
Le spectre d'un signal codé en bipolaire simple s'annule à la fréquence nulle et pour toutes les fréquences multiples de 1/" s :
–3
T s
b. Quelle est la rapidité de modulation ? R s =
1 T s
= 1000 symb/s, soit 1000 symboles par seconde, ce qui correspond bien à un
symbole toutes les 1 ms. 2 f
3 f
4 f
Il est limité et donc il permet de grandes vitesses de transmission. Par contre, il est plus sensible au bruit que les codages à 2 niveaux. Les problèmes d'horloge posés par les longues suites de « 0 » ne sont pas résolus avec ce codage.
9
c. Quelle doit être la bande passante du support pour accepter une telle rapidité de modulation ? D’après la loi de Nyquist : R s " 2 B. Pour que le support accepte une rapidité de modulation de R s = 1000 symb/s, il faut donc que la bande passante du support soit au moins égale à 500 Hz. d. Quel est le débit binaire engendré ?
10
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
Chaque élément de signal transmis correspond à 2 bits. On en déduit le débit binaire :
Licence Informatique 2006-2007
4.
UPMC
Introduction aux Réseaux
MODULATION ET TRANSMISSION SUR FREQUENCE PORTEUSE
Db = 2 R s = 2000 bit/s 4.1. Rappels 3.3. Code BHDn (Bipolaire à Haute Densité d’ordre n)
Un code BHD d’ordre n est une variante du code bipolaire qui évite toute suite de symboles « 0 » de longueur supérieure à n. Une « longue » suite de « 0 » est remplacée par une séquence de remplissage que le décodeur repère et remplace par la suite de « 0 » initiale. La signification de la suite de remplissage ne peut être trouvée qu’a posteriori. Par définition, il y a donc au plus n intervalles de temps sans impulsion. Construction de la séquence de remplissage : !
!
!
!
La séquence de remplissage a pour longueur n+1, elle est fondée sur le viol d'alternance des +V et –V utilisée pour transmettre les « 1 » ;
Lorsque le canal est de type passe-bande comme dans le cas de la transmission hertzienne, il est indispensable de transposer le spectre du signal autour d'une fréquence porteuse située au centre de la bande passante du canal. On réalise ainsi une transmission sur fréquence porteuse. La technique de modulation permet de décaler le spectre du signal, naturellement situé autour de la fréquence nulle (signal en bande de base), autour d'une fréquence porteuse f 0. Elle est réalisée en modifiant (modulant) une des caractéristiques (amplitude, phase, fréquence instantanée) d'une porteuse sinusoïdale de fréquence f 0 en se servant du signal porteur de l'information à transmettre, appelé signal modulant. Lorsque le signal modulant est analogique, on parle de modulation analogique.
La valeur du (n+1) élément (bit de viol) est soit +V, ou –V, de telle sorte que la parité du viol actuel soit différente du viol de la séquence de remplissage précédente ;
Les systèmes de transmission modernes font appel aux techniques numériques qui permettent entre autres d'offrir une meilleure qualité de transmission. Le signal modulant pro vient alors de la mise en forme d'un message numérique à l'aide d'un code en ligne. Le code en ligne utilisé lorsque le signal est destiné à être transmis sur fréquence porteuse est pratiquement toujours le code NRZ M -aire. La modulation est alors dite numérique.
Les n premiers éléments sont à « 0 ». Cependant, si la parité du bit de viol est différente de la parité du 1 précédant la suite de « 0 », le premier élément est considéré comme « bit de bourrage » et aura la même parité que le bit de viol.
Les modulations consistent à modifier l'amplitude, la phase ou la fréquence d'une porteuse sinusoïdale de fréquence f 0 en fonction de la valeur du symbole à transmettre sur chaque intervalle de durée T s. Il existe donc trois grands types de modulation :
D’une séquence d e remplissage à l’autre, on utilise alternativement des « bits de viols » positifs et négatifs (pour avoir un signal à valeur moyenne nulle) ; ème
Convention : initialisation de la parité du viol de la première séquence de remplissage, on prendra par exemple une parité positive.
!
!
3.3.1. Donnez le codage BHD1 de la séquence binaire « 1101000 011 ».
!
Séquence de remplissage
viol +
Bit de bourrage
viol -
0
0
0
+V
1
0
1
0
1
1
Codage BHD1
3.3.2. Le code bipolaire haute densité le plus employé est le code BHD3. Donnez le codage BHD3 de la séquence binaire « 10000100001100000 ». Séquence de remplissage
viol +
la modulation par déplacement de phase (MDP), Phase Shift Keying (PSK) en anglais::associe à chaque symbole à coder une phase différente ; la modulation par déplacement de fréquence (MDF), Frequency Shift Keying (FSK) en anglais : associe à chaque symbole à coder une fréquence différente.
La modulation par déplacement d’amplitude et de phase (MDAP), Amplitude and Phase Shift Keying (APSK) en anglais, est une modulation hybride d’amplitude et de phase. La modulation d’amplitude en quadrature (MAQ), Quadrature Amplitude Modulation (QAM) en anglais, en est un cas particulier très fréquemment utilisé (dans les modems par exemple).
-V
1
la modulation par déplacement d'amplitude (MDA), Amplitude Shift Keying (ASK) en anglais : associe à chaque symbole à coder une amplitude différente ;
Le chiffre associé au sigle d'une modulation correspond au nombre total d'états possibles du signal modulé. Ainsi, une MDP-4 correspond à une modulation de phase où le signal modulé pourra être dans un des quatre états de ph ase possibles de la modulation. Chaque état est associé à un symbole. Le nombre d'états est donc égal à la valence M . L'augmentation du nombre d'états de modulation permet de diminuer la largeur spectrale du signal résultant, mais au prix d'une plus grande sensibilité au bruit. 4.2. Exercices
Bit de bourrage
viol -
4.2.1. On considère le message numérique binaire « 0010011100… ». Dessinez le signal transmis par un modem correspondant à cette séquence :
viol +
+V
a. en MDA-4 avec une rapidité de modulation de 1000 symb/s ;
-V
1
0
0
0
0
1
0
0
0
0
Codage BHD3
11
1
1
0
0
0
0
0
La modulation étant quadrivalente, le message binaire est tout d’abord codé en ligne à l’aide du code NRZ quadrivalent. On choisit la règle de codage binaire à M -aire suivante : « 11 » est codé par –3 ;
12
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
Sur chacune des voies, le message binaire est codé en NRZ à $4-aire et module l’amplitude d’une sinusoïde, ce qui permet d’obtenir $4"$4 états de modulation. Sur la voie en phase, le signal NRZ multiplie la sinusoïde Acos(2# f 0t ). Sur la voie en quadrature, le signal NRZ multiplie la sinusoïde Asin(2# f 0t ).
« 10 » est codé par –1 ; « 00 » est codé par +1 ; « 01 » est codé par +3. La suite de symboles correspondant à notre message binaire s’écrit : +1 –1 +3 –3 +1. On produit ensuite le signal multi-niveaux NRZ quadrivalent. Chaque pallier dureT s = 2T b. Le signal bande de base ainsi produit multiplie une sinusoïde Asin(2# f 0t ). Le signal résultant est le signal modulé numériquement en amplitude. Pour les besoins de la représentation, on peut choisir une fréquence f 0 de 1000 Hz. La sinusoïde décrit alors une période T en un temps symbole T s. Le signal modulé correspond alors à la succession des éléments de signal : +A.sin(2# f 0t ), - A.sin(2# f 0t ), +3 A.sin(2# f 0t ), -3 A.sin(2# f 0t ), + A.sin(2# f 0t ). Le chronogramme est le suivant :
Le signal modulé correspond alors à la succession des éléments de signal ± Acos(2# f 0t ) sur la voie en phase et ± Asin(2# f 0t ) sur la voie en quadrature. Chaque doublet de bits du message numérique à transmettre est donc par codé par un élément de signal de durée T s : ± Acos(2# f 0t )± Asin(2# f 0t ) = A"2 sin(2# f 0t+¢) avec ¢ = +#/4, +3#/4, -#/4 ou -3#/4. La modulation MAQ-4 est donc équivalente à une MDP-4 avec les états de phase {+ #/4, +3#/4, - #/4 ou -3#/4}. En règle générale, une MAQ revient à une modulation à la fois de la phase et de l’amplitude d’une sinusoïde. La MAQ-4 peut donc également être obtenue en codant tout d’abord le message binaire en ligne à l’aide du code NRZ quadrivalent. On peut à nouveau choisir la règle de codage binaire à M -aire suivante :
+3A
« 11 » est codé par –3 ;
+A
« 10 » est codé par –1 ; t
« 00 » est codé par +1 ;
-A 5T s = 0.005 s -3A
00
10
01
11
« 01 » est codé par +3.
00
Il est à noter que ce choix de valeur de f 0 n’est pas réaliste. En pratique, f 0 est très grand devant Rs, puisque Rs est de l’ordre de grandeur de la bande occupée par le signal modulé alors que f 0, la fréquence porteuse, représente la valeur de la fréquence centrale de la bande passante du canal (supposé passe-bande). Par ailleurs, T s n’est généralement pas un multiple de T de sorte que le signal modulé est constitué de portions de sinusoïde. b. en MDF-2 avec une rapidité de modulation de 1000 symb/s ; La modulation étant bivalente, la séquence est codée en ligne par le code NRZ binaire. Le signal résultant sert à piloter la valeur f 1 ou f 2 de la fréquence de la sinusoïde émise. En choisissant qu’un « 1 » binaire est codé par un symbole +1 correspondant ensuite à une fréquence f 1 = 1000 Hz, et qu’un « 0 » binaire est codé par un symbole –1 correspondant à une fréquence f 2 = 2000 Hz, le chronogramme est alors le suivant :
Le signal produit est égal au facteur #/4 aux états de phase de la sinusoïde produisant le signal modulé MDP-4 (MAQ-4). Pour les besoins de la représentation, on peut choisir une fréquence f 0 de 1000 Hz. Chaque sinusoïde décrit alors une période T en un temps symbole T s. Le chronogramme est le suivant (à rajouter) : 4.2.2. On considère le schéma de transmission suivant entre deux machines A et B. On suppose que l’ordinateur envoie les données au modem qui lui est relié sous forme d’un signal codé en NRZ, que le modem est de valence égale à 64 et travaille à 4800 bauds. Quel est le débit maximum de transmission entre les machines A et B ? Machine A NRZ
10T s = 0.010 s
0 0
1
0
0
1
1
1 0
Tx BdB
Modem Tx sur fréquence porteuse
Tx BdB
Machine B NRZ
t
0
c. en MAQ-4 avec une rapidité de modulation de 1000 symb/s. En MAQ-4, chaque état de la modulation (symbole) code deux bits et dure T s = 2T b. Les éléments binaires sont séparés en une voie en phase et une voie en quadrature.
13
Modem
Si Db est le débit d’émission de la machine A, c’est aussi le nombre d’éléments de signal binaire transmis par seconde sur le câble reliant l’ordinateur au modem. Le modem est capable d’utiliser 64 « niveaux » de signal différents (MAQ-64). Il va donc regrouper 6 = log2 64 bits du signal émis (correspondant aux données) en un élément de signal. Puisqu’il travaille à 4800 bauds, il est capable d’émettre 4800 éléments de signal par seconde, et donc de transmettre 4800"6 bits par seconde. Le débit maximal de transmission entre les machines A et B est donc de 2 8,8 kbit/s.
14
Licence Informatique 2006-2007
5.
UPMC
Introduction aux Réseaux
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
Attention, pour que ce calcul soit valable, il faut supposer que la rapidité de modulation du lien numérique (Machine/Modem) soit suffisante pour ne pas limiter le débit global, ce qui est généralement le cas.
c. Le récepteur reçoit les mots de code suivants : « 0010000000 », « 0110000000 ». Peut-il corriger ces mots non autorisés ? En cas de réponse négative, quelle(s) hypothèse(s) supplémentaire(s) faut-il faire pour que le récepteur puisse effectuer la correction ? Effectuer alors les corrections possibles.
CONTROLE D’ERREURS
Le récepteur ne peut effectuer la correction car il ne sait pas combien d’inversions (erreurs) au maximum peuvent affecter un mot. Ainsi, « 0110000000 » peut provenir de « 0000000000 » (2 inversions), de « 1111100000 » (3 inversions), etc. Il faut borner le nombre maximum supposé d’inversions pour pouvoir décider. On voit ici que s’il est possible d’avoir 3 inversions simultanées, alors on ne sait pas décider. Si l’on suppose que seules 2 inversions simultanées sont possibles, alors le récepteur peut corriger les deux mots reçus. Ainsi, « 0010000000 » et « 0110000000 » seront tous deux corrigés en « 0000000000 ».
5.1. Généralités
Lors de la transmission des données, un signal peut subir diverses déformations et être altéré par du bruit. A la réception, lors du décodage, une erreur d'estimation peut alors se produire : l'état du signal représentant le bit « 1 » est interprété comme s’il s’agissait d’un bit « 0 » et vice versa. En fonction du débit de transmission des données (et de la manière de coder les données), un bruit impulsif peut alors affecter plusieurs bits. En fait, plus le débit est élevé, plus le risque que le bruit affecte plusieurs bits est grand. Le taux d'erreur binaire (TEB) d’une transmission est défini comme le nombre moyen de bits transmis en erreur divisé par le nombre total de bits transmis. Il est de l'ordre de 10 –5 sur une ligne –7 –8 –10 –12 téléphonique, de 10 à 10 sur un câble coaxial et de 10 à 10 sur une fibre optique. Il ne s'agit pas toujours d'assurer la correction globale d'un échange, mais de détecter et éventuellement de corriger les erreurs de transmissions dans un bloc de bits acheminé par le support physique.
Pour m bits de données, on ajoutera r bits de redondance pour permettre la détection et éventuellement la correction d’erreurs. On transmettra au total n bits (n = m+r ). Une unité de n bits contenant généralement des données et un en-tête s’appelle un mot de code. Les r bits de contrôle se calculent directement (et de façon unique) à partir des m bits de données. Parmi tous les mots de code possibles, un mot sera dit légal , si les bits de contrôle corr espondent aux bits de données. Dans le cas contraire, il sera dit illégal (ou non autorisé ). La réception d’un mot de code illégal permet de détecter la présence d’une erreur dans le mot.
5.1.1. Dans une liaison téléphonique à 40 kbit/s, quel est le nombre moyen de bits en erreur par minute ?
5.1.3. Si l’on utilise un codage binaire, combien y a-t-il de mots de code possibles ? légaux ? illégaux ?
–5
Le taux d’erreur binaire est de 10 sur une ligne téléphonique et correspond au nombre de bits transmis en erreur, x, sur le nombre total de bits transmis :
x
3
40.10 " 60
–5
= 10 .
3
Il y a donc, en moyenne, x =
40.10 " 60 10
5
= 24 bits en erreur par minute.
n
m
Il y a 2 messages possibles, 2 messages légaux (puisque l’information de contrôle se déduit immédiatement des données) et donc 2n - 2m messages illégaux. 5.1.4. On souhaite trouver une formule mathématique qui borne r quand m est connu, dans le cas où l’on décide de corriger toutes les erreurs simples. a. Combien y a-t-il de manières de représenter un mot de code légal, si l’on prend comme hypothèse qu’une seule erreur peut affecter le mot ?
Les techniques employées, pour effectuer un contrôle d’erreurs, reposent sur l'utilisation de codes détecteurs ou de codes correcteurs d'erreurs qui enrichissent la suite de bits à envoyer, en lui ajoutant de la redondance. Le récepteur se sert de cette information ajoutée pour déterminer si une erreur s'est produite et éventuellement pour la corriger (si la technique employée le permet). 5.1.2. On considère un code C , comprenant unique ment les mots suivant : « 0000000000 », « 0000011111 », « 1111100000 » et « 1111111111 ». a. On transmet le mot de code « 0000000000 ». Le récepteur reçoit le mot de code « 0010000000 », peut-il détecter l’erreur ? Même question si le récepteur reçoit « 0110000000 », « 1111100000 ».
Il y a n bits dans le mot de code légal. Un seul parmi ces n bits pouvant être erroné (ou bien sur aucun), cela donne (n+1) façons de représenter un mot de code légal. b. Sachant que le nombre de mots de code légaux (ou interprétés comme tels) doit être inférieur au nombre de mots de code possibles, trouver une formule qui permette de limiter r quand m est connu. D’après les deux questions précédentes, il y a (n+1) 2m mots de codes assimilables à des mots n de codes légaux, et 2 mots de codes possibles. On doit donc avoir : (n+1) 2m < 2n
Oui pour les deux premiers cas, non pour le dernier cas qui correspond à un mot de code accepté (il y a eu 5 inversions de bit).
or
b. Combien d’erreurs simples simultanées peuvent être détectées dans le code C ?
qui équivaut à (m+r +1) < 2 .
Le code C peut détecter jusqu’à 4 erreurs simultanées. (Ce code a d’ailleurs une distance de Hamming de 5, ce qui nous indique qu’il peut détecter jusqu’à 4 (= 5-1) erreurs simples et en corriger jusqu’à 2 (= (5-1) div 2).)
15
n = m + r m
donc (m+r +1) 2 < 2
m+r r
5.1.5. On suppose qu’un émetteur désire transmettre des paquets de longueur constante (1 000 bits) sur un lien dont le taux d’erreur est de 10 –6 (on supposera, pour simplifier, qu’une erreur survient exactement tous les 106 bits).
16
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
a. De combien de bits de contrôle a-t-on besoin dans chaque bloc pour détecter ou corriger les erreurs ? Détection d’erreurs :
S’il y a une erreur tous les 1 000 000 bits, un bit de parité par bloc de 1 000 bits suffit (largement) pour détecter les erreurs. En effet, il n’y aura pas plus d’un bit en erreur par bloc si les erreurs sont uniformément réparties.
Correction d’erreurs :
Pour corriger les erreurs on utilise la formule précédente : n = 1 000 soit r ! 10. On aura donc besoin d’au moins 10 bits de contrôle. b. On suppose que si une erreur est détectée, le paquet est détruit et toute la trame est retransmise. L'efficacité sur ce lien se mesure en terme du nombre total de bits à transmettre (par l’émetteur) pour envoyer l’information de façon fiable. Comparez l’efficacité d’un code détecteur par rapport à un code correcteur, lorsque l’on désire transmettre 1 000 000 bits de données ? Détection d’erreurs :
Pour chaque trame il faut un bit de contrôle (parité). Donc il faut envoyer 1 001 paquets contenant chacun 999 bits de données et un bit de contrôle par paquet (correspondant à un total de 999 999 bits de données), plus 1 trame contenant 1 bit de données et 1 bit de contrôle. (Dans le cas où les trames sont de longueur fixe, il faudra envoyer une trame complète, même si elle ne contient qu’un seul bit de données.) Il faudra donc envoyer au total 1 000 000 bits de données + 1 002 bits de contrôle. –6
Mais puisqu’il y a un taux d’erreur moyen de 10 , il y aura en moyenne un bit en erreur pour chaque 1 000 000 bit envoyé. Il faudra donc retransmettre un paquet, dont 1 bit sera erroné. Au total on doit envoyer : 1 001 002 bits + 1 000 bits (une trame complémentaire) soit 1 002 002 b its. L’efficacité du code détecteur est donc : e=
1 002 002
Il faudra donc 1 010 trames de 1 000 bits + une trame d’au plus 110 bits (100 de données + 10 de contrôle). Soit au plus 1 010 110 bits. Il n’y a pas de retransmission les trames sont corrigées par le récepteur. L’efficacité du code correcteur est donc : 1 010 110
5.1.6. Déterminer des situations dans lesquelles un protocole de correction est préférable aux protocoles de détection d’erreurs, qui nécessitent un retour d’information. Quand on a des communications temps réel (voix, vidéo, etc.), on ne peut pas se permettre d’accepter le retard introduit par une retransmission. On utilise alors plutôt des codes correcteurs, pour améliorer la qualité de transmission. Pour un trafic non temps réel (données informatiques), les retransmissions sont possibles. On utilise alors plutôt des codes détecteurs, pour réduire la redondance (et donc l’overhead généré). La qualité de transmission visée pour un trafic de données est très largement supérieur à celle tolérée pour un trafic temps réel.
Finalement, si la communication est unidirectionnelle, seul un code correcteur est envisageable. Les codes détecteurs sont largement plus utilisés que les codes correcteurs dans les réseaux informatiques. Par la suite, nous ne nous intéresserons qu’aux codes de détection d’erreurs. 5.2. Codes de détection d’erreurs basés sur la parité
Considérons le cas de la transmission de caractères ASCII et supposons que l'unité à protéger est le caractère. Ce dernier est codé sur 7 bits (m = 7). On ajoute alors un bit de contrôle (r = 1) de valeur telle que le nombre total de bits à 1 du code du caractère est pair. C'est ce qu'on appelle le bit de parité ou VRC (Vertical Redundancy Checking ). On a alors un code de contrôle de parité paire (on définit de façon similaire un code de contrôle de parité impaire). 5.2.1. Combien d’erreurs simples par caractère ce code permet-il de détecter ? Ce code ne permet de détecter qu’une seule erreur par caractère. Si 2 bits sont en erreur (et même si l’un de ces deux bits est le bit de parité), on peut facilement vérifier que l’erreur ne sera pas détectée. Ce code possède en effet une distance de Hamming de 2, puisque changer un bit pour passer d’un caractère à un autre, change également le bit de parité. 5.2.2. Pour augmenter la fiabilité qu’offre un bit de parité unique, on veut utiliser un premier bit de
Changer un bit ne peut modifier le mot de code en un autre mot légal.
Chaque trame contient 990 bits de données.
e=
Introduction aux Réseaux
parité calculé à partir des bits de rang impair et un second calculé à partir des bits de rang pair. Combien d’erreurs simples ce code permet-il de détecter ? A-t-il un intérêt par rapport au code précédent ?
= 0,998
Correction d’erreurs :
1 000 000
UPMC
Par ailleurs, si le délai de propagation est très long, comme dans le cas d’envoi de sondes dans l’espace, il est préférable d’utiliser des codes correcteurs d’erreurs.
donc r > log2 (n+1) = log2 1 001 = 9,96
1 000 000
Licence Informatique 2006-2007
= 0,990
Le code détecteur est donc plus efficace.
17
Changer deux bits d’ordre pair ou deux bits d’ordre impair, en revanche, ne sera pas détecté. Ce code n’a donc aucun intérêt par rapport au précédent, puisqu’il ne permet pas de détecter plus d’ erreurs que le précédent alors qu’il comporte deux fois plus de bits de contrôle. Il possède d’ailleurs la même distance de Hamming que le précédent. Une autre façon de détecter les erreurs consiste à raisonner sur des blocs de k "n bits. Les k –1 premières lignes sont chacune constituées d’un mot de code de n bits, dans lequel le dernier bit est un bit de parité. La dernière ligne contient un mot de contrôle de n bits dans lequel chaque bit contrôle la parité des bits de même rang des mots de code de la séquence. C'est ce que l'on appelle
18
Licence Informatique 2006-2007
UPMC
Introduction aux Réseaux
la parité bidimensionnelle ou LRC ( Longitudinal Redunduncy Checking ). A nouveau, la parité de ces codes correcteurs peut, par convention, être paire ou impaire. 5.2.3. Dans l'alphabet CCITT n°5, le mot « OSI », se code par les trois caractères de 7 bits suivants : O = « 1001111 », S = « 1010011 », I = « 1000011 ». Donner le mot de code sur 8 bits associé à chaque caractère VRC puis le LRC correspondant en utilisant des blocs de 4 lignes et une parité paire. O
= 1001111 1
S
= 1010011 0
I
= 1000011 1
Licence Informatique 2006-2007
Une erreur simple va entraîner une erreur dans le bit de parité horizontal et vertical, elle sera donc détectée. Une erreur double (deux erreurs) sera également facilement détectée. Une erreur triple sera détectée facilement si elles ne sont pas alignées ou si elles le sont toutes. Même si deux erreurs sont alignées verticalement et deux horizontalement il y aura une colonne et une ligne avec un bit de parité non concordant. Exemple : X
P
X bit
de données (0 ou 1) juste, P bit de parité correct
X E X X X X X
N
E bit
erroné, N bit de parité non concordant
P
P
X
E
P
X
P
E X
N P
X
P
P
r
on multiplie M(x) par x , où r est le degré du polynôme générateur g(x) ;
!
on calcule R(x), le reste de la division du polynôme M(x)*x par g(x) ;
!
r
r
on calcule le mot de code M(x)*x – R(x) et on le transmet.
Le décodage est la vérification du mot de code reçu : !
on constitue M’(x) le polynôme associé à la suite binaire r eçue ;
!
on calcule R’(x), le reste de la division du polynôme M’(x) par g(x) –
si R’(x) = 0, il n’y a pas d’erreur, la suite binaire reçue est un mot de code valide ; on récupère alors l’information utile ;
–
si R’(x) % 0, il y a une erreur ; on demande alors la retransmission du message.
A noter : La technique quasi-universellement utilisée pour la détection d'erreurs est le CRC (Cyclic Redundancy Check ), qui est une forme de codage polynomial. L'évaluation d'un CRC repose sur deux concepts mathématiques : 1) l'arithmétique modulo-2 et 2) la division polynomiale. L'arithmétique modulo-2 est celle qu'on effectue sur des nombres binaires d'un seul bit, sans tenir compte des retenues. On a donc 1 + 1 = 0, comme on a 1 – 1 = 0. En fait, addition et soustraction sont équivalentes lorsqu'on utilise cette arithmétique et correspondent à un « OU exclusif » (pratique pour la mise en œuvre en électronique numérique (logique)). La division polynomiale utilisée dans le codage CRC est différente de la division polynomiale classique, puisqu’elle repose sur l’arithmétique modulo-2 : A(x) = B(x) Q(x) + R(x) où
En résumé, toutes les erreurs simples, doubles et triples, sont détectées. 5.2.5. Trouvez un cas de figure où 4 bits en erreurs (sur l’ensemble du bloc) ne seront pas détectés ? Si les quatre erreurs forment un « carré », elles ne seront pas détectées : X
E
X E
X
X X
P
X
E
X E
X
X X
P
P
P
P P
P
P P
P
Q(x) est le quotient de la division de A(x) par B(x) R(x) est le reste : deg(R(x)) < d eg(B(x))
et
addition et multiplication sont effectuées « modulo-2 »
Exemple : 4
3
X +1
4
2
2
X +X
4
2
X +X+1
B(x) = x +1 2
3
Le codage est le calcul du mot de code :
R(x) = 1 X2 X2+1 1
S’il y a une erreur simple on peut identifier la ligne et la colonne en erreur, on peut donc la corriger.
A un code polynomial est associé un polynôme générateur g(x) (par exemple : g(x) = x8 + 1).
Q(x) = x +x+1
X +X
5.2.6. Montrez que la parité bidimensionnelle permet de corriger des erreurs simples (par bloc).
5.3. Codes de détection d’erreurs polynomiaux
3
A(x) = x + x +x
X3 +X2+X
Ce code possède une distance de Hamming de 4, puisque changer un bit de l’un des caractères change également 3 bits de parités (horizontal, vertical ainsi que le de contrôle des contrôles). Il permet donc bien de détecter jusqu’à 3 erreurs simples.
!
2
X +X +X
Possédant une distance de Hamming de 4, il permet bien de corriger une erreur simple.
Introduction aux Réseaux
!
LRC = 1011111 0 5.2.4. Un code LRC permet-il de détecter des erreurs simples, doubles ou triples, sur l’ensemble du bloc ?
UPMC
5.3.1. On désire transmettre les chiffres hexadécimaux « A9C5 », le premier chiffre transmis étant le chiffre « A ». La protection contre les erreurs se fait en utilisant un code polynomial de 8 polynôme générateur g(x) = x + 1. a. Donner la forme polynomiale du message émis. Transmission de A9C5 : 1010 1001 1100 0101 15
13
11
8
7
6
2
M(x) = x + x + x + x + x + x + x + 1
on constitue M(x) le polynôme associé à la suite binaire à transmettre ;
19
b. Donner la suite binaire complète transmise au récepteur (mot de code émis). 20