Códigos para tratamiento de errores

Anuncio
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- La información se coloca en grupos de (m) bloques de
longitud fija (k) como matriz kxm o mxk
1
2
1
2
m
Escuela Politécnica Superior
k
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Cada bloque:
• 1 bit para VRC
1
• 1 bit para la paridad
perpendicular o LRC
(Longitudinal Redundancy
Checking)
• 1 bit de paridad cruzada
que comprueba paridades
2
1
2
Bits de
VRC
m
Bits de
LRC
Escuela Politécnica Superior
k
Bit de
paridad
cruzada
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo: Se quiere enviar la información “PAG” en
ASCII (7 bits):
50 41 4716
(101 0000 100 0001 100 0111) (k = 7, m = 3, matriz 7x3)
• Se añade:
- Bit para VRC criterio par (verde, primera fila)
- Bit para LRC criterio par (azul, última columna)
- Bit de paridad cruzada criterio par (rosa)
Escuela Politécnica Superior
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 1:
VRC
En hexadecimal se
envía (columnas):
50 41 47 5616
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
LRC
Escuela Politécnica Superior
Paridad
cruzada
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Evaluación del código
• Distancia Hamming del código: 4
- Las dos palabras del código más cercanas difieren en un bit de
datos
- Un cambio en un bit de datos implica (para que la palabra sea
correcta):
» Cambio en un bit de VRC
» Cambio en un bit de LRC
» Cambio en el bit de paridad cruzada
- ⇒ Un cambio mínimo implica 4 bits
• Capacidad de detección y corrección:
- Detecta todos los errores simples, dobles y triples
- Corrige todos los errores simples
Escuela Politécnica Superior
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Evaluación del código
• Uso:
- Emisión:
» Disposición de datos como matrices
» Se añaden las paridades VRC, LRC y cruzada
- Recepción:
» Comprobación de paridad cruzada (requisito)
» Comprobación de VRC y LRC: Las posiciones de error
en VRC y LRC marcan filas y columnas en cuyas
intersecciones puede haber error. Dependiendo del
tipo de errores se pueden o no detectar y corregir.
Escuela Politécnica Superior
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 2: Detección y no corrección de errores triples
• Error triple en el caso anterior (rojo) (se supone que no afecta
a las paridades)
Errores
Escuela Politécnica Superior
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 2: Detección y no corrección de errores triples
• Detección mediante errores en bits de paridad
VRC
errónea
Escuela Politécnica Superior
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
Cruzada
correcta
LRC
errónea
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 2: Detección y no corrección de errores triples
• Imposibilidad de corrección: Error en las posiciones sospechosas
Bits
sospechosos
Escuela Politécnica Superior
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 3: Detección y no corrección de errores dobles
• Error doble en el caso anterior (rojo) (se supone que no afecta a
las paridades)
Errores
Escuela Politécnica Superior
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 3: Detección y no corrección de errores dobles
• Detección mediante errores en bits de paridad
VRC
errónea
Escuela Politécnica Superior
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
Cruzada
correcta
LRC
errónea
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 3: Detección y no corrección de errores dobles
• Imposibilidad de corrección: No todas las posiciones
sospechosas son erróneas
Bits
sospechosos
Escuela Politécnica Superior
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 4: Detección y corrección de error simple
• Error simple en el caso anterior (rojo) (se supone que no
afecta a las paridades)
Error
Escuela Politécnica Superior
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 4: Detección y corrección de error simple
• Detección mediante errores en bits de paridad
VRC
errónea
Escuela Politécnica Superior
0
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
Cruzada
correcta
LRC
errónea
Códigos para tratamiento de errores
• Paridad vertical, longitudinal y cruzada
- Ejemplo 4: Detección y corrección de error simple
• La identificación inequívoca del bit erróneo permite su corrección
Bit
sospechoso
y erróneo
Escuela Politécnica Superior
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
Descargar