Los códigos de paridad se usan en telecomunicaciones para detectar, y en algunos casos corregir, errores en la transmisión. Para ellos se añade en origen un bit extra llamado bit de paridad a los n bits que forman el carácter original.
Este valor del bit de paridad se determina de forma que el número total de bits 1 a transmitir sea par (código de paridad par) o impar (código de paridad impar).
Así, para el código de paridad par el número de unos contando el carácter original y el bit de paridad tiene que ser par. Por lo tanto, el bit de paridad será un 0 si el número total de unos a transmitir es par y un 1 para un número impar de unos.
Por el contrario, para el código de paridad impar el número de unos contando el carácter original y el bit de paridad ha de ser impar. De esta forma, el bit de paridad será un 0 si el número total de unos es impar y un 1 para un número par de unos.
Normalmente el bit de paridad se añade a la izquierda del carácter original.
Este método, aunque resulta satisfactorio en general, puede detectar solo un número impar de errores de transmisión. Es decir, solo es útil si los errores no cambian un número par de bits a la vez, ya que un número par de errores no afecta a la paridad final de los datos.
Ejemplos
Tenemos el carácter original 0111001. Vemos que la trama a transmitir tiene un número par de unos (4 unos). Al añadir el bit de paridad obtendremos el siguiente carácter, que es el que se transmitirá a destino:
- Si usamos paridad par, ya hay un número par de unos, por tanto se añade un 0, y transmitiremos '0'0111001.
- Si usamos paridad impar, como hay un número par de unos, añadiremos otro 1 para conseguir un número impar, y transmitiremos '1'0111001.
Si se envía un dato y durante la transmisión se produce un único error, el destinatario puede detectarlo al comprobar la paridad en el destino. Usando los ejemplos anteriores, y alterando un solo bit de la trama transmitida, nos quedaría.
- Paridad par: se recibe 00110001 en vez de 00111001. En la comprobación, al contar el número de unos salen 3 (impar), por lo que se ha producido un error.
- Paridad impar: se recibe 10110001 en vez de 10111001. En la comprobación, al contar el número de unos salen 3 (impar), por lo que se ha producido un error.
Siguiendo los ejemplos anteriores, y alterando dos bits en la transmisión, veremos como el método de detección de errores falla:
- Paridad par: se recibe 00110101 en vez de 00111001. Al comprobar el número de unos salen 4 (par), y no se detectan los errores.
- Paridad impar: se recibe 10110101 en vez de 10111001. Al comprobar el número de unos salen 5 (impar), y no se detectan los errores.
Véase también
Además de esta paridad simple, véase también los códigos de paridad de bloques para detectar y corregir errores en un bloque de datos transmitidos.