Qu'est-ce qu'une erreur?
Les données transmises peuvent être corrompues pendant la communication. Il est susceptible d'être affecté par des bruits externes ou d'autres défaillances physiques. Dans une telle situation, les données d'entrée ne peuvent pas être les mêmes que les données de sortie. Cette incompatibilité est appelée «erreur».
Les erreurs de données peuvent entraîner la perte de données importantes ou sécurisées. La plupart des transferts de données dans les systèmes numériques se feront sous la forme de «transfert de bits». Même un petit changement peut affecter les performances de l'ensemble du système. Dans une séquence de données, si 1 est changé en 0 ou 0 est changé en 1, cela s'appelle "Erreur de bit".
Dans ce didacticiel sur le code de Hamming, vous apprendrez:
- Qu'est-ce qu'une erreur?
- Types d'erreurs
- Qu'est-ce que la détection et la correction d'erreur?
- Qu'est-ce qu'un code Hamming?
- Histoire du code de Hamming
- Application du code Hemming:
- Avantages du code Hamming
- Inconvénients du code Hamming
- Processus d'encodage d'un message à l'aide du code Hamming
- Processus de déchiffrement d'un message en code Hamming
Types d'erreurs
Il existe principalement trois types d'erreur de bit qui se produisent lors de la transmission de données de l'expéditeur au récepteur.
- Erreurs sur un seul bit
- Erreurs de bits multiples
- Erreurs de rafale
Erreurs sur un seul bit
La modification effectuée en un bit dans toute la séquence de données est appelée "erreur sur un seul bit". Cependant, l'occurrence d'une erreur sur un seul bit n'est pas si courante. De plus, cette erreur ne se produit que dans un système de communication parallèle car les données sont transférées au niveau du bit sur une seule ligne. Par conséquent, il y a plus de chances qu'une seule ligne soit bruyante.
Erreurs de bits multiples
Dans la séquence de données, s'il y a un changement dans deux bits ou plus d'une séquence de données d'un émetteur à un récepteur, on parle d'erreurs sur plusieurs bits.
Ce type d'erreur se produit principalement dans les réseaux de communication de données de type série et parallèle.
Erreurs de rafale
Le changement de l'ensemble de bits dans la séquence de données est appelé «erreur de rafale». Ce type d'erreur de données est calculé de la modification du premier bit au dernier changement de bit.
Qu'est-ce que la détection et la correction d'erreur?
Dans le système de communication numérique, l'erreur sera transférée d'un système de communication à un autre. Si ces erreurs ne sont pas détectées et corrigées, les données seront perdues. Pour une communication efficace, les données du système doivent être transférées avec une grande précision. Cela se fera en identifiant d'abord les erreurs et en les corrigeant.
La détection d'erreurs est une méthode de détection des erreurs qui sont présentes dans les données transmises d'un émetteur à un récepteur dans un système de communication de données.
Ici, vous pouvez utiliser des codes de redondance pour trouver ces erreurs, en ajoutant aux données lorsqu'elles sont transmises depuis la source. Ces codes sont appelés "Codes de détection d'erreur".
Trois types de codes de détection d'erreur sont:
- Contrôle de parité
- Contrôle de redondance cyclique (CRC)
- Contrôle de redondance longitudinale (LRC)
Contrôle de parité:
- Il est également connu sous le nom de contrôle de parité.
- Il dispose d'un mécanisme rentable de détection des erreurs.
- Dans cette technique, le bit redondant est appelé bit de parité. Il est ajouté pour chaque unité de données. Le nombre total de 1 dans l'unité doit devenir pair, ce qui est connu sous le nom de bit de parité.
Vérification de la redondance longitudinale
Dans cette technique de détection d'erreur, un bloc de bits est organisé au format tabulaire. La méthode LRC vous aide à calculer le bit de parité pour chaque colonne. L'ensemble de cette parité est également envoyé avec les données d'origine. Le bloc de parité vous aide à vérifier la redondance.
Contrôle de redondance cyclique
Le contrôle de redondance cyclique est une séquence de redondance qui doit être ajoutée à la fin de l'unité. C'est pourquoi l'unité de données résultante doit devenir divisible par un deuxième nombre binaire prédéterminé.
À la destination, les données entrantes doivent être divisées par le même nombre. Dans le cas où il n'y a pas de reste, alors l'unité de données est supposée être correcte et est acceptée. Sinon, cela indique que l'unité de données est endommagée lors de la transmission et qu'elle doit donc être rejetée.
Qu'est-ce qu'un code Hamming?
Le code de Hamming est un code de ligne utile pour la détection d'erreurs jusqu'à deux erreurs de bits immédiates. Il est capable d'erreurs sur un seul bit.
Dans le code Hamming, la source code le message en ajoutant des bits redondants dans le message. Ces bits redondants sont principalement insérés et générés à certaines positions dans le message pour accomplir le processus de détection et de correction d'erreur.
Histoire du code de Hamming
- Le code de Hamming est une technique créée par RWHamming pour détecter les erreurs.
- Le code de Hamming doit être appliqué aux unités de données de n'importe quelle longueur et utilise la relation entre les données et les bits de redondance.
- Il a travaillé sur le problème de la méthode de correction d'erreurs et a développé un tableau de plus en plus puissant d'algorithmes appelé code de Hamming.
- En 1950, il publie le Hamming Code, largement utilisé aujourd'hui dans des applications comme la mémoire ECC.
Application du code de Hamming
Voici quelques applications courantes de l'utilisation du code Hemming:
- Satellites
- Mémoire d'ordinateur
- Modems
- PlasmaCAM
- Connecteurs ouverts
- Fil de blindage
- Processeur intégré
Avantages du code Hamming
- La méthode du code de Hamming est efficace sur les réseaux où les flux de données sont donnés pour les erreurs sur un seul bit.
- Le code de Hamming fournit non seulement la détection d'une erreur de bit, mais vous aide également à indenter le bit contenant une erreur afin qu'elle puisse être corrigée.
- La facilité d'utilisation des codes de martelage les rend les mieux adaptés à une utilisation dans la mémoire de l'ordinateur et à la correction d'erreur unique.
Inconvénients du code Hamming
- Code de détection et de correction d'erreur sur un seul bit. Cependant, si plusieurs bits sont fondés en erreur, alors le résultat peut entraîner un autre bit qui devrait être correct pour être modifié. Cela peut entraîner des erreurs supplémentaires dans les données.
- L'algorithme de code de Hamming ne peut résoudre que les problèmes de bits uniques.
Processus d'encodage d'un message à l'aide du code Hamming
Le processus utilisé par l'expéditeur pour coder le message comprend les trois étapes suivantes:
- Calcul du nombre total de bits redondants.
- Vérification de la position des bits redondants.
- Enfin, calculer les valeurs de ces bits redondants.
Lorsque les bits redondants ci-dessus sont incorporés dans le message, il est envoyé à l'utilisateur.
Étape 1) Calcul du nombre total de bits redondants.
Supposons que le message contienne:
- n - nombre de bits de données
- p - nombre de bits redondants qui lui sont ajoutés pour que np puisse indiquer au moins (n + p + 1) différents états.
Ici, (n + p) représente l'emplacement d'une erreur dans chacune des (n + p) positions de bit et un état supplémentaire indique qu'il n'y a pas d'erreur. Comme p bits peuvent indiquer 2 p états, 2 p doit être au moins égal à (n + p + 1).
Étape 2) Placer les bits redondants dans leur position correcte.
Les p bits redondants doivent être placés à des positions binaires de puissances de 2. Par exemple, 1, 2, 4, 8, 16, etc. Ils sont appelés p 1 (en position 1), p 2 (en position 2) , p 3 (en position 4), etc.
Étape 3) Calcul des valeurs du bit redondant.
Les bits redondants doivent être des bits de parité rendant le nombre de 1 pair ou impair.
Les deux types de parité sont -
- Le nombre total de bits dans le message est rendu pair est appelé parité paire.
- Le nombre total de bits dans le message est rendu impair est appelé parité impaire.
Ici, tout le bit redondant, p1, doit être calculé comme la parité. Il doit couvrir toutes les positions de bits dont la représentation binaire doit inclure un 1 en 1ère position à l'exclusion de la position de p1.
P1 est le bit de parité pour tous les bits de données dans les positions dont la représentation binaire comprend un 1 dans la position la moins importante n'incluant pas 1 Like (3, 5, 7, 9,
…. )P2 est le bit de parité pour tous les bits de données dans les positions dont la représentation binaire comprend 1 dans la position 2 à partir de la droite, non compris 2 Like (3, 6, 7, 10, 11,
…)P3 est le bit de parité pour chaque bit dans les positions dont la représentation binaire comprend un 1 dans la position 3 à partir de la droite ne pas inclure 4 Comme (5-7, 12-15,
…)Processus de déchiffrement d'un message en code Hamming
Le récepteur reçoit les messages entrants qui nécessitent d'effectuer des recalculs pour trouver et corriger les erreurs.
Le processus de recalcul effectué dans les étapes suivantes:
- Comptage du nombre de bits redondants.
- Positionnement correct de tous les bits redondants.
- Contrôle de parité
Étape 1) Comptage du nombre de bits redondants
Vous pouvez utiliser la même formule pour l'encodage, le nombre de bits redondants
2 p ≥ n + p + 1
Ici, le nombre de bits de données et p est le nombre de bits redondants.
Étape 2) Positionnement correct de tous les bits redondants
Ici, p est un bit redondant qui est situé à des positions binaires de puissances de 2, par exemple, 1, 2, 4, 8, etc.
Étape 3) Contrôle de parité
Les bits de parité doivent être calculés sur la base des bits de données et des bits redondants.
p1 = parité (1, 3, 5, 7, 9, 11
…)p2 = parité (2, 3, 6, 7, 10, 11
…)p3 = parité (4-7, 12-15, 20-23
…)Résumé
- Les données transmises peuvent être corrompues pendant la communication
- Les trois types d'erreur sur les bits sont 1) les erreurs sur un seul bit 2) les erreurs sur plusieurs bits 3) les erreurs sur les bits en rafale
- La modification effectuée en un bit dans toute la séquence de données est appelée «erreur sur un seul bit».
- Dans la séquence de données, s'il y a un changement dans deux bits ou plus d'une séquence de données d'un émetteur à un récepteur, on parle d'erreurs sur plusieurs bits.
- Le changement de l'ensemble de bits dans la séquence de données est appelé «erreur de rafale».
- La détection d'erreur est une méthode de détection des erreurs présentes dans les données transmises d'un émetteur à un récepteur dans un système de communication de données.
- Trois types de codes de détection d'erreur sont 1) Contrôle de parité 2) Contrôle de redondance cyclique (CRC) 3) Contrôle de redondance longitudinale (LRC)
- Le code de Hamming est un code de ligne utile pour la détection d'erreurs jusqu'à deux erreurs de bits immédiates. Il est capable d'erreurs sur un seul bit.
- Le code de Hamming est une technique créée par RWHamming pour détecter les erreurs.
- Les applications courantes de l'utilisation du code Hemming sont la mémoire d'ordinateur des satellites, les modems, le processeur intégré, etc.
- Le plus grand avantage de la méthode du code de martelage est efficace sur les réseaux où les flux de données sont donnés pour les erreurs sur un seul bit.
- Le plus gros inconvénient de la méthode du code de martelage est qu'elle ne peut résoudre que les problèmes de bits uniques.
- Nous pouvons effectuer le processus de cryptage et de décodage du message à l'aide du code martelé.