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