Qu'est-ce que le codage de canal?

December 11

Le terme "codage de canal", décrit une de plusieurs techniques pour contrôler les erreurs dans les systèmes de communication. Si un système de communication des données sorties avec trop d'erreurs, le codage de canal permet un taux d'erreur réduit pour un taux fixe de transfert de données ou une augmentation du taux de transfert de données pour un taux d'erreur fixe.

Objectif

L'objectif général de codage de canal est de transmettre autant de données que possible dans le peu de capacité de transmission, ou de bande passante, d'un système de communication que possible, tout en conservant la qualité de transmission acceptable. Dans les communications numériques, de la qualité de transmission est déterminée par le taux d'erreur binaire - le pourcentage de bits qui comportent des erreurs, par rapport au nombre total de bits reçus - au niveau du récepteur. Le récepteur détecte si chaque élément d'une transmission, connue sous le nom d'un mot de code, contient des erreurs et, idéalement, corrige ces erreurs.

ARQ par rapport FEC

Les deux principales méthodes de contrôle d'erreur sont Demande de répétition automatique (ARQ) et Forward Error Correction (FEC). Dans ARQ, quand un circuit récepteur détecte des erreurs dans un bloc de données, il demande que les données sont retransmis, alors que dans FEC, les données sont codées de telle sorte que le récepteur peut corriger ainsi que de détecter les erreurs. L'idée clé de la FEC est de transmettre suffisamment en double ou des données redondantes pour permettre au récepteur de récupérer des erreurs sur son propre. ARQ est relativement peu coûteux à mettre en œuvre et est souvent préféré pour une transmission simultanée indépendante des données dans les deux sens sur un canal bidirectionnel, connu sous le nom de communication full-duplex. FEC, d'autre part, est utilisé pour semi-duplex (à sens unique) communication.

Codes de bloc

Les deux principaux types de code de canal sont appelés «codes de bloc" et "codes de convolution." Pour créer un code de bloc, les données sont divisées en blocs dont la longueur, en bits, est représenté par la lettre "k" et un certain nombre de parité ou de bits de contrôle, représenté par une lettre «r» est ajouté à chaque bloc. Le résultat final est un mot de code d'une longueur totale de bits "n", où n = k + r. Les codes en bloc impliquent généralement un compromis entre l'efficacité, la fiabilité et la complexité des données de codage et de décodage.

codes convolutifs

La création d'un code de convolution implique codant pour un flux de données plutôt que des blocs de données. La séquence de bits dans un code convolutionnel dépend non seulement des bits de données actuelles, mais également sur les bits de données précédents. codes convolutifs sont généralement décodés par un ensemble de règles, appelé l'algorithme de Viterbi, et sont particulièrement bien adapté aux canaux de communication corrompus par le bruit correspondant à un modèle mathématique connu comme bruit blanc gaussien additif (AWGN).