D - PowerPoint PPT Presentation

About This Presentation
Title:

D

Description:

Title: Pr sentation PowerPoint Author: I. Dutour Last modified by: Isabelle Created Date: 12/17/2002 10:39:53 AM Document presentation format: Affichage l' cran – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 20
Provided by: I103
Category:
Tags: dessin | technique

less

Transcript and Presenter's Notes

Title: D


1
Détection et correction derreurs
  • au sein de la couche 2 liaison de données

2
Introduction
  • Les erreurs de transmission sont
  • rares sur des supports numériques (fibre
    optique),
  • beaucoup plus fréquentes sur les boucles locales
    du RTC (paires torsadées analogiques) ou les
    réseaux sans fil.
  • Ces erreurs se produisent la plupart du temps en
    rafale
  • Avantage (par rapport aux erreurs isolées, ie 1
    seul bit) en moyenne, moins de blocs de bits
    sont affectés. Exemple
  • Soit la taille des blocs 1000 bits, le taux
    derreur 1/1000
  • Erreurs isolées la plupart des blocs
    contiennent 1 erreur
  • Erreurs en rafale de 100 ou plus 1 ou 2 blocs
    sur 100 seulement
  • Inconvénient beaucoup plus difficiles à
    détecter et à corriger

3
Il faut donc apprendre à vivre avec les erreurs
  • Deux stratégies ont été développées. Lémetteur
    inclut dans le bloc de données
  • suffisamment de redondance pour que le récepteur
    puisse reconstituer les données originales.
  • ? utilise des codes correcteurs derreur
  • plutôt pour des canaux non fiables comme le sans
    fil
  • juste assez de redondance pour que le récepteur
    puisse détecter les erreurs et demander une
    retransmission.
  • ? utilise des codes détecteurs derreur
  • plutôt pour des canaux fiables comme la fibre
    optique

4
Principe
  • On souhaite envoyer m bits de données.
  • On y rajoute r bits de redondance selon un
    certain algorithme ou codage
    .
  • ? Ainsi, la longueur de la trame envoyée est n
    m r.(cette séquence de n bits un mot du
    code)
  • A la réception, en fonction du codage , on
    pourra détecter (2.) et/ou corriger (1.) des
    erreurs.
  • En général, lapproche (1.) induit davantage de
    redondance, ce qui diminue le débit utile du
    canal

5
Généralités sur les codes
  • Un code C de longueur n est un ensemble de mots
    (séquences) de n bits.Ex n 3, C 110,
    101, 011
  • Parmi toutes les séquences possibles de n bits
    (2n)
  • celles qui appartiennent à C sont valides.
  • celles qui nappartiennent pas à C sont
    invalides.
  • Ex 111 est invalide 101 est valide

6
A la réception dune séquence S de n bits
  • Soit S est invalide (nappartient pas au code C).
  • Il y a forcément eu une (ou plusieurs) erreur de
    transmission.
  • Le récepteur corrige (1.) ou demande une
    retransmission (2.).
  • Soit S est valide (appartient au code C).
  • La séquence S est considérée comme correcte
    et acceptée par le récepteur.
  • Remarque considérée seulement, car
  • si lémetteur envoie 011 et le récepteur reçoit
    101,
  • aucun moyen de détecter quil y a eu des erreurs
    (2 ici)
  • car 101 est valide !

7
Distance de Hamming dun code
  • Cest le critère qui permet dévaluer le pouvoir
    détecteur dun code ainsi que son pouvoir
    correcteur.
  • Distance de Hamming entre 2 mots (noté dh) nbre
    de positions qui ont des valeurs distinctes.Ex
    dh ( 110011, 101010 ) 3
  • (Astuce nbre de 1 du OU exclusif)
  • Distance de Hamming dun code C (noté DH(C)) le
    minimum des distances entre 2 mots du codeEx
    DH ( 110, 101, 011 ) 2 DH ( 0011,
    0101, 1001, 0110, 1010, 1100 ) 2

8
Représentation graphique
  • Sommets ts les mots de n bits
  • Liens entre les mots tq dh 1
  • DH(C) longueur du plus court chemin entre 2
    mots valides

9
Pouvoir détecteur dun code
  • Déf On parle derreur dordre k lorsquun mot
    émis u diffère par k bits du mot reçu v, ie
    dh(u,v) k.
  • Pour détecter une erreur dordre 1, quelle doit
    être la distance de Hamming du code ?
  • Réponse DH(C) 2en effet, dans ce cas, 1
    erreur simple ne peut pas changer un mot du code
    en un autre mot du code.
  • Même question pour une erreur dordre k ?
  • Réponse DH(C) k1

10
Pouvoir correcteur dun code
M
mot de code valide
0 1 1 0 1 0 1 1 1 0 1 0 0 0
point dans lespace
Code transmis S un point en M dimensions
Distance 1 bit
Au décodeur S est toujours le mot de code le
plus près du mot reçu S ? on décode sans
erreur
S
(code reçu avec 1 erreur)
S
(point transmis)
11
Pouvoir correcteur dun code
  • Pour pouvoir corriger une erreur dordre 1, une
    distance de Hamming DH(C) 2 est-elle suffisante
    ?
  • Réponse non il faut DH(C) 3en effet, si
    DH(C) 2, 1 erreur simple peut nous produire un
    mot exactement au milieu de 2 mots du code, à
    distance 1 de chacun !si DH(C) 3, 1 erreur
    simple produit un mot qui reste le plus proche du
    mot transmis on peut donc le retrouver !
  • Pour corriger une erreur dordre k,
  • il faut DH(C) 2k1.

12
Résumé pouvoir détecteur et correcteur
  • Un code C peut
  • détecter des erreurs dordre DH(C) 1
  • corriger des erreurs dordre (DH(C) 1)/2
    (partie entière)

Distance de Hamming du code Ordre maximal des erreurs détectables Ordre maximal des erreurs corrigibles
1 - -
2 1 -
3 2 1
4 3 1
5 4 2
6 5 2
13
Exemples de codes détecteurs
14
Détection des erreurs
  • Permet de vérifier lintégrité dune trame au
    récepteur
  • Retransmission des trames corrompues
  • Plus efficace que la correction
  • ? requiert moins de bits de redondance
  • Parité Verticale
  • Parité Horizontale
  • Parité Verticale et Horizontale
  • CRC Cyclic Redundancy Code
  • ? codes de détection couramment utilisés

15
Parité Verticale (Exo 2.1)
  • Exemple envoi de 7 caractères de longueur 3
    (m3).
  • Info utile 000 111 000 110 101 011 010
  • Info envoyée 0000 1111 0000
    1100 1010 0110 0101
  • Propriétés
  • distance de Hamming est 2 détecte les erreurs
    simples
  • détecte les erreurs qui sont d'ordre impair
  • ignore les erreurs doubles et toutes celles qui
    sont d'ordre pair

16
Parité Horizontale (Exo 2.2)
  • Exemple envoi de 7 caractères de longueur 3
    (m3).
  • Info utile 000 111 000 110 101 011 010
  • Info envoyée 000 111 000 110 101 011 010 010

17
Parité Verticale et Horizontale (Exo 2.3)
  • Exemple envoi de 7 caractères de longueur 3
    (m3).
  • Info utile 000 111 000 110 101 011 010
  • Info envoyée 0000 1111 0000
    1100 1010 0110 0101 1010
  • Propriétés
  • détecte les erreurs dordre 3 et corrige les
    erreurs simples
  • détecte les erreurs qui sont d'ordre impair

0 1 0 1 1 0 0 1
0 1 0 1 0 1 1 0
0 1 0 0 1 1 0 1
0 1 0 0 0 0 1 0
18
Codes Polynomiaux CRC
  • Codes de blocs particuliers
  • Facilement implémentables de façon matérielle
  • Excellents résultats
  • Principe
  • Toute séquence de n bits peut être représentée
    par un polynôme à coefficients binaires.
  • Opérations d'addition et de multiplication modulo
    2.
  • G(X) un polynôme de degré r appelé polynôme
    générateur.
  • Code polynomial CG,n
  • Ensemble des séquences de longueur n, dont le
    polynôme associé est multiple de G(X).

19
CRC Propriétés
  • Peut détecter 1 erreur isolée si G contient au
    moins 2 termes
  • Peut détecter 2 erreurs (si G ne divise pas xk1,
    avec kfenêtre)
  • Peut détecter tous les patrons derreurs impairs
  • ? si (x 1) est un facteur de G(x)
  • Peut détecter r erreurs consécutives sil est
    dordre r (bursts)
  • Trois polynômes standards
  • CRC-12 x12 x11 x3 x2 x 1
  • CRC-16 x16 x15 x2 1
  • CRC-CCITT x16 x12 x5 1

20
Anciennes non utilisées
21
Technique de détection/correction derreur
  • Code de longueur N
  • exemples
  • 2 parmi 3
  • Distance de Hamming 2
  • Parité verticale/horizontale
  • Distance de Hamming 4
  • Contrôle de flux
  • Pb perte à la réception
  • Solution
  • Sol1réception bufferisée
  • Sol2évenement Xon/Xoff

22
CODES VERSION PF
23
Technique de détection/correction derreur
  • Stratégies
  • Détection (et demande de retransmission) code
    détecteur derreurs
  • Détection correction code correcteur
    derreurs
  • Code de longueur N
  • Ensemble de séquences (mots) binaires de N bits
  • Séquences valides / invalides
  • Exemple M bits utiles, R bits de redondance
  • 2M séquences valides (2N séquences possibles)
  • Distance de Hamming entre 2 mots de code
  • Nombre de différences si u1101100 et
    v1001010, alors dh(u,v)3
  • Distance de Hamming dun code C
  • Le minimum des distances entre 2 séquences du
    code C ( DH(C).

24
Un exemple de code 2 Parmi 3
  • Configurations valides
  • mots de longueur 3 avec exactement 2 bits à 1.
  • Code de longueur 3
  • Distance de Hamming 2
  • Propriétés
  • Pouvoir détecteur oui (erreur simple)
  • Pouvoir correcteur non
  • Plus généralement
  • La distance de Hamming d'un code permet d'évaluer
    son pouvoir détecteur d'erreur ainsi que son
    pouvoir correcteur.
  • un code C peut détecter des erreurs d'ordre
    (DH(C) -1),
  • un code C peut corriger des erreurs d'ordre
    PartieEntière((DH(C)-1)/2).

25
Code de bloc
  • On découpe l'information utile en tronçon de m
    bits auquel on rajoute r bits de redondance.
  • Code de longueur nmr.
  • Sur 2n combinaisons possibles, seules 2m
    combinaisons sont valides.
  • Exemple 1 Parité verticale (VRCVertical
    Redundancy Checking)
  • m8 (caractère) et r1 (parité paire ou impaire)
  • Exemple envoi de 4 caractères de longueur 3
    (m3).
  • Information utile 110 001 011 000
  • Information envoyée 1100 0011 0110 0000
  • Propriétés
  • distance de Hamming est 2 détecte les erreurs
    simples
  • détecte les erreurs qui sont d'ordre impair
  • ignore les erreurs doubles et toutes celles qui
    sont d'ordre pair

26
Code de bloc (suite)
  • Exemple 2 Parité verticale/horinzontale
    (LRC/VRC pour Vertical Redundancy Checking /
    Longitudinal Redundancy Checking)
  • Principe les caractères munis de leur bit de
    parité transversale sont regroupés en blocs, et
    on ajoute à la fin de chaque bloc un caractère
    supplémentaire pour la parité longitudinale
  • Exemple envoi dun bloc de 4 caractères de
    longueur 3 (m3).
  • Information utile 110 001 011 000
  • Information envoyée 1100 0011 0110 0000 1001
  • Propriétés
  • distance de Hamming est 4
  • détecte les erreurs dordre 3 et corrige les
    erreurs simples
  • détecte les erreurs qui sont d'ordre impair

1 0 0 0 1
1 0 1 0 0
0 1 1 0 0
0 1 0 0 1
27
Codes polynomiaux
  • Codes de blocs particuliers
  • Facilement implémentables de façon matérielle
  • Excellents résultats.
  • Principe
  • Toute séquence de i bits peut être représentée
    par un polynôme à coefficients binaires
  • Par exemple, la séquence "001101" peut être
    représentée par le polynôme x3x21.
  • opérations d'addition et de multiplication modulo
    2
  • G(X) un polynôme de degré r appelé polynôme
    générateur
  • Code polynomial CG,n
  • Ensemble des séquences de longueur n, dont le
    polynôme associé est multiple de G(X).

28
Codes polynomiaux (suite)
  • Exemple n4, G(X)X2.
  • Les multiples de G(X) de degré au plus égal à n-1
  • 0.G(X)0, 1.G(X)X2, X.G(X)X3, (X1).G(X)X3X2.
  • Les séquences valides du code CG,4 0000, 0100,
    1000, 1100.
  • Application à la détection d'erreur
  • G(X) (degré r) connu de l'émetteur et du
    récepteur
  • La taille des informations utiles m.
  • On utilise le code CG,mr

29
Codes polynomiaux (suite)
  • Côté émetteur
  • bm-1 bm-2 ... b2 b1 b0 l'information utile de
    longueur m
  • M(X) le polynôme associé à l'information utile.
  • On divise le polynôme M(X).Xr par G(X)
  • M(X).Xr G(X).Q(X) R(X) (R(X) de degré r-1)
  • On envoie la séquence de bits de longueur nmr
    associée au polynôme N(X)M(X).Xr R(X).
  • Remarquons que ce polynôme N(X) est divisible
    par G(X)
  • M(X).Xr R(X) G(X).Q(X) R(X) R(X)
    G(X).Q(X).
  • Côté récepteur
  • Détection d'erreur vérifier que le polynôme
    associé à la séquence binaire reçue, est
    divisible par G(X).
  • Information utile supprimer les r derniers bits
    de la séquence reçue.

30
Contrôle de flux
  • Problème
  • Un émetteur émet plus de messages que le
    récepteur peut accepter
  • perte à la réception
  • couches concernées 2, 3 et 4
  • Solution éviter cette situation (prévention).
    Deux approches
  • Lémetteur német que sur autorisation du
    récepteur
  • Le débit est adapté au capacité du récepteur
  • Exemple Transmission asynchrone
  • Réception bufferisée évenement Xon/Xoff
Write a Comment
User Comments (0)
About PowerShow.com