Corrección de Errores y tipos
Corrección de Errores
la detección y corrección de errores es una importante
práctica para el mantenimiento e integridad de los datos a través de diferentes
procedimientos y dispositivos como medios de almacenamiento confiables.
Para poder
recuperar los datos perdidos es necesario emplear códigos altamente
redundantes, de esta forma, la utilización efectiva del canal de transmisión se
reduce considerablemente. Es necesario pues, que el receptor disponga de los
mecanismos necesarios (Hardware) para recuperar la información a través de los datos
corruptos que le llegan.
Tipos de Corrección de Errores
- Dígito verificador.
El código de control es un
mecanismo de detección de errores utilizado para verificar la corrección de un
dato, generalmente en soporte informático. Los dígitos de control se usan
principalmente para detectar errores en el tecleo o transmisión de los datos.
Generalmente consisten en uno o
más caracteres numéricos o alfabéticos añadidos al dato original y calculados a
partir de este mediante un determinado algoritmo. Algunos de los ejemplos de
uso frecuentes son los números de identificación personal, códigos de barras,
tarjetas de crédito y códigos bancarios.
- FEC (Forward Error
Correction)
La corrección de errores hacia
adelante (en inglés, Forward Error Correction o FEC) es un tipo de mecanismo de
corrección de errores que permite su corrección en el receptor sin
retransmisión de la información original. Se utiliza en sistemas sin retorno o
sistemas en tiempo real donde no se puede esperar a la retransmisión para
mostrar los datos. Este mecanismo de corrección de errores se utiliza por
ejemplo, en las comunicaciones vía satélite, en las grabadoras de DVD y CD o en
las emisiones de TDT para terminales móviles (estándar DVB-H).
- Código Binario de Golay.
El código binario de Golay es un
tipo de código corrector de errores usado en las comunicaciones digitales. El
código binario de Golay, junto con el código terciario de Golay tienen una
particularidad y conexión interesante con la teoría de los grupos esporádicos
finitos en matemáticas. El código lleva el nombre en honor a Marcel J.E Golay.
Hay dos tipos de códigos Golay
que están relacionados entre sí. El primero es el código Golay extendido
binario que codifica 12 bits de datos en una palabra de 24 bits de tal manera
que cualquier error de 3 bits puede ser corregido y cualquier error de 7 bits
puede ser detectado. El otro es el código binario perfecto de Golay tiene
palabras código de longitud 23 bits, y es obtenido directamente del código
binario extendido de Golay al suprimir una posición de coordenadas, de otra
manera se puede decir que el código binario extendido de Golay se obtiene a
partir del código binario perfecto al añadir un bit de paridad.
- Código Hamming.
El código de Hamming es un código
detector y corrector de errores que lleva el nombre de su inventor, Richard
Hamming. En los datos codificados en Hamming se pueden detectar errores en un
bit y corregirlos, sin embargo no se distingue entre errores de dos bits y de
un bit (para lo que se usa Hamming extendido). Esto representa una mejora
respecto a los códigos con bit de paridad, que pueden detectar errores en solo
un bit, pero no pueden corregirlo.
- Bit de paridad.
|
7 bits de datos |
byte con bit de paridad |
|
|
par |
impar |
|
|
0000000 |
00000000 |
00000001 |
|
1010001 |
10100011 |
10100010 |
|
1101001 |
11010010 |
11010011 |
|
1111111 |
11111111 |
11111110 |
Un bit de
paridad es un dígito binario que indica si el número de bits con un valor de 1
en un conjunto de bits es par o impar. Los bits de paridad conforman el método
de detección de errores más simple.
La paridad par es un caso
especial del control de redundancia cíclica (CRC), donde el bit de CRC se
genera por el polinomio x+1.
Nótese que este método detecta
los errores, pero no los corrige (salvo en el caso de que la palabra
transmitida sea de tamaño 1 bit (lo cual no es habitual)). Existen dos variantes
de este método, bit de paridad par y bit de paridad impar:
En el caso de la paridad par, se
cuentan el número de unos. Si el total es impar, el bit de paridad se establece
en uno y por tanto la suma del total anterior con este bit de paridad, daría
par. Si el conteo de bits uno es par, entonces el bit de paridad (par) se deja
en 0, pues ya es par.
En el caso de la paridad impar,
la situación es la contraria. Se suman los bits cuyo valor es uno, si da un
número impar de bits, entonces el bit de paridad (impar) es cero. Y si la suma
de los bits cuyo valor es uno es par, entonces el bit de paridad (impar) se
establece en uno, haciendo impar la cuenta total de bits uno.
- Reed-Solomon.
Reed-Solomon es
un código cíclico no binario y constituye una subclase de los códigos BCH. Los
códigos cíclicos son una subclase de los códigos de bloque estándar de
detección y corrección de errores que protege la información contra errores en
los datos transmitidos sobre un canal de comunicaciones. Este tipo de código
pertenece a la categoría FEC (Forward Error Correction), es decir, corrige los
datos alterados en el receptor y para ello utiliza unos bits adicionales que
permiten esta recuperación a posteriori.
Este código se encuentra
actualmente aplicado en áreas como los CD, telefonía móvil y sondas espaciales,
en la transmisión digital de televisión ISDB-T, en la radio digital DAB+, así
como en los sistemas xDSL de comunicación por cable, y en los códigos QR.
Comentarios
Publicar un comentario