Códigos de control de paridade
De Wiki do Pazo da Mercé
| Liña 43: | Liña 43: | ||
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. | 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: | ||
| + | |||
| + | [[Imaxe:Paridadedebloque.jpg|center|400px]] | ||
Revisión como estaba ás 23:23, 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:
