Le codage de canal est une technique utilisée dans les communications numériques afin d'assurer une transmission est reçue avec un minimum d'erreurs ou pas. Les différentes méthodes de codage qui peuvent être employées sont atteints par imbrication chiffres binaires supplémentaires dans la transmission. Lorsque décodé sur l'extrémité de réception, la transmission peut être vérifiée pour les erreurs qui ont pu se produire et, dans de nombreux cas, réparé. D'autres fois, le destinataire demande simplement à la transmission à nouveau.
L'idée derrière le codage de canal a été développée grâce à l'existence inévitable d'erreurs sur un type donné de canal de communication. Les ondes radio, des signaux électriques, et des ondes de lumière, même sur des voies à fibre optique auront une certaine quantité de bruit sur le support, ainsi que la dégradation du signal qui se produit sur une certaine distance. Être un problème commun dans les communications, de nombreuses théories sur la façon de traiter avec elle ont mis au point sous les branches des mathématiques appliquées, comme la théorie de l'information et de la théorie du codage.
Une méthode couramment utilisée est appelée demande de répétition automatique (ARQ), qui consiste simplement à vérifier le destinataire de la transmission d'erreurs et de demander la retransmission doit tout produire. Ceci est parfois désigné comme la correction d'erreurs vers l'arrière.
Le codage de canal, d'autre part, est une technique de correction d'erreurs sans voie de retour (FEC). L'expéditeur prépare les bits pour la transmission en utilisant un algorithme spécial appelé un code correcteur d'erreurs, et est ensuite décodé sur l'extrémité de réception. Les deux méthodes sont aussi souvent utilisées de manière hybride, permettant de petites erreurs dans la transmission d'être réparé avec un code de canal, avec des erreurs majeures nécessitant une retransmission intégrale.
La première technique de codage de canal a été créée par un mathématicien nommé Richard Hamming, qui a développé ce qu'on appelle le code de Hamming. Il s'agissait du premier code de correction d'erreur vers l'avant, ce qui entraîne l'inscription de chiffres binaires supplémentaires dans la transmission que l'on appelle des bits de parité. Un calcul intelligent des bits de parité sur l'extrémité de réception de la transmission va révéler si des erreurs se sont produites dans la transmission, où qu'ils soient dans la chaîne de bits, et comment les réparer afin de récupérer la transmission originale.
Le code de Hamming entre dans la famille des méthodes de codage de canal appelé codes de blocs, dont beaucoup ont été développés au fil des ans. Les codes en bloc impliquent généralement les bits étant recueillies dans des blocs de longueur fixe, qui sont alors désignés comme des mots de code. Chaque mot de code est donné les bits de vérification appropriés pour le décodage par le destinataire. Modes de code de bloc tendent à augmenter la taille de la transmission due à des bits supplémentaires dans le mot de code, qui peuvent avoir un effet sur la bande passante du canal.
Un autre canal méthode de codage est connu comme un code de convolution. Ces méthodes sont beaucoup plus rapides et peuvent encoder un flux binaire de n'importe quelle longueur. Un code couramment utilisée de ce type est appelé le code Viterbi, créé par le mathématicien italien Andrew Viterbi. L'inconvénient de cette méthode est que la longueur du code de convolution augmente, plus sa complexité lors du décodage. Dans de nombreux cas, des codes de convolution sont utilisés en combinaison avec des codes de blocs dans ce qui est connu sous le nom de codes de correction d'erreur concaténés.