stringtranslate.com

Código de repetición

En la teoría de codificación , el código de repetición es uno de los códigos de corrección de errores lineales más básicos . Para transmitir un mensaje a través de un canal ruidoso que puede corromper la transmisión en algunos lugares, la idea del código de repetición es simplemente repetir el mensaje varias veces. La esperanza es que el canal corrompa solo una minoría de estas repeticiones. De esta manera, el receptor notará que ocurrió un error de transmisión ya que el flujo de datos recibido no es la repetición de un solo mensaje y, además, el receptor puede recuperar el mensaje original mirando el mensaje recibido en el flujo de datos que ocurre con mayor frecuencia.

Debido al bajo rendimiento de corrección de errores junto con la baja tasa de código (relación entre símbolos de información útil y símbolos transmitidos realmente), en la mayoría de los casos se prefieren otros códigos de corrección de errores . El principal atractivo del código de repetición es la facilidad de implementación.

Parámetros del código

En el caso de un código de repetición binario, existen dos palabras de código (todas ellas unos y todas ceros) que tienen una longitud de . Por lo tanto, la distancia de Hamming mínima del código es igual a su longitud . Esto le da al código de repetición una capacidad de corrección de errores de (es decir, corregirá hasta errores en cualquier palabra de código).

Si la longitud de un código de repetición binario es impar, entonces es un código perfecto . [1] El código de repetición binario de longitud n es equivalente al código de Hamming ( n , 1) . Un código BCH ( n , 1) también es un código de repetición.

Ejemplo

Consideremos un código binario de repetición de longitud 3. El usuario quiere transmitir los bits de información 101. Luego, la codificación asigna cada bit a la palabra de código compuesta únicamente por unos o por ceros, de modo que obtenemos 111 000 111, que se transmitirá.

Digamos que tres errores corrompen los bits transmitidos y la secuencia recibida es 111 010 100. La decodificación se realiza normalmente mediante una decisión por mayoría simple para cada palabra de código. Eso nos lleva a 100como los bits de información decodificados, porque en la primera y segunda palabra de código se produjeron menos de dos errores, por lo que la mayoría de los bits son correctos. Pero en la tercera palabra de código dos bits están corrompidos, lo que da como resultado un bit de información erróneo, ya que dos errores superan la capacidad de corrección de errores.

Aplicaciones

A pesar de su pobre desempeño como códigos independientes, su uso en esquemas de codificación concatenados decodificados iterativamente similares a códigos Turbo , como los códigos de repetición-acumulación (RA) y acumulación-repetición-acumulación (ARA), permite un desempeño de corrección de errores sorprendentemente bueno.

Los códigos de repetición son uno de los pocos códigos conocidos cuya tasa de código se puede ajustar automáticamente a la capacidad variable del canal , enviando más o menos información de paridad según sea necesario para superar el ruido del canal, y es el único código de este tipo conocido para canales sin borrado . Los códigos adaptativos prácticos para canales de borrado se han inventado recientemente y se conocen como códigos fuente .

Algunos UART , como los que se utilizan en el protocolo FlexRay , utilizan un filtro mayoritario para ignorar los picos de ruido breves. Este filtro de rechazo de picos puede considerarse como una especie de decodificador de repetición.

Véase también

Referencias

  1. ^ Bossert, Martin (1999). Codificación de canales para telecomunicaciones . Wiley. ISBN 9780471982777.