- Paridad horizontal y vertical
-
Paridad horizontal y vertical
La paridad horizontal y vertical es utilizada en algunos códigos de bloque para una combinación de chequeo de (LRC / VRC) para detectar errores. El LRC: Longitudinal Redundancy Checking ("Chequeo de Redundancia Horizontal") y el VRC: Vertical Redundancy Checking ("Chequeo de Redundancia Vertical").
Proceso
El proceso para calcular la paridad de bloque es el siguiente:
- Los caracteres a transmitir se agrupan en bloques de n filas y m columnas
- Se calcula el bit de paridad de cada fila y se añade al principio (o al final, según convenio) de la fila
- Se calcula el bit de paridad de cada columna y se añade al principio (o al final, según convenio) de la columna
- El bloque final a transmitir tendrá por tanto una fila y una columna más que el original.
- La nueva columna estará formada por los bits de paridad horizontal de todas las filas
- La nueva fila estará formada por los bits de paridad vertical de todas las columnas.
- Adicionalmente se emplea un bit de paridad cruzada que se calcula a partir de los bits de paridad de filas y columnas.
Los chequeos de paridad horizontal y vertical se usan para detectar y corregir los posibles errores que se puedan producir durante la transmisión de datos.
A continuación se muestra un ejemplo en el que se chequea la paridad de un bloque de 48 bits, distribuido en 6 filas de 8 bits cada una. Se usa paridad par.
Paridad de Bloque Paridad
HorizontalBit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 Paridad
VerticalEjemplo
Queremos transmitir los caracteres "PAG" en código ASCII (P = 50H; A = 41H; G = 47H). Colocamos los tres caracteres formando un bloque que consistirá en 3 filas y 8 columnas. Para cada fila se calcula el bit de chequeo de paridad horizontal (en rojo) y para columna el bit de chequeo de paridad vertical (en verde).
El Bit de paridad cruzada (en azul) sería 0(VRC) + 0(LRC) = 0.
Carácter
BinarioCarácter
HexadecimalCarácter V
R
C0 1010000 50H P 0 1000001 41H A 0 1000111 47H G CRC = 0+0 1010110 56H LRC El nuevo bloque a transmitir estará formado por cuatro filas y ocho columnas. Por tanto, se transmitirían los caracteres 50 41 47 56 (01010110). La distancia Hamming en este ejemplo es 4: si cambia un bit cambiarían un bit del VRC, un bit del LRC, y el bit de paridad cruzada, es decir cuatro bits en total. Este código detectaría errores simples, dobles y triples y corregiría los errores simples.
Categorías: Detección y corrección de errores | Protocolos
Wikimedia foundation. 2010.