Códigos de control de paridade
De Wiki do Pazo da Mercé
Un dos códigos máis básicos para a detección de erros é a utilización dunha serie de bits de paridade. Podemos distinguir dous tipos de códigos de control de paridade:
Paridade simple
O bit de paridade é aquel que se selecciona en función do número de 1s da palabra mensaxe. Así temos:
| Tipo de paridade | Definición | Exemplo |
|---|---|---|
| Par | Se o número de 1s é par engádese un 0, senón un 1 | 0011011 (0) |
| Impar | Se o número de 1s é impar engádese un 0, senón un 1 | 0011011 (1) |
O cálculo, realmente, faise coa función XOR (OR-Exclusivo), definida como segue:
| A B | A xor B |
|---|---|
| 0 0 | 0 |
| 0 1 | 1 |
| 1 0 | 1 |
| 1 1 | 0 |
Se seguimos o resultado da función xor, o tipo de paridade que se aplicaría é a par, por iso é a máis usada e a que se entende por defecto.
Este código ten unha distancia mínima de 2, co cal só detecta erros simples. Detecta tamén erros si o número de bits erróneos é impar, pois se fose par un erro se compensaría co outro.
Por exemplo, se se desexa enviar a palabra 1001 o transmisor calcula o bit de paridade (0), deste xeito a palabra código que se envía é 10010. O receptor recibe 10011, este calcula de novo o bit de paridade e dálle (0) e el recibiu (1) co cal detecta o erro pero non o pode corrixir.
Paridade de bloque
Trátase de organizar a información por bloques, compoñendo unha táboa de k x m bits (k palabras de m bits cada unha).
Logo calcúlanse os bits de paridade de cada unha das m filas (paridade horizontal) e k columnas (paridade vertical).
Por último calculase o bit de paridade cruzada a partires da columna ou da fila de paridade calculada anteriormente. Exemplo:
