Bit de paridad: para qué sirve, cómo funciona
El bit de paridad es un parámetro con valor 0 o 1 que se utiliza en un método de detección de errores de transmisión en el que se agrega un 0 o un 1 a cada grupo de 7-8 bits (byte). El fin es que así cada byte siempre tenga una cantidad total impar de “1” o una cantidad total par de “1”, según la paridad establecida.
La paridad es una técnica de detección de errores que se usa en las comunicaciones asíncronas. Se utiliza para verificar la integridad de cada byte dentro del flujo transmitido. Por ejemplo, si se establece una paridad impar, cualquier byte que se reciba de una transmisión con una cantidad total de “1” que sea par debe contener un error.
Se utilizan dos tipos de paridad: la paridad par, donde se agrega un bit de paridad 1 si en el byte previo hay una cantidad total impar de bits “1”, y la paridad impar, donde se realiza lo contrario. Con este método solo se podrá saber que se ha producido un error, pero no se sabrá dónde se produjo el error.
Índice del artículo
¿Para qué sirve el bit de paridad?
Al enviar datos digitales, puede haber un error entre el código transmitido y el código recibido. Existen muchas fuentes de error en la forma de diferentes tipos de ruido, como el ruido EM o el ruido térmico.
Por tanto, es necesario implementar algún método para verificar si los códigos o bytes que se reciben tienen error o no.
Sin embargo, ¿cómo puede saber el receptor si el código recibido tiene error o no? Es imposible para el receptor conocer el código antes de recibirlo.
Por ejemplo, supongamos que el emisor transmite el código 01100110, pero después de pasar por una línea con ruido, el receptor recibe el código 00100110. El receptor no sabrá que ha recibido un código con un error en el segundo bit.
Es imposible que el receptor sepa que el mensaje tiene un error en el primer bit, porque eso implicaría que el receptor ya conoce el mensaje del transmisor antes de la transmisión.
Control de errores
El problema que tiene el receptor de poder verificar que hay un error se puede resolver utilizando una codificación de control de errores.
La idea central de la codificación de control de errores es agregar un bit adicional en la información a ser enviada para que se detecte el error y se corrija. Hay muchas codificaciones de control de errores. La más simple es el bit de paridad.
A cada byte que se transmita se le agrega el bit de paridad. Este bit se utiliza para comprobar que la información se haya entregado con exactitud.
El bit de paridad para cada byte se implanta de tal manera que todos los bytes tengan una cantidad impar o una cantidad par de bits “1”.
Ejemplo
Supongamos que dos unidades se comunican con una paridad par, que es la forma de verificación de paridad más común.
Según la unidad de transmisión, va enviando los bytes y primero recuenta el número de bits “1” en cada grupo de siete bits (byte). Si resulta par la cantidad de bits “1”, coloca en 0 el bit de paridad. Si es impar la cantidad de bits “1”, coloca en 1 el bit de paridad. De esta manera, cada byte tendrá una cantidad par de bits “1”.
Por parte del receptor se verifica cada byte para así asegurarse que tenga una cantidad par de bits “1”. En caso de encontrar una cantidad impar de bits “1” en el byte, el receptor sabrá que durante la transmisión se produjo un error.
Previamente, tanto el ente receptor como el emisor deben haber acordado el uso de la verificación de paridad y si la paridad debe ser impar o par. Si no están configurados ambos lados con el mismo sentido de paridad será imposible poder comunicarse.
Detección de errores
La verificación de paridad es la técnica más simple para detectar errores en la comunicación.
Sin embargo, aunque puede detectar muchos errores no resulta infalible, ya que no es capaz de detectar la disposición cuando en el mismo byte se cambia un número par de bits por el ruido eléctrico.
La verificación de paridad se usa no solo en las comunicaciones, sino además para probar los dispositivos de almacenamiento de memoria. Por ejemplo, muchas computadoras personales realizan una verificación de paridad siempre que se lee un byte de datos en la memoria.
¿Cómo funciona?
Supongamos que se tienen códigos de datos de 7 bits y se agrega un bit adicional, que es el bit de paridad, para así formar un código de datos de 8 bits. Existen dos métodos que se pueden utilizar: paridad par y paridad impar.
Como muestra, se puede tomar el método de paridad par. Se haría lo opuesto si se tomara el método de paridad impar.
Método de paridad par
Este método indica que el bit de paridad a agregar debe ser de tal manera que la cantidad total de “1” en el código final sea par. Por ejemplo:
Por tanto, para el primer código de 7 bits: 0010010, con una cantidad par de “1” (2), el código de 8 bits transmitido será: 00100100, con una cantidad par de “1” (2).
Para el código de 7 bits 1110110, con una cantidad impar de “1” (5), el código de 8 bits transmitido será 11101101, con una cantidad par de “1” (6).
Después que el receptor obtenga los 8 bits, verificará la cantidad de “1” en el código recibido, si la cantidad de “1” es par, eso significa que no hay error, si la cantidad es impar, eso significa que ha ocurrido un error.
Cuando la paridad calculada del byte recibido no coincide con el valor del bit de paridad recibido, se dice que se ha producido un error de paridad y normalmente el byte se descarta.
En caso que haya un error, el receptor avisará al transmisor para que vuelva a enviar el código nuevamente.
No es infalible
Sin embargo, hay un inconveniente con estos métodos de paridad, si el código 1110110 se convierte por el ruido de la línea en 11111001, ocasionando un error en 2 bits, entonces este método no puede detectar que se haya producido un error.
La paridad es buena para detectar errores y siempre detectará cualquier cantidad impar de errores en un byte recibido. Sin embargo, si hay una cantidad par de errores, el verificador de paridad no podrá encontrar el error.
Referencias
- Vangie Beal (2019). Parity checking. Webopedia. Tomado de: webopedia.com.
- Electronics Research Group (2019). Character Parity. Tomado de: erg.abdn.ac.uk.
- Vocabulary (2019).. Parity bit. Tomado de: vocabulary.com.
- Angms (2013). The most simple error control code – Parity Bit. Tomado de: angms.science.
- Christensson, (2011). Parity Bit Definition. Techterms. Tomado de: techterms.com.