4. Código Detectores de Erros
● Problema de transmissão de dados binários em canais de comunicações:
1. Devido às interferências do canal de comunicações (e.g ruído), a
sequência binária transmitida pode não ser igual a sequência binária
recebida;
2. Deseja-se um meio de detectar erros;
a. Código de paridade
b. Código de Hamming;
c. Outros códigos.
5. Código Detectores de Erros: Código de paridade
● O código de paridade consiste em adicionar um bit extra (bit de
paridade), na sequência transmitida;
● Existem dois tipos de paridade:
1. Paridade PAR
a. Quantidade de bits 1 ímpar -> Bit de paridade 1;
b. Quantidade de bits 1 par -> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
● O bit de paridade é apendado a sequência original geralmente no final.
6. Código de paridade
Número Paridade ímpar Paridade par
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
7. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
8. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
9. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
10. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
11. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
12. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
13. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
14. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
15. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
16. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001 1 0
1010
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
17. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001 1 0
1010 1 0
1011
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
18. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001 1 0
1010 1 0
1011 0 1
1100
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
19. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001 1 0
1010 1 0
1011 0 1
1100 1 0
1101
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
20. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001 1 0
1010 1 0
1011 0 1
1100 1 0
1101 0 1
1110
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
21. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001 1 0
1010 1 0
1011 0 1
1100 1 0
1101 0 1
1110 0 1
1111
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
22. Código de paridade
Número Paridade ímpar Paridade par
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001 1 0
1010 1 0
1011 0 1
1100 1 0
1101 0 1
1110 0 1
1111 1 0
1. Paridade PAR
a. Quantidade de bits 1
ímpar -> Bit de paridade
1;
b. Quantidade de bits 1 par
-> Bit de paridade 0;
2. Paridade ÍMPAR: INVERSO
27. Código de paridade
Como o código de paridade pode ser usado para detectar erros?
● No receptor, existe outro gerador de paridade;
● “Pega-se“ os N-1 bits recebidos e gera-se a paridade;
● Compara-se a paridade gerada no receptor com a paridade
transmitida.
● Se forem diferentes, ocorreu um erro na transmissão.
E3
E2
E1
E0
28. Código de paridade
● Projeto de um verificador de Paridade (Par):
E2
E3
E2
E1
E0
P
29. Código de paridade
● Limitações:
● Se houver a permuta de uma quantidade par de bits, o verificador
de paridade não é capaz de identificar o erro;
● O bit de paridade é enviado pelo canal, e por isso, pode sofrer com
erros.