Escolar Documentos
Profissional Documentos
Cultura Documentos
BIBLIOGRAFIA
White C. M., Data Communications and Computer Networks: A Business User’s
Approach, 7 Edition, Course Technology, 2013, p150-174.
2
Detecção e correcção de erros
Tipos de Erros
Detecção
Correcção
3
Tipos de Erros
Conceitos Básicos
4
Tipos de Erros
Detecção e Detecção
Controlo e Controlo
de Erros de Erros
6
Tipos de Erros
Single - bit error ou
Erro de bit único
9
Tipos de Erros
Exemplo:
Erros (2)
Erros (3)
16
Tipos de Erros
Fontes de Erros
O ruído está sempre presente.
21
Figura 10. Três circuitos telefónicos com Crosstalk
Tipos de Erros
Eco
• É o feedback reflexivo de um sinal transmitido enquanto o
sinal se move através de um meio.
• Na maioria das vezes ocorre no cabo coaxial. Se o eco for ruim
o suficiente, pode interferir no sinal original. Relativamente
constante e pode ser significativamente reduzido.
23
Tipos de Erros
Atenuação
e “0”.
Distância
Figura 12. Atenuação de um sinal
24
Tipos de Erros
Distorção
Distância
Interferência
Signal Sinal
Strength
Interferência
26
Tipos de Erros
Prevenção de Erros
29
Detecção e Correcção de Erros
Detecção e correcção de erros
Exemplo de Redundância
33
Detecção e Correcção de Erros
34
Detecção e Correcção de Erros
Detecção de Erros
Verificação de redundância vertical (VRC) ou
verificação de paridade
Verificação de redundância longitudinal (LRC)
ou caractere de verificação de bloco (BCC)
Soma de verificação (CheckSum)
Verificação de redundância cíclica (CRC - CYCLIC
REDUNDANCY CHECK)
• CRC -16 ou CRC -32, …
Detecção de Erros
Detecção de erro
36
Detecção de Erros
Códigos de Detecção de Erros
• Detectar um erro é uma tarefa mais simples do que
detectar e corrigir;
• Nem sempre é possível solicitar uma retransmissão;
• Todos os métodos utilizam a inserção de bits extras;
(Esses bits podem ser obtidos a partir da informação
original e o receptor recalcula os bits extras).
• Um método ineficiente mas muito utilizado para
detectar erros é o de Paridade (Parity);
37
Detecção de Erros
Verificação de Paridade – Parity Check
38
Detecção de Erros
Verificação de paridade
• A verificação de paridade é uma das mais antigas e simples
técnicas de detecção de erros.
Data VRC
Data Parity 1 0 0 1 1 1 0 0
0 0 1 1 1 0 0 1
1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0
0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0
0 0 1 1 1 0 0 1
1 1 1 0 1 1 1 0 0 0 1 0 1 0 1 1
0 0 1 1 1 0 0 1
1 0 0 0 1 1 1 0 LRC
testes de paridade.
Verificação de paridade
42
Detecção de Erros
Tabela 3. Exemplo simples de paridade longitudinal
Dado Paridade
Linha 1 1 1 0 1 0 1 1 1
Linha 2 1 1 1 1 1 1 1 1
Linha 3 0 1 0 1 0 1 0 1
Linha 4 0 0 1 1 0 0 1 1
Parity Row 0 1 0 0 1 1 1 0
CRC
CYCLIC REDUNDANCY CHECK
OU TESTE DE REDUNDÂNCIA
CÍCLICA
45
Detecção de Erros
Cyclic Redundancy Check (CRC)
46
Detecção de Erros
47
Detecção de Erros
49
Correcção de Erros
Correcção de Erro via Retransmissão
• Quando um erro é detectado, ele é corrigido pela
retransmissão dos dados junto com seu valor de
detecção de erro.
Controlo de Erros
Uma vez detectado um erro, o que o
receptor fará? Hipóteses:
• Não fará nada
• Retornará uma mensagem de erro
ao transmissor
• Corrigirá o erro sem ajuda do
transmissor
52
Controlo de Erros
Passos de Controlo de Erros
• O Controlo de Erros consiste nas seguintes etapas
(repare que, nem todas são necessárias):
Controlo de Erros
54
Controlo de Erros
Controlo de Erros
55
Correcção de Erros
57
Técnicas de correção de erros Correcção de Erros
60
O que é BEC (Backward Error Correction) ?
Backward Error Correction (BEC): o receptor detecta um erro
e envia uma solicitação de retransmissão ao remetente.
n=m+r
62
Redundância
Redundância de um Código (1)
n=m+r
64
Checksum
65
Checksum 1
O checksum pode ser definido como um byte que, somado à
soma de todos os bytes transmitidos, torna o resultado da
soma igual a zero.
66
Checksum 2
67
Detecção de Erros – Checksum (4) Checksum
69
Detecção de Erros – Checksum (6) Checksum
Notas:
Lado emissor:
A mensagem é dividida em palavras de 16 bits.
O valor da palavra da soma de verificação é
definido como 0 (Zero).
Todas as palavras, incluindo o checksum, são
adicionado usando a adição do complemento.
A soma é complementada e se torna o checksum.
A soma de verificação é enviada com os dados.
70
Detecção de Erros – Checksum (7) Checksum
Lado receptor:
A mensagem (incluindo a soma de verificação) é
dividida em palavras de 16 bits.
72
Detecção de Erros – Checksum (9)
Dados enviados:
• 00111101
• 00001101
• 10110101 (checksum – invertido)
No receptor, as palavras são novamente somadas e
comparadas com o checksum enviado:
Se qualquer um dos dados transmitidos, incluindo o
checksum, sofrerem algum erro então, a soma do novo
checksum com o checksum enviado, será diferente de 1.
0 1 0 0 1 0 1 0 → novo checksum (das palavras iniciais
recebidas)
1 0 1 1 0 1 0 1 → checksum enviado
1 1 1 1 1 1 1 1 → sem erro
73
Detecção de Erros – Checksum (10)
00101001
00001101
0 0 1 1 0 1 1 0 → novo checksum
1 0 1 1 0 1 0 1→ checksum enviado
11101011≠11111111
74
CRC
Cyclic Redundancy Check
75
Detecção de Erros – CRC (1)
Execução:
o polinómio p(x) é representado pela palavra inicial
somada aos bits de paridade e deve ser divisível por G(x);
O receptor tenta dividir p(x) por G(x). Se houver resto ≠
0, houve um erro de transmissão;
Se houver um erro, em vez de se receber o polinómio
T(x), recebe-se T(x)+E(x);
Cada bit 1 em E(x) corresponde a um bit invertido;
T(x)/G(x) é sempre zero, logo o resultado é E(x)/G(x). 77
Figure 16. Polinómio representativo da palavra binária (binary word)
78
CRC
Exemplos
79
1. Mensagem a transmitir 𝑴 𝒙 :10111011
F ( x) 0
Q( x)
P( x) P( x)
83
• Lado Emissor • Lado Receptor Exemplo 2
• Polinômio = 𝒙𝟑 + 𝒙 + 𝟏
• = 𝟏. 𝒙𝟑 + 𝟎. 𝒙𝟐 + 𝟏. 𝒙𝟏 + 𝟏. 𝒙𝟎
Divisor = 1011; esta é a representação digital do gerador
polinomial.
85
CRC – Exemplo 3.1
11010011101100
90
CRC – Exemplo 3.6
11010011101100 100 <--- Entrada com valor de verificação
1011 <--- Divisor
01100011101100 100 <--- Resultado
1011 <--- Divisor ...
00111011101100 100
......
00000000001110 100
1011
00000000000101 100
101 1
-----------------------------
0 <--- Resto
O resto, deve ser igual a zero se não houver erros
detectáveis.
91
CRC – Exemplo 4
Pretende-se que o transmissor transmita 1996, via CRC.
2. O TX envia esta
mensagem codificada
(codeword) para o
receptor
94