Le contrôle des erreurs

Intérêt d'un contrôle d'erreur

Le codage binaire est très pratique pour une utilisation dans des appareils électroniques tels qu'un ordinateur, dans lesquels l'information peut être codée grâce à la présence ou non d'un signal électrique. Toutefois, le signal électrique peut subir des perturbations, notamment lors du transport des données (dans un réseau par exemple) car les données circulent sur un long trajet. Ainsi, le contrôle de la validité des données est nécessaire pour certaines applications (professionelles, bancaires, industrielles, confidentielles, relatives à la sécurité, ...). C'est pourquoi il existe des mécanismes permettant de garantir un certain niveau d'intégrité des données.

Le contrôle de parité

La plupart des systèmes de contrôle d'erreur sont basés sur un ajout d'information permettant de vérifier la validité des données.

Le contrôle de parité est un des systèmes de contrôle les plus simples. Il consiste à ajouter un bit supplémentaire (appelé bit de parité) à un certain nombre de bits de données (généralement 7, pour former un octet avec le bit de parité) dont la valeur (0 ou 1) est telle que le nombre total de bits à 1 soit pair.

Prenons l'exemple suivant:

Dans cet exemple, le nombre de bit de données à 1 est pair, le bit de parité est donc positionné à 0. Dans l'exemple suivant par contre:

Les bits de données étant en nombre impair, le bit de parité est à 1. Imaginons désormais qu'après transmission le bit de poids faible (le bit situé à droite) de l'octet précédent soit victime d'une interférence:

Le bit de parité ne correspond alors plus à la parité de l'octet: une erreur est détectée. Toutefois, si deux bits (ou un nombre pair de bits) venaient à se modifier simultanément lors du transport de données

Aucune erreur ne serait alors détectée...
De plus, avec ce système, même lorsqu'une erreur est détectée il y a aucun moyen de la corriger (le seul moyen est d'exiger la retransmission de l'octet...). C'est pourquoi des systèmes de détection d'erreur plus perfectionnés ont été mis au point, ces codes sont appelées