¿Qué es la codificación de bloques?
Parte de la teoría de código, la codificación de bloques es una forma de corrección de errores de reenvío (FEC), también conocido como código de canal, que convierte los mensajes en códigos específicos y envía la información como un bloque de datos con una longitud predeterminada. Los bloques de datos más grandes facilitan que la computadora receptora decodifique la información y corrija los errores que ocurren durante la transferencia. Los códigos de bloque y los códigos convolucionales son dos tipos de código comúnmente utilizados en FEC. Estos tipos de código permiten que se envíe un mensaje a través de una conexión poco confiable y aún se descifren cuando llega.
El uso de la codificación de bloques es necesario debido al ruido que ocurre cuando se envía un mensaje. Cuando los datos necesitan viajar a larga distancia o sobre una conexión poco confiable, el peso y la distancia de Hamming se utilizan para determinar la probabilidad de errores. El peso de Hamming es el número de dígitos necesarios para expresar todas las combinaciones de código posibles, y la distancia de hamming es cuántos errores tendrían que ocurrir antes de que un poco representara un LEGITimate, pero incorrecto, información.
Por ejemplo, si un remitente que usaba codificación de bloques quería enviar un mensaje que pudiera usar solo tres códigos posibles que tenían tres dígitos de largo, el peso de Hamming sería tres. Los códigos pueden ser de 000, 010 y 011. Si un error dio como resultado un cambio de un dígito, como 000 cambiando a 010, el código se leería como un código legítimo (010) pero no el código que el remitente pretendía (000). Por lo tanto, la distancia de hamming para este código es uno porque solo un dígito necesita cambiar para causar un error que la computadora no puede corregir.
Para reducir la distancia de Hamming y reducir los errores, los datos se envían como un bloque de código que se codifica en palabras de código específicas de cierta longitud. Los bits de datos de mensajes originales se denominan k bits. Los k bits se traducen a los n bits correspondientes, que son códigos que se han seleccionado para pararse como códigos más largos para cada b bit.Se agregan unos o ceros para hacer que los bits sean una longitud uniforme y reducir la distancia de hamming. Entonces estos bloques de n bits se transmiten a la computadora receptor.
Pensar en la codificación de bloques es más simple al compararlo con dos personas que tienen una conversación. Al hablar en una habitación ruidosa o gritar a través de una larga distancia, hay más margen de errores en lo que escucha la persona receptora. Si la oración es larga, la persona puede corregir más errores tomando la oración completa en contexto, pero las oraciones cortas tienen una tasa de error más alta porque es más difícil descifrar lo que la persona está diciendo.
Como ejemplo, si una persona grita, "gato rojo" y la otra persona escucha, "alimentados con gato", interrumpen la oración incorrectamente. Sin embargo, si la primera persona dijo: "Tengo un gato de color rojo" y la segunda persona escuchó: "Tengo un gato de color alimentado," El contexto de la oración hace que sea fácil determinar la persona que realmente dijo "rojo" y no "alimentado". Este es el principio básico detrás del bloquek codificación y el uso de códigos uniformes más largos para ayudar a las computadoras a traducir con precisión un bloque de información.