Códigos de control de paridade

De Wiki do Pazo da Mercé

Revisión feita por Antonio (Conversa | contribucións) ás 23:25, 9 decembro 2008

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:

Neste caso o codificador fai bloques de 4 palabras de 6 bits cada unha, e calcula as distintas paridades, e logo as envía ao receptor, unha fila tras outra (Polo tanto, envía 5 palabras de código de 7 bits cada unha).

O decodificador reconstrúe o bloque e volve a calcular os bits de paridade correspondentes e compáraos cos bits de paridade recibidos.

Este código ten unha distancia mínima de 4, co cal corrixe erros simples e detecta erros dobres, triples e cuádruples se estes non forman un rectángulo na matriz de díxitos.

Ferramentas persoais
Crear un libro