Skip to main content

¿Qué es la codificación de canales?

La codificación de canales es una técnica utilizada en las comunicaciones digitales para garantizar que se reciba una transmisión con un mínimo o ningún error. Los diversos métodos de codificación que pueden emplearse se logran entrelazando dígitos binarios adicionales en la transmisión. Cuando se decodifica en el extremo receptor, la transmisión puede verificarse en busca de errores que puedan haber ocurrido y, en muchos casos, repararse. Otras veces, el destinatario simplemente solicita la transmisión nuevamente.

La idea detrás de la codificación del canal se desarrolló debido a la existencia inevitable de errores en cualquier tipo de canal de comunicación. Las ondas de radio, las señales eléctricas e incluso las ondas de luz sobre los canales de fibra óptica tendrán cierta cantidad de ruido en el medio, así como la degradación de la señal que se produce a cierta distancia. Al ser un problema tan común en las comunicaciones, se han desarrollado numerosas teorías sobre cómo tratarlo en las ramas de las matemáticas aplicadas, como la teoría de la información y la teoría de la codificación.

Un método comúnmente utilizado se llama solicitud de repetición automática (ARQ), que simplemente implica que el destinatario verifique la transmisión en busca de errores y solicite la retransmisión en caso de que ocurra. Esto a veces se conoce como corrección de errores hacia atrás. La codificación de canales, por otro lado, es una técnica de corrección de errores hacia adelante (FEC). El emisor prepara los bits para la transmisión utilizando un algoritmo especial conocido como código de corrección de errores, que luego se decodifica en el extremo receptor. Ambos métodos también se usan a menudo de manera híbrida, lo que permite reparar pequeños errores en la transmisión con un código de canal, y los errores mayores requieren una retransmisión completa.

La primera técnica de codificación de canal fue creada por un matemático llamado Richard Hamming, quien desarrolló lo que se conoce como el código de Hamming. Este fue el primer código de corrección de errores hacia adelante, que implica la inclusión de dígitos binarios adicionales en la transmisión que se denominan bits de paridad. Un cálculo inteligente de los bits de paridad en el extremo receptor de la transmisión revelará si se han producido errores en la transmisión, dónde están en la cadena de bits y cómo repararlos para recuperar la transmisión original.

El código de Hamming pertenece a la familia de métodos de codificación de canales conocidos como códigos de bloque, muchos de los cuales se han desarrollado a lo largo de los años. Los códigos de bloque generalmente implican que los bits se recopilen en bloques de longitudes fijas, que luego se denominan palabras de código. Cada palabra de código recibe los bits de verificación apropiados para que el destinatario los decodifique. Los métodos de código de bloque tienden a aumentar el tamaño de la transmisión debido a los bits agregados en la palabra de código, lo que puede afectar el ancho de banda del canal.

Otro método de codificación de canal se conoce como código convolucional. Estos métodos son mucho más rápidos y pueden codificar un flujo de bits de cualquier longitud. Un código comúnmente usado de este tipo se llama código Viterbi, creado por el matemático italiano Andrew Viterbi. El inconveniente de este método es que a medida que aumenta la longitud del código convolucional, también lo hace su complejidad al decodificar. En muchos casos, los códigos convolucionales se usan en combinación con códigos de bloque en lo que se conoce como códigos de corrección de errores concatenados.