Communication numérique - Codage de contrôle d'erreur

Le bruit ou l'erreur est le principal problème du signal, ce qui perturbe la fiabilité du système de communication. Error control codingest la procédure de codage effectuée pour contrôler les occurrences d'erreurs. Ces techniques aident à la détection des erreurs et à la correction des erreurs.

Il existe de nombreux codes de correction d'erreurs différents en fonction des principes mathématiques qui leur sont appliqués. Mais, historiquement, ces codes ont été classés enLinear block codes et Convolution codes.

Codes de blocs linéaires

Dans les codes de blocs linéaires, les bits de parité et les bits de message ont une combinaison linéaire, ce qui signifie que le mot de code résultant est la combinaison linéaire de deux mots de code quelconques.

Considérons quelques blocs de données, qui contiennent kbits dans chaque bloc. Ces bits sont mappés avec les blocs qui ontnbits dans chaque bloc. Icin est supérieur à k. L'émetteur ajoute des bits redondants qui sont(n-k)morceaux. Le rapportk/n est le code rate. Il est désigné parr et la valeur de r est r < 1.

le (n-k) bits ajoutés ici, sont parity bits. Les bits de parité aident à la détection et à la correction des erreurs, ainsi qu'à la localisation des données. Dans les données transmises, les bits les plus à gauche du mot de code correspondent aux bits de message, et les bits les plus à droite du mot de code correspondent aux bits de parité.

Code systématique

Tout code de bloc linéaire peut être un code systématique, jusqu'à ce qu'il soit modifié. Par conséquent, un code de bloc non modifié est appelésystematic code.

Voici la représentation du structure of code word, selon leur répartition.

Si le message n'est pas modifié, alors il est appelé comme code systématique. Cela signifie que le cryptage des données ne doit pas changer les données.

Codes de convolution

Jusqu'à présent, dans les codes linéaires, nous avons discuté du fait que le code systématique non modifié est préféré. Ici, les données du totaln bits si transmis, k les bits sont des bits de message et (n-k) les bits sont des bits de parité.

Dans le processus de codage, les bits de parité sont soustraits de l'ensemble des données et les bits de message sont codés. Maintenant, les bits de parité sont à nouveau ajoutés et toutes les données sont à nouveau codées.

La figure suivante cite un exemple de blocs de données et de flux de données, utilisés pour la transmission d'informations.

L'ensemble du processus, indiqué ci-dessus, est fastidieux et présente des inconvénients. L'allocation de tampon est ici un problème majeur, lorsque le système est occupé.

Cet inconvénient est éliminé dans les codes de convolution. Où tout le flux de données reçoit des symboles puis est transmis. Comme les données sont un flux de bits, il n'y a pas besoin de tampon pour le stockage.

Codes de hamming

La propriété de linéarité du mot de code est que la somme de deux mots de code est également un mot de code. Les codes de Hamming sont le type delinear error correcting codes, qui peuvent détecter jusqu'à deux erreurs de bit ou ils peuvent corriger des erreurs d'un bit sans détection d'erreurs non corrigées.

Lors de l'utilisation des codes de martelage, des bits de parité supplémentaires sont utilisés pour identifier une erreur d'un seul bit. Pour passer d'un motif d'un bit à l'autre, quelques bits doivent être modifiés dans les données. Un tel nombre de bits peut être appeléHamming distance. Si la parité a une distance de 2, un basculement d'un bit peut être détecté. Mais cela ne peut pas être corrigé. De plus, aucun retournement de deux bits ne peut être détecté.

Cependant, le code de Hamming est une meilleure procédure que celles discutées précédemment dans la détection et la correction d'erreur.

Codes BCH

Les codes BCH sont nommés d'après les inventeurs Bose, Chaudari et Hocquenghem. Pendant la conception du code BCH, il y a un contrôle sur le nombre de symboles à corriger et par conséquent une correction de bits multiples est possible. Les codes BCH sont une technique puissante dans les codes de correction d'erreur.

Pour tous les nombres entiers positifs m ≥ 3 et t < 2m-1il existe un code binaire BCH. Voici les paramètres d'un tel code.

Longueur de bloc n = 2m-1

Nombre de chiffres de contrôle de parité n - k ≤ mt

Distance minimale dmin ≥ 2t + 1

Ce code peut être appelé t-error-correcting BCH code.

Codes cycliques

La propriété cyclique des mots de code est que tout décalage cyclique d'un mot de code est également un mot de code. Les codes cycliques suivent cette propriété cyclique.

Pour un code linéaire C, si chaque mot de code ie, C = (C1, C2, ...... Cn)à partir de C a un décalage cyclique à droite des composants, il devient un mot de code. Ce décalage de droite est égal àn-1décalages cycliques à gauche. Par conséquent, il est invariant quel que soit le changement. Donc, le code linéaireC, comme il est invariant sous n'importe quel décalage, peut être appelé comme un Cyclic code.

Les codes cycliques sont utilisés pour la correction des erreurs. Ils sont principalement utilisés pour corriger les erreurs doubles et les erreurs de rafale.

Par conséquent, ce sont quelques codes de correction d'erreur, qui doivent être détectés au niveau du récepteur. Ces codes empêchent les erreurs de s'introduire et perturbent la communication. Ils empêchent également le signal d'être capté par des récepteurs indésirables. Il existe une classe de techniques de signalisation pour y parvenir, qui sont discutées dans le chapitre suivant.