Vous êtes sur la page 1sur 10

Codage, Corrections d’erreurs et Multiplexage Chapitre 3

3.1 Introduction
Dans ce chapitre, nous allons étudier comment on prépare les données en vue d’une
transmission où l'on peut grâce à un codage approprié améliorer la qualité, la vitesse
ou la quantité des données transmises.

3.2 Le codage des informations


Le codage des informations est utilisé dans les transmissions, aussi bien en bande de
base qu'en bande décalée, pour éviter la transmission d'erreurs. Il convient pour les
éviter, de fournir, en plus des données, un code qui permet, dans le pire des cas, de
détecter les erreurs et dans le meilleur, de les corriger.

3.2.1 Le codage de la parité:

Le code le plus simple pour transférer une information est le codage de la parité : il
s'agit d'ajouter un bit supplémentaire aux données transmises.
— dans le cas d'une parité paire, ce bit permet au message d'être composé d'un
nombre toujours pair de bits à '1',
— dans le cas d'une parité impaire, un nombre toujours impair de bits à '1'.

Ce codage est réalisé au moyen de la fonction OU EXCLUSIF pour la parité paire et


NON OU EXCLUSIF pour la parité impaire.

Au décodage, on va utiliser la même fonction logique que celle utilisée pour le


codage pour valider le message. Par exemple avec la parité paire, on va réaliser une
fonction OU EXCLUSIF entre les n bits du message et le bit de parité. Si le résultat
vaut '0', le message est réputé vrai, si le résultat vaut '1' il est réputé faux.

Un code de parité ne sait détecter qu'un nombre impair d’erreur (les codes de parité
simple ne savent détecter qu'une seule erreur). Il lui est impossible de détecter deux
erreurs.

Une évolution des codes de parité consiste à introduire une redondance des
codages.

 Exemple :

Envisageons d'envoyer un message de 5 mots de 5 bits, on peut alors coder de la


façon suivante le message.

Coté émission, à l'extrémité de chaque ligne, on place un bit de parité paire et on fait
la même chose avec les colonnes.

On nomme parité transverse les bits de parités créés pour chaque colonne et parité
longitudinale ceux créés pour chaque ligne.

17 | P a g e
Chapitre 3 Codage, Corrections d’erreurs et Multiplexage

Les signaux émis sont : 100111 110000 101000 010111 100010 001010
Les signaux reçus sont : 100111 110000 101100 010111 100010 001010

A la réception, on récupère le message qui a été transmis et on lui applique encore


une fois un contrôle de parité longitudinal et transverse. Il ya erreur dans la
transmission si une parité longitudinale et une parité transverse sont à '1'.

Dans notre exemple, il y a 2 codes de contrôle non valable, l'un sur une ligne, l'autre
sur une colonne, ce qui localise l'erreur.

Ce code permet donc de corriger l’erreur puisqu’elle est placée à l’intersection des 2
lignes et colonnes fautives. Toutefois, si à la réception, il y a deux ou trois erreurs, il y
aura toujours systématiquement au moins un bit de parité transverse ou
longitudinale à '1'. On peut donc détecter jusqu'à trois erreurs. Par contre, on ne
peut corriger qu'une seule erreur.

3.2.2 Les codages redondants:

Les codages redondants augmentent le nombre de bits du message pour permettre


de détecter d'éventuelles erreurs et éventuellement de les corriger. Le code le plus
connu est celui de Hamming (le code des premières transmissions numériques).

 Exemple :

Imaginons que l'on cherche à transmettre un mot de 4 bits. Le code de Hamming


nous dit que pour n bits d'information, il faut k bits de contrôle pour corriger une
erreur. On peut exprimer k en fonction de n grâce à la formule suivante :
2 ≥ + +1

Pour n = 4, on a k = 3. Cela veut dire que l'on va transmettre 7 bits (m = k + n). Il faut
maintenant coder les k bits en vue de la transmission.

On code dans un tableau toutes les possibilités d'erreur dans le message. Il y a pour
un message de m bits, m+1 possibilité d'erreur. Ce tableau est composé de k (=3)
colonnes. D'où la formule précédente (m+1 = n+k+1 et 2k représente le nombre de
ligne identifiable avec k colonnes).

18 | P a g e
Codage, Corrections d’erreurs et Multiplexage Chapitre 3

On sort maintenant les équations de e1, e2 et e3, et on trouve :

Si l’on regarde bien, on se rend compte que les termes m1, m2 et m4 n’apparaissent
qu’une seule fois dans les équations. On peut donc en faire (pour simplifier les
équations) les bits de codage de Hamming.

Le message transmis étant alors composé de la façon suivante :

Pour terminer la réalisation de notre codage, il reste à remplir le tableau, c’est à dire
trouver les valeurs de k1, k2 et k3 qui rendent e1, e2 et e3 nuls. En effet, le message
n’étant pas encore émis, il n’est pas sensé contenir d’erreur.

Pour trouver la valeur de m1, m2 et m4, il suffit d’écrire :

Comme e1, e2 et e3 sont nuls, on trouve :

Ce qui donne le tableau suivant :

19 | P a g e
Chapitre 3 Codage, Corrections d’erreurs et Multiplexage

A la réception, il suffit de calculer les valeurs de e1, e2 et e3 pour définir s’il y a eut
une erreur et où elle se situe. On est alors capable de transmettre un message en
détectant les erreurs et en les corrigeant.

Ainsi, si le message à envoyer est 1100, on a k3=0, k2=0 et k1=1 donc le message
transmis est 1100001. Mais si en route, une erreur apparaît sur le 3ème bit, le
message reçu devient 1100101, en utilisant le décodeur de Hamming, on trouve :

On sait donc où l’erreur se situe car e1, e2 et e3 indiquent une erreur sur le 3ème
bit. On peut donc corriger le code reçu et écrire que le code sans erreur est 1100001
donc que le message est 1100.

Avec ce code de Hamming, on sait donc corriger une erreur sur un bit mais on est
capable, sans les corriger, de détecter jusqu'à trois erreurs.

Quand à la proportion des bits de contrôle, on constate que plus n est grand, plus k
augmente, mais pas de façon linéaire. Par exemple, si pour détecter 3 erreurs, il y a
besoin de 3 bits de contrôle pour 4 bits de données, avec 112 bits de données, il
suffit d'utiliser 7 bits de contrôle (la probabilité d'erreur s'accroît linéairement avec
le nombre de bits transmis).

— Les codes CRC :

Les codes CRC ou CYCLICAL REDUNDANCY CHECK (contrôle par redondance cyclique)
sont basés sur une série d'opérations arithmétiques.

20 | P a g e
Codage, Corrections d’erreurs et Multiplexage Chapitre 3

— On élabore de la forme polynomiale du message binaire. Par exemple,


110100, c'est à dire 1.25 +1.24 +0.23 +1.22 +0.21 +0.20 s'écrit sous forme
polynomiale x5+x4+x2. On nomme ce polynôme P(x).
— Puis on applique la formule suivante :

Où G(x) est un polynôme, défini par le protocole du réseau, connu de l'émetteur


et du récepteur et de degré v. Q(x) est le quotient de la division de P(x).xv par
G(x) et donc R(x) est le reste de la division.
— Puisque G(x) est de degré v, R(x) est forcément d'un degré inférieur ou égal à
v. C'est ce reste R(x) qui va être transmis en plus de P(x) au récepteur.
— A l'arrivée, on connaît donc R(x) (le reste transmis avec le message), v (qui est
obtenu par analyse de G(x)), G(x) (connu par définition) et P(x) (le message
transmis). On va alors refaire le même calcul que celui réalisé par l'émetteur et
comparer les restes des deux divisions.

— S’il y a une différence entre les deux restes, on est sûr alors qu'une erreur
s'est glissée dans la transmission.

G(x) est défini par la norme de transmission utilisée : selon la norme CCITT
(Comité Consultatif International pour le Télégraphe et le Téléphone) G(x) est
défini comme : G(x)=x16+x12+x5+1

Pour le réseau CAN, le code G(x) = x15+x14+x10+x8+x7+x4+x3+1. Ce code CRC est


efficace, puisqu’il permet de repérer les erreurs suivantes :

 Toutes les salves d'erreurs comportant un nombre impair de termes


 Toutes les salves d'erreurs comportant moins de 17 bits.
 99,998% des salves d'erreurs de plus de 16 bits.

C'est ce qui fait que le codage CRC est très utilisé pour les supports peu fiables, mais
aussi dans la majeure partie des réseaux.

Les codes CRC que nous avons présentés ne permettent pas de corriger les erreurs,
de même, ils n'assurent aucune confidentialité aux communications. Il existe tout de
même des codes CRC correcteurs d'erreurs.

— Correction d'erreurs de transmission :

Dans le monde des réseaux, les codes ne font que détecter les erreurs de
transmission, même si ils sont capables de les corriger. La capacité de transfert des

21 | P a g e
Chapitre 3 Codage, Corrections d’erreurs et Multiplexage

réseaux moderne, et la sensibilité des données, sont telles que l'on préfère
retransmettre un paquet s’il est susceptible de contenir des erreurs plutôt que d'en
commettre de nouvelles par des corrections hasardeuses.

3.2.2 Le Multiplexage:

L'objectif des transmissions est de transmettre plus de données dans un minimum


d'espace. Actuellement, avec la multiplication des réseaux hertziens, avec l'essor de
la téléphonie, le manque de place est cruel. Or le monde des transmissions est régit
par une loi inviolable :

Pour transmettre plusieurs signaux sur un même canal, il faut être


capable de tous les extraire.

Cela imposait donc de décaler soit dans le temps, soit en fréquence les signaux à
transmettre. Cette technique appelée multiplexage, se conjugue donc selon 2 axes :
d'un coté l'axe temporel, de l'autre, l'axe fréquentiel. Dans les 2 cas, cela revient à
découper la bande autorisée en petits intervalles qui seront autant de voies de
communication.

— Le multiplexage fréquentiel :

Le multiplexage fréquentiel, c'est réaliser un découpage de la bande de fréquence


dont on dispose en intervalles de la taille de la voie de communication.
Cette technique fut très utilisée en télécommunication, à l'époque où les systèmes
numériques n'étaient pas aussi performants qu'aujourd'hui.
La voix humaine telle que les télécoms l'imaginent, est un signal occupant une bande
de 300 à 3400Hz. Grâce à cette restriction de la bande de fréquence, et au
multiplexage fréquentiel, on peut placer environ 1800 communications simultanées
sur une même ligne.

Figure 3.1 Exemple de multiplexage fréquentiel à 12 voies

22 | P a g e
Codage, Corrections d’erreurs et Multiplexage Chapitre 3

Néanmoins, on ne peut réaliser directement le multiplexage de 1800 voies, on doit


procéder par étapes.

— On part du poste téléphonique vers le boîtier d'interconnexion téléphonique


de l’immeuble, ou de la rue (jusque là, votre ligne est personnelle, vous êtes
le seul à l'utiliser)
— Arrivée au premier poste d'interconnexion, votre ligne est multiplexée avec
de 12 voies.
— Cette ligne à 12 voies va vers le poste central où elle sera encore multiplexée
avec d'autres voies de même gabarit pour créer sur une ligne un canal de 144
voies. Ce canal est alors assemblé à d'autre de même taille pour former une
ligne de 1728 voies.
— il y a en plus des voies de communication, des voies de codage qui sont
ajoutées, et ainsi permettent d'acheminer toutes les conversations vers leurs
destinataires respectifs.

On représente en général, les opérations de multiplexage de la façon suivante :

Figure 3.2 Opérations de multiplexage

— Le multiplexage temporel:

Cette méthode de multiplexage fut créée avec l'avancée des technologies


numériques. Moins coûteuse que le multiplexage fréquentiel qui nécessite une
surabondance de porteuses accordées très finement, et des modulations BLU le
multiplexage numérique n'utilise qu'une seule horloge, couplée avec des
composants numériques à haute fréquence.

23 | P a g e
Chapitre 3 Codage, Corrections d’erreurs et Multiplexage

Le principe du multiplexage temporel, c'est découper la parole ou les données en


petits éléments simples (des échantillons), qui seront numérisés pour former des
données numériques (paquets) elles mêmes transmises dans un bref intervalle de
temps (time slot). On y accolera alors les bits issus d'un paquet émis par une autre
source. L'ensemble de ces paquets formant une trame. Lors de la trame suivante, on
place dans l'espace qui nous est accordé le paquet suivant.

On a donc une liaison discontinue avec notre interlocuteur. Mais si l'émission de ces
petits morceaux de parole, se fait à une cadence très élevée, cela permet de rendre
ce phénomène inaudible (c'est le principe de l'échantillonnage).

Figure 3.3 Evolution du multiplexage

Il existe une 3ème forme de multiplexage, il s'agit de la technologie employée pour les
systèmes UMTS (Universal Mobile Telecommunications System, parfois appelé
3GSM, qui est l'une des technologies de téléphonie mobile de troisième
génération 3G), on la nomme multiplexage de puissance. Dans l'illustration
précédente, un axe n'est pas exploité (l'axe P pour puissance), c'est selon cet axe que
se réalise ce multiplexage.

24 | P a g e
Codage, Corrections d’erreurs et Multiplexage Chapitre 3

Vocabulaire des transmissions


(lexique de certains termes dont l'usage est courant dans les transmissions)
Méthode de transmission permettant à 2 machines de se parler en
FULL DUPLEX
même temps (pas forcément sur la même ligne).
Méthode de transmission permettant à 2 machines de se parler sur
HALF DUPLEX
une même ligne, mais pas en même temps.
Méthode de transmission imposant sur une ligne une machine qui
SIMPLEX
parle et une seule, sans possibilité pour qu'une machine ne parle.
(Modulateur Démodulateur), outil permettant de dialoguer sur une
MODEM ligne téléphonique et répondant aux formats standards des normes de
communication téléphonique.
(Transmetteur Récepteur Asynchrone Universel) composant
UART électronique permettant de recevoir et de transmettre les données sur
une liaison série, en gérant le contrôle de parité.
unité de transmission représentant le nombre d'événement transmis
en une seconde. Il s'oppose aux bits par seconde par le fait qu'une
BAUD mesure en bits par seconde ne peut s'appliquer qu'aux signaux
binaires. Dans le cas d'une transmission d'un signal à 2 états, un baud
est égal à un bit par seconde.
Il existe plusieurs types de connexions, permettant une certaine
diversité de câblage, rendant plus simple l'adaptation du réseau à la
topologie du lieu. On en distinguera deux : la connexion "point à
point" et la connexion répartie. La connexion "point à point " consiste
à établir des liaisons entre uniquement deux machines et la connexion
multipoints (ou répartie) à n'utiliser qu'une seule ligne pour relier
toutes les machines.
INTERCONNEXION

Cette notion est un élément très important dans les réseaux locaux. La
notion de temps réel c’est en fait la capacité qu'a un système pour
répondre en un temps donné.

Prenons l'exemple d'un banc de perçage automatique, on dispose en


général d'un capteur permettant de détecter une rupture du foret. En
cas de rupture, il convient de réagir relativement vite, soit en
détournant les pièces sur d'autres unités de perçage, soit en stoppant
LE TEMPS REEL la chaine pour permettre un remplacement de la pièce défectueuse. Il
faut donc que l'information arrive à l'ordinateur central avant qu'une
nouvelle pièce se présente. Donc l'ordre répondant à une rupture du
forert doit être traité en un temps limite. Ce temps limite est à la base
de la notion de temps réel.

Le temps réel veut dire qu'au pire, n μs après l'envoie d'un ordre, il doit
être arrivé à l'ordinateur traitant ce problème et que p μs après, ces
données doivent être traitées et revenir aux différents actionneurs.

25 | P a g e
Chapitre 3 Codage, Corrections d’erreurs et Multiplexage

On dit qu'un réseau est déterministe lorsqu'il n'y a pas de hasard dans
RESEAU
la méthode d'accès (l'ordre de parole des machines est déterminé). On
DETERMINISTE
l'oppose en général aux réseaux à accès aléatoire.
Point de connexion d’une machine avec le réseau. Ce terme exprime le
nombre d’éléments reliés à un réseau. Attention, entre 2 nœuds, on
NŒUDS peut placer un répéteur (un amplificateur qui permet d'augmenter la
puissance du signal), celui ci ne sera pas comptabilisé puisqu'il n’est
pas actif vis-à-vis du transfert d’information.
Dispositif totalement indépendant et généralement implanté
directement dans le silicium des composants électroniques, il permet
WATCHDOG
de redémarrer automatiquement la machine en cas de défaillance de
son (ses) logiciel(s).
Le bit de poids fort est transmis en premier, le bit de poids faible à la
BIG ENDIAN
fin.
Inverse de BIG ENDIAN, cela consiste à transmettre le poids le plus
SMALL ENDIAN
faible d’abord et poids fort à la fin.
Digital Terminal Equipment, autrement dit, il s'agit d'un équipement
DTE de fin de ligne (c'est à dire producteur ou consommateur de données),
comme par exemple un ordinateur.
Digital Communication Equipment, autrement dit un élément utilisé
DCE dans le transfert de l'information, qui est donc susceptible d'en
modifier la forme mais pas le contenu, par exemple un MODEM.

26 | P a g e

Vous aimerez peut-être aussi