Code pliant – Wikipedia

before-content-x4

Codes de pliage (aussi Convolutions ou code ; Engl. Code convolutionnel ) – Un concept de théorie du codage – ainsi que des codes de blocs, sont utilisés dans la technologie d’actualités pour le codage des égouts car ils offrent une correction d’erreur à terme. La redondance apportée est obtenue par une protection plus élevée contre les erreurs de transmission ou de stockage. Le processus mathématique éponyme de pliage (également appelé convolution) distribue le contenu des informations des positions individuelles de données utilisateur sur plusieurs endroits du mot de code.

after-content-x4

Les codes de pliage n’ont rien à voir avec le pliage du code de sondage similaire.

Les codes de pliage sont utilisés, par exemple, dans les communications mobiles et les transmissions par satellite pour la transmission des données numériques. Mais vous postulez également aux supports de stockage tels que les disques durs et y servez pour protéger contre les erreurs de lecture. Une combinaison de codage pliant et de modulation numérique est la modulation codée en treillis.

En règle générale, un codeur pliant forme le côté d’entrée k Bits d’information (bits de données utilisateur) sur un n Mordre un long mot de code, par lequel k moins que n est. Les mots de code sérivants dépendent les uns des autres, c’est-à-dire H. Contrairement aux codes de blocs, un codeur pliant a une “mémoire” intérieure. Cependant, comme dans la pratique, cependant, de longues séquences de données ne peuvent être traitées que, ces séquences sont limitées à un certain nombre de mots de code. Après cela, le codeur pliant est ramené dans un état défini par planification, qui est généralement la même que l’état de départ. Par conséquent, les codes de pliage habituels peuvent également être décrits comme une forme de codes de blocs non systéatiques spéciaux.

Dans le cas des codes de pliage, les informations qu’une base de données utilisables spécifiques porte est distribuée sur plusieurs endroits (bits) du mot de code. La distribution du contenu de l’information – cela peut également être imaginé comme une sorte de “maculage” sur les bits individuels du mot de code – est obtenu par la fonction mathématique du pliage. Cela crée des dépendances entre les baises de code individuelles. Si les lieux individuels du mot de code sont falsifiés par des erreurs, bien que le nombre d’erreurs par mot de code ne puisse pas dépasser une certaine limite supérieure, le décodeur de pliage peut déterminer les conséquences des données d’utilisation correctes des zones du code adjacentes au point d’erreur du code.

Une particularité essentielle des codes de pliage est qu’il n’y a pas de processus systématique bien connu pour leur construction. Les codes de pliage sont principalement obtenus en calculant des simulations et en essayant de très nombreuses structures de pliage différentes ou par des découvertes accidentelles. La majorité des structures éprouvées offrent ainsi codes de pliage catastrophique Cela ne corrige pas certaines erreurs de transmission, mais les remplacez par une conséquence théoriquement infiniment longue des erreurs. Par conséquent, il existe très peu de codes de pliage pertinents et utilisables par rapport aux codes de bloc. Pour le décodage des codes de pliage au moyen de So-called Décision douce Procédures très puissantes sous la forme de l’algorithme Viterbi connu.

Structure d’un codeur pliant non recursif avec r c = 1/2

after-content-x4
Codeur pliant récursif avec une rétroaction

Un codeur pliant peut être décrit par un Sliefer dans lequel les données utilisateur peuvent être poussées en série et une structure combinatoire de connexions XOR logiques qui forment le mot de code côté sortie. Une distinction est faite entre deux structures essentielles:

  1. Codeur pliant non réécursif
  2. Codeur pliant récursif

Les codeurs pliants récursifs ont des points de rétroaction internes qui peuvent entraîner une sortie infiniment longue. Les structures de pliage récursives peuvent être systématiquement obtenues à partir des structures de pliage non ré-cernes. Ces encodeurs sont dans la littérature en tant qu’encodeur RSC ( Révolutionnal systématique récursif -Coder).

La subdivision est également motivée comme avec les filtres numériques avec une réponse à l’impulsion finie (FIR) avec une structure non réécursive ou les filtres avec une réponse d’impulsion infinie (IIR) avec une structure récursive. Cependant, en plus des similitudes approximatives dans la structure, les codeurs pliants n’ont rien à voir avec les filtres numériques en particulier.

Paramètre [ Modifier | Modifier le texte source ]]

La structure d’un codeur pliant entraîne la durée de l’influence ou des réglementations de mémoire L c . Il décrit le nombre de barres qu’un bit d’entrée (utilisateur Databit) doit passer par tous les lieux du registre des Slief et a donc une influence de données utilisables spécifiques sur le mot de code de la sortie. Dans le cas de codes de pliage non réécursifs, il correspond au nombre d’éléments de mémoire du codeur de pliage.

Un autre paramètre d’un code pliant est son code R c . Il donne le rapport du nombre complet k les bits d’information entrants au nombre complet n Les CodeBits ont généré le côté de sortie:

R c est toujours plus petit. 1. Le nombre peut k Le bit d’information basé sur l’entrée est également supérieur à 1. Dans ce cas, plusieurs bits de données utilisables sont envoyés parallèles au codeur par horloge. Les initiales qui sont également prises en parallèle n CodeBits est converti en un flux de données série avec une fréquence d’horloge plus élevée en conséquence par un multiplexeur.

Avec certains codes de pliage, les données utilisateur basées sur l’entrée individuelles peuvent également être attribuées directement au codage codage déterminé sans codage de pliage. Dans ce cas, on parle de codes de pliage asymétriques. Ces méthodes sont utilisées comme composant essentiel, par exemple, dans la modulation codée en treillis. D’un autre côté, tous les bits de données utilisateur appartiendront à leurs propres Sliefs de la mémoire L c attribué, on parle de codes de pliage symétriques.

Planification [ Modifier | Modifier le texte source ]]

Dans les applications pratiques, seules les séquences de données utilisateur avec une longueur finie sont importantes. Cela fait une résiliation si appelée (anglais: Résiliation ) la séquence nécessaire. Ceci fait référence au retour de l’encodeur à un état final défini. S’il n’y a pas d’horaire à la fin de la séquence de données utilisateur, cela a un impact significatif sur la capacité de correction dans le décodage. Si le décodeur n’est pas connu de l’état final d’une séquence, il ne peut estimer que les derniers bits d’information, ce qui entraîne une probabilité accrue d’erreur. Est l’état final et la longueur de séquence N D’un autre côté, connu et convenu entre l’encodeur et le décodeur, les derniers lieux d’une séquence de données utilisateur du côté décodeur peuvent être déterminés en toute sécurité.

Dans le cas de codes de pliage non réécursifs, une séquence de logique- 0 Bits attachés. Ce fait tellement Queue Retourne l’encodeur dans un état final défini, l’état zéro So-appelé, qui est également connu du décodeur. En raison de ces horaires supplémentaires à la fin, cependant, la séquence de données utilisateur est étendue et le code est réduit à la valeur:

Dans le cas des codes de pliage récursifs, le Queue à partir des données utilisateur précédentes.

Représentation graphique [ Modifier | Modifier le texte source ]]

Diagramme de transfert d’état d’un code de pliage non réécursif avec deux sauvegardes

Diagramme en treillis avec quatre conditions sur cinq fois; Le rouge est un moyen possible de prendre une décision

Un codeur pliant peut être interprété comme une machine finie au moyen d’un diagramme de transition d’état, car il est montré dans l’illustration adjacente pour deux mémoire avec quatre états. Le nombre de conditions entraîne généralement le nombre de code binaire du nombre Avec La mémoire d’état de 2 Avec .

L’inconvénient de la forme de représentation au moyen du diagramme de transition de l’État est le manque de temps. Ce manque de temps dans le décodage en série peut être visualisé par un diagramme en treillis (treillis pour faire court). Un diagramme de treillis est la représentation d’un diagramme de transition d’état qui est “enroulé” via la chronologie. Dans le cadre du diagramme du treillis, les processus de décodage des codes de pliage avec l’algorithme Viterbi peuvent également être clairement affichés: les transitions individuelles sont attribuées aux différentes valeurs de probabilité différentes, ce qui signifie qu’en soi, un seul chemin dans le treillis constitue généralement clairement la plus faible erreur de somme sur tous les autres trajectoires. Les symboles attribués à ce chemin sont ensuite considérés par le décodeur comme les symboles envoyés les plus susceptibles et les bits d’information attribués pour un traitement ultérieur (MlSE = estimation de séquence de vraisemblance maximale).

Dans le cas de codes de pliage avec une longueur d’influence élevée, le nombre de conditions dans le diagramme du treillis augmente et cette représentation, y compris les bords de transition, devient rapidement déroutante. Le diagramme du treillis est donc utilisé pour présenter le processus de décodage en utilisant un algorithme Viterbi avec des codes de repliement exemplaires avec une faible longueur d’influence.

Décodage [ Modifier | Modifier le texte source ]]

En règle générale, le décodeur Viterbi est utilisé pour le décodage des codes de pliage. Comme mentionné, cette procédure est basée sur la présentation en treillis du code et détermine les données utilisateur ou la séquence de code les plus probables pour un code perturbé. Le décodeur Viterbi peut non seulement traiter le binaire, mais aussi des séquences d’entrée continues. On parle alors de Dur- ou. Décision douce -Décodage. En général, les décodeurs de décision souple pour les codes de pliage sont plus faciles à implémenter que le cas avec les codes de bloc.

Le décodeur de Viterbi classique dépense des séquences binaires, il est important que différentes applications connaissent non seulement les bits décodés individuels, mais aussi leur fiabilité. La génération de cette fiabilité peut être utilisée, par exemple, à l’aide d’un décodeur Viterbi modifié, le soi-disant Soft-Output-Viterbi-Algorithmus (Sova), ou l’algorithme MAP / BCJR.

Pour les codes avec de très grandes réglementations de mémoire, le treillis devient très complexe et un décodage basé sur des treillis à l’aide de décodeurs Viterbi. Dans ce cas, des décodeurs sous-optimaux alternativement séquentiels peuvent être utilisés, qui fonctionnent sur la représentation de l’arborescence de code.

Crevaison [ Modifier | Modifier le texte source ]]

Dans le cas des codes pliants, un certain code peut être spécifiquement utilisé par une perforation ainsi appelée du mot de code R c choisir. Pendant la ponction, certaines positions de bit du mot de code sont omises (“pointillées”) et augmentent ainsi le code. Le décodeur doit savoir ce schéma de ponction ainsi, pris en compte lors du décodage.

La raison de la ponction est d’interférer avec les longueurs de code pour une certaine longueur de trame pour la transmission de données ultérieure ou le stockage de données. Cependant, en omettant des lieux individuels du mot de code, les performances de correction sont également réduites.

extension [ Modifier | Modifier le texte source ]]

L’expansion est des codes de pliage luttant. Plusieurs codes de pliage différents ou mêmes sont enchaînés en série ou parallèles. La chaîne des codes individuels a lieu en utilisant une fonction comme Entrepôt est appelé et permet même la distribution des erreurs aux différents codes et entraîne une sorte de découplage des sous-codes. Cela signifie qu’un gain de code plus grand peut être atteint que la somme des codes de pliage individuels en soi.

Les codes turbo sont une forme spéciale de paramètre de code. Un sous-groupe de codes turbo, le soi-disant Codes de turbo-convolutionnels (TCC), sont basés sur des codes de pliage systématiques récursifs. Les codes de pliage non récursifs n’ont pas la même amélioration du gain de code dans le TCC.

  • Martin Bossert: Codage des égouts (= Informatique ). 2. Édition entièrement traitée et élargie. B. G. Teubner, Stuttgart 1998, ISBN 3-519-16143-5.
  • Karl-Dirk Kammeyer, Volker Kühn: Matlab dans la technologie des nouvelles . J. Schlembach Fachverlag en raison de la ville en 2001, ISBN 3-935340-05-2.
  • Todd K. Moon: Codage de correction d’erreur. Méthodes et algorithmes mathématiques . Wiley-Interscience, Hoboken NJ 2005, ISBN 0-471-64800-0.
after-content-x4