Notes sur le contrôle et la détection des erreurs, Notes de Fondements informatiques
Francine88
Francine888 January 2014

Notes sur le contrôle et la détection des erreurs, Notes de Fondements informatiques

PDF (451.7 KB)
11 pages
304Numéro de visites
Description
Notes de fondements informatiques sur le contrôle et la détection des erreurs. Les principaux thèmes abordés sont les suivants: Protections contre les erreurs, Les contrôles de parité, Le C.R.C. (Cyclic Redundancy Code)...
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 11
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Aperçu avant impression terminé
Chercher dans l'extrait du document

27 couche liaison

Contrôle & détection des erreurs

docsity.com

28 couche liaison

Codes détecteurs simples : - Contrôle de parité

» Ajout d’un bit de façon à ce que le total des bits à 1 : Soit pair Parité paire Soit impaire Parité impaire (ou imparité)

Ne détecte que les nombres impairs d’erreurs

- 3 dont 2 » Relectures multiples d’une même données » Si 3 ou 2 sont identiques OK

sinon erreur

Protections contre les erreurs

docsity.com

29 couche liaison

Codes détecteurs complexes - Utilisation d’un polynôme générateur

» Génération à partir des données initiales d’un polynôme N(x) divisible par le générateur G(x)

» A la réception, division de N(x) par G(x) : le reste doit être non nul, sinon erreur

» Les taux de détection sont très élevés

Codes auto-correcteurs - Codes de parité croisées

» Contrôle de parité sur matrice de données avec Parité longitudinale (LRC) Parité verticale (VRC)

» Codes de Hamming Ajout d’un code «i parmi n»

Protections contre les erreurs

docsity.com

30 couche liaison

Les contrôles de parité

CONTRÔLE de PARITÉ SIMPLE Parité paire : Parité impaire : 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 î bit de parité î bit de parité

CONTRÔLE de PARITÉS CROISÉES : Exemple : On souhaite transmettre les lettres A , O , X en code ASCII

CODES TRANSMIS CODES REÇUS A O X LRC A O X LRC 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 1 1 1 0<-ERR 0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 VRC 0 1 0 1

î ERREUR

Ce type de parité détecte toutes les erreurs simples, doubles ou triples, et corrige toutes les erreurs simples.

docsity.com

31 couche liaison

Le C.R.C. (Cyclic Redundancy Code)

Pour les transmissions, choix par l ’UIT-T d’un polynome générateur de degré 16 :

G(x) = x16 + x12 + x5 + 1

Qui génère un code de 17 bits (Puissance de G(x) + 1)

G(x) = 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1

Et détecte : - Toutes les erreurs aléatoirement réparties - Toutes les erreurs en rafale de longueur < 17 bits

- 99,997% pour les rafales de 17 bits - 99,998% pour les rafales > à 17 bits

docsity.com

32 couche liaison

Exemple : Caractère à contrôler - A(x) => 1101 1110 G(x) = x3 + x1 = 1010 => r = 3 (degré du polynôme) Ajout de 3 bits à 0 - B(x) => 1101 1110 000 Division polynomiale par soustractions successives modulo 2 (Équivalent à OU exclusif) : Puis retrait modulo 2 du reste du polynome B(x) :

C(x) = 1 1 0 1 1 1 1 0 1 1 0 A la réception, le destinataire divise (modulo 2) C(x) par G(x). Le reste doit être nul, sinon ERREUR !

1 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0

1 1 1 1 1 1 1 0 0 1 1

1 0 1 0 1 0 1 1 1 0 1 0

0 0 1 1 0 0 0 0

0 1 1 0 0 0 0 0

1 1 0 0 1 0 1 0

1 1 0 0 1 0 1 0

1 1 0 0 1 0 1 0

Reste = = r bits1 1 0

1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0

1 1 1 1 1 1 1 0 0 1 1

1 0 1 0 1 0 1 1 1 0 1 0

0 0 1 1 0 0 0 0

0 1 1 0 0 0 0 0

1 1 0 1 1 0 1 0

1 1 1 1 1 0 1 0

1 0 1 0 1 0 1 0

Reste = = OK0 0 0

EMISSION RECEPTION

1 1 0

Le C.R.C. (Exemple simplifié)

docsity.com

33 couche liaison

Détection & correction d ’erreurs : Code de HAMMING (1950)

Détecteur sur 2 bits, correcteur sur 1 bit Création d’un code de n bits, tel que : n = m + k

Dans lequel k est le nombre de bits de contrôle et m celui des bits de codage de l’information, avec k tel que : 2 k >= n + 1

Tableau de détermination de k en fonction de n :

n = 5 6 7 9 10 11 12 13 14 15 … 128 … k = 3 3 3 4 4 4 4 4 4 4 … 8 ... m = 2 3 4 5 6 7 8 9 10 11 … 120 ...

Positionnement des bits de contrôle kn :Sur les rangs de bits de n qui sont puissance de 2 . Soit, pour n=1; n=2; n=4; n=8 ...

n12 n11 n10 n9 n8 n7 n6 n5 n4 n3 n2 n1 m8 m7 m6 m5 k4 m4 m3 m2 k3 m1 k2 k1

23 22 21 20

docsity.com

34 couche liaison

Le code de Hamming (suite)

Détermination des bits de contrôle k i : Les combinaisons de bits k contrôlent chacune un bit m de données :

rang de n rang de n

12 (1100) est contrôlé par k4, k3 6 (0110) est contrôlé par k3, k2 11 (1011) est contrôlé par k4, k2,k1 5 (0101) est contrôlé par k3, k1 10 (1010) est contrôlé par k4, k2 4 (0100) est un bit de contrôle

9 (1001) est contrôlé par k4, k1 3 (0011) est contrôlé par k2, k1 8 (1000) est un bit de contrôle 2 (0010) est un bit de contrôle 7 (0111) est contrôlé par k3, k2,k1 1 (0001) est un bit de contrôle

D ’où détermination des combinaisons de ni contrôlées par les ki :

k1 contrôle les bits n11, n9, n7, n5, n3 k2 contrôle les bits n11, n10, n7, n6, n3 k3 contrôle les bits n12, n7, n6, n5 k4 contrôle les bits n12, n11, n10, n9

docsity.com

35 couche liaison

Le code de Hamming (suite)

Positionnement des bits de contrôle ki : Sont positionnés selon une parité PAIRE de la combinaison de mi déterminée.

Exemple : soit un code m = 1 0 1 1 0 0 1 0 12 11 10 9 8 7 6 5 4 3 2 1

n = 1 0 1 1 k4 0 0 1 k3 0 k2 k1

k4 = 1 (ni = n12, n11, n10, n9 = 1 0 1 1) k3 = 0 (ni = n12, n7, n6, n5 = 1 0 0 1) k2 = 1 (ni = n11, n10, n7, n6, n3 = 0 1 0 0 0) k1 = 0 (ni = n11, n9, n7, n5, n3 = 0 1 0 1 0)

d’où n = 1 0 1 1 1 0 0 1 0 0 1 0

docsity.com

36 couche liaison

Le code de Hamming (Suite)

Calcul du SYNDROME : Soit le code reçu à contrôler (reprise exemple précédent) :

n = 1 0 1 1 1 0 0 1 0 0 1 0

On prend les rangs ni qui sont à 1 ( y compris ki ), soit dans l’exemple précédent, et l’on additionne modulo 2 : rang de n contrôlé par k4 k3 k2 k1

12 1 1 0 0 10 1 0 1 0 9 1 0 0 1 8 1 0 0 0 5 0 1 0 1 2 0 0 1 0

__________________________ Syndrome = 0 0 0 0

Si SYNDROME = 0 pas d’erreur , Sinon ...

docsity.com

37 couche liaison

Le code de Hamming (Fin)

Détermination de l’erreur : Dans l’exemple ci dessus, imaginons que le mot à controler soit devenu :

12 11 10 9 8 7 6 5 4 3 2 1

n = 1 0 1 0 1 0 0 1 0 0 1 0

rang de n contrôlé par k4 k3 k2 k1 12 1 1 0 0 10 1 0 1 0 8 1 0 0 0 5 0 1 0 1 2 0 0 1 0

__________________________ Syndrome = 1 0 0 1

= 910

SYNDROME = rang de l’erreur = n9

docsity.com

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Docsity n'est pas optimisée pour le navigateur que vous utilisez. Passez à Google Chrome, Firefox, Internet Explorer ou Safari 9+! Téléchargez Google Chrome