Series Exercices Utilité de la détection d'erreurs et les Codes de contrôle d'erreurs à parités

Exercice 1 : Utilité de la détection d'erreurs

Sur une liaison hertzienne urbaine à 1200 bit/s, on envoie des messages de 64 bits. La fréquence d'émission est de 12 messages/seconde.

Question 1 :

Calculer le taux d'utilisation de la liaison.

La l iaison étant de mauvaise qualité, le taux d'erreur par bit (noté p) est compris entre 0,01 et 0,001. 
p réprésente la probabilité qu'un bit soit mal reçu.

Question 2 :

Calculer en fonction de p la probabilité qu'un message soit mal reçu.
On suppose que les altérations des bits sont indépendantes.
On suppose que l'émetteur sait quand un message est mal reçu et qu'il le retransmet.

Question 3 :

Calculer en fonction de p le nombre moyen de transmissions. Est-il possible de
respecter (en négligeant le temps écoulé e ntre 2 retransmissions) la fréquence
d'émission de 12 messages/seconde ?

Exercice 2 : Codes de contrôle d'erreurs à parités

Lorsque l'on ajoute un bit de parité à un caractère 7 bits pour en faire un caractère 8 bits on ajoute un contrôle d’erreur qui est dit à parité verticale (en anglais VRC pour 'Vertical Redundancy Check'). On parle aussi parfois de parité transversale.  

Question 1:

Rappelez la définition de la parité.

Question 2 :

Pour caractériser les codes de contrôle d'erreur on utilise la distance  de Hamming.
Rappelez la définition de la distance de Hamming? Qu'est ce que  la distance d'un code?

Question 3 :


Pour des caractères 7 bits, le fait d'ajouter une parité verticale à chaque
caractère, permet de définir le code de contrôle d'erreurs à parité  verticale. 
Quelle est la distance de ce code? 

Indications : Pour déterminer cette distance vous considérerez une information de base à transmettre qui est ici un caractère sans sa parité (par exemple le caractère B en ASCII 7 bits 1000001).  Vous prendrez  un caractère voisin obtenu en modifiant un seul bit parmi les 7 bits du caractère. Vous en déduirez par le nombre de bits modifiés dans le mot du code à parité (à 8 bits) une indication sur la distance de ce code. Si possible vous chercherez à démontrer que la distance proposée est bien la bonne dans tous les cas.

Question 4 :

On considère un code quelconque ayant comme propriété que sa distance est D.
Combien d'erreurs ce code permet-il de détecter ? Combien d'erreurs permet-il de corriger ? Application numérique aux propriétés de détection d'erreurs et de corrections d'erreurs du code à parité verticale dont vous avez déterminé la distance à la question précédente.

Pour une suite de caractères ASCII avec parité verticale on ajoute souvent, pour renforcer la qualité d’un code basé sur le contrôle de parité, un octet supplémentaire dont chaque bit est la parité de la chaîne de bits dans le message de même position. On parle alors de parité longitudinale (en anglais LRC pour Longitudinal Redundancy Check). Par exemple pour la suite de caractères ‘BONJOUR!’ les parités verticales et longitudinales sont notées respectivement dans l’exemple qui suit par des bits x et y. La parité longitudinale des parités verticales est notée z. On l’appelle quelquefois la parité croisée. C’est aussi la parité verticale des parités longitudinales.




Le fait d'ajouter les deux parités à une suite de caractères 7 bits (une parité verticale et une parité longitudinale) permet de définir un autre code de contrôle d'erreurs sur le message constitué d’une suite de caractères 7 bits. 

Question 5:

Quelle est la distance de ce code ? 

Indication : pour déterminer cette distance vous considérerez l'un des caractères avec sa parité (comme le caractère B en ASCII). Vous modifierez un seul bit parmi les 7 bits du caractère et vous en déduirez par le nombre de bits modifiés dans tout le message (sur les parités) ce qui vous donnera une hypothèse sur la distance du code. Vous chercherez à montrer dans tous les cas que cette distance est la bonne.

Question 6 :

Pour un code avec parité verticale et longitudinale, combien d'erreurs peuvent être détectées, combien d'erreurs peuvent être corrigées?

Question 7 :

Pour un code avec parité verticale et longitudinale expliquez concrètement comment les résultats de la question précédente s’interprètent. 

Indications : comment peut-on détecter le nombre d’erreurs que vous avez indiqué et corriger le nombre d’erreurs que vous avez indiqué.

                    

Article plus récent Article plus ancien

Leave a Reply