stringtranslate.com

código de repetición

En 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 sólo 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 más frecuencia.

Debido al mal 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 reales transmitidos), 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 de código

En el caso de un código de repetición binario, existen dos palabras de código (todos unos y todos ceros) que tienen una longitud de . Por lo tanto, la distancia mínima de Hamming 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 binaria es impar, entonces es un código perfecto . [1] El código de repetición binaria de longitud n es equivalente al código ( n , 1) -Hamming . Un código BCH ( n , 1) también es un código de repetición.

Ejemplo

Considere un código de repetición binario 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 de todos unos o de todos ceros, por lo que obtenemos el 111 000 111que se transmitirá.

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

Aplicaciones

A pesar de su bajo rendimiento como códigos independientes, el uso en códigos Turbo , como esquemas de codificación concatenados decodificados iterativamente , como los códigos de repetición-acumulación (RA) y de acumulación-repetición-acumulación (ARA), permite un rendimiento de corrección de errores sorprendentemente bueno.

Los códigos de repetición son uno de los pocos códigos conocidos cuya velocidad de codificación 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 conocido para canales que no se borran . 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 breves picos de ruido. Este filtro de rechazo de picos puede verse como una especie de decodificador de repetición.

Ver también

Referencias

  1. ^ Bossert, Martín (1999). Codificación de Canales para Telecomunicaciones . Wiley. ISBN 9780471982777.