El objetivo general de la codificación de canal es transmitir datos como sea posible en el menor capacidad de transmisión , o ancho de banda , de un sistema de comunicación como sea posible , manteniendo al mismo tiempo la calidad de transmisión aceptable. En las comunicaciones digitales, la calidad de transmisión se determina por la tasa de error de bit - el porcentaje de bits que tienen errores , en relación con el número total de bits recibidos - en el receptor. El receptor detecta si cada elemento de una transmisión, conocida como una palabra clave , contiene errores y , a ser posible , corrige los errores .
ARQ frente FEC
Los dos principales métodos de control de errores son Solicitud de repetición automática ( ARQ ) y Forward Error Correction ( FEC ) . En ARQ , cuando un circuito receptor detecta errores en un bloque de datos, se solicita que los datos se vuelve a transmitir, mientras que en FEC , los datos se codifican de manera que el receptor puede corregir , así como detectar errores . La idea clave de FEC es suficiente para transmitir datos duplicados o redundantes para permitir que el receptor para recuperarse de errores en su propio . ARQ es relativamente barato de implementar y a menudo se prefiere para la transmisión simultánea , independiente de los datos en ambas direcciones a través de un canal de dos vías , conocido como la comunicación de dúplex completo . FEC , por otro lado , se utiliza para half-duplex ( ida o vuelta) comunicación.
Códigos de bloque
Los dos tipos principales de código de canal son conocidos como " códigos de bloque " y " códigos convolucionales . " Para crear un código de bloque , los datos se dividen en bloques cuya longitud , en bits , es representado por la letra " k " y un número de bits de paridad o cheque , representado por la letra " r ", se añade a cada bloque . El resultado final es una palabra en clave con una longitud total de bits "n ", donde n = k + r . Códigos de bloque típicamente implican un trade-off entre eficiencia , fiabilidad y la complejidad de la codificación y decodificación de datos.
Códigos convolucionales
La creación de un código de convolución implica que codifica una corriente de datos en lugar de bloques de datos. La secuencia de bits en un código convolucional no sólo depende de los bits actuales de los datos , sino también en los bits de los datos anteriores . Los códigos convolucionales son típicamente decodificados por un conjunto de reglas , llamado el algoritmo de Viterbi , y son particularmente bien adaptado a los canales de comunicación corrompidos por ruido correspondientes a un modelo matemático conocido como ruido gaussiano blanco aditivo ( AWGN ) .