Sunteți pe pagina 1din 12

Tcnicas de Deteo e Correo erros

TCNICAS DE
DETEO E
CORREO DE
ERROS

Deteo de Erros

Capacidade de detetar erros causados por rudo ou outras


causas durante a transmisso de um emissor para um
recetor.
Correo de Erros

Correo de erros, para alm da deteo do erro, permite a


sua correo.

Tcnicas de Deteo e Correo erros

Tcnicas de Deteo de erros

Os sinais, analgicos e digitais, transmitidos no meio

H vrios esquemas para se conseguir a deteo

de comunicao esto sujeitos a diversos fenmenos


que os degeneram, gerando erros na transmisso. Os
principais fenmenos so:
perda de energia do sinal; corresponde
normalmente a uma perda de amplitude.

Atenuao

Distoro perda de forma do sinal


Interferncia contaminao do sinal transmitido por outros

sinais estranhos do mesmo tipo e frequncia.


Rudo Sinal que pode ser gerado interna ou externamente

de erros de transmisso.
Todos os cdigos de deteo de erros transmitem

mais informao do que a mensagem original.


Para alm da mensagem, so transmitidos dados
de "confirmao" - dados extra (tambm conhecidos
como dados redundantes) que servem para a deteo

de erros.

ao sistema de transmisso.
-6-

Tcnicas de Deteo de erros

Tcnicas de Deteo de erros

Esquemas de repetio

Consistem em enviar repetio da informao.


Os erros so detetados utilizando as Tcnicas de

deteo de erros:
Esquemas de repetio
Verificao de paridade
Soma de verificao - Checksum
Redundncia cclica (CRC - cyclic redundancy check)

Se pretende enviar a mensagem "ol", seria

enviado "ol ol ol".


Se fosse recebida a mensagem "ol ol olb,

sabia-se que tinha havido um erro.


Este esquema pouco eficiente quando o erro

ocorre no mesmo stio no exemplo "olb olb olb".


Neste caso, a mensagem "olb" era detetada como
correta.
-8-

Tcnicas de Deteo de erros


Verificao de paridade
um dos mtodos mais utilizados para a deteo de

erros.

Tcnicas de Deteo de erros


Verificao de paridade
Funcionamento:
Sistema paridade par
ativado um bit de paridade

Utiliza a tcnica de paridade, que pode ser paridade

1 se o nmero de 1s for impar

par ou paridade mpar.

0 se o nmero de 1s for par

Consiste em acrescentar um bit extra, o bit de

paridade que indica o nmero de bits 1 presentes


num caracter (Byte).

Sistema paridade impar


ativado um bit de paridade

Alm dos oito bits de caracter que so gerados, a

estao transmissora adiciona um bit de paridade para


cada caracter e a soma desses nove bits dever
manter-se sempre mpar ou par, dependendo da
tcnica de paridade empregada.

0 se o nmero de 1s for impar


1 se o nmero de 1s for par

habitual a utilizao de:


Paridade Par para comunicaes assncronas
Paridade Impar para comunicaes sncronas.

Tcnicas de Deteo de erros


Verificao de paridade
Quando a mensagem chega, testado o bit de paridade

para verificar se est de acordo com o nmero de "1" da


mensagem.

Tcnicas de Deteo de erros


Verificao de paridade
Exemplos:
Paridade Par:
Carcter
1000100
1110000

Se forem iguais, a transmisso considerada correta; se

no, haver necessidade de retransmisso do carcter.


Caso haja um nmero par de bits com erro, esta tcnica

no consegue detetar, pois a verificao de bits "1"s do


caracter recebido permanecer par ou mpar, de acordo
com o mtodo, satisfazendo ao mtodo do bit de paridade.

N uns
2
3

Bit de Paridade
0
1

Sequncia a Transmitir
10001000
11100001

Paridade mpar
Carcter
1000100
1110000

N uns
2
3

Bit de Paridade
1
0

Sequncia a Transmitir
10001001
11100000

Tcnicas de Deteo de erros


Verificao de paridade

Tcnicas de Deteo de erros


Verificao de paridade

Verifique em qual das sequncias de bits ocorreram

Verifique em qual das sequncias de bits ocorreram

erro sabendo que o ltimo bit um bit de paridade,


num sistema de paridade par.

erro sabendo que o ltimo bit um bit de paridade,


num sistema de paridade par.

1.

10110100
01001010
3. 111100110
4. 1001001101

1.

2.

2.

Indique

a sequncia a transmitir, dos seguintes


carateres, num sistema de paridade impar.
1.
2.
3.

10110101
01011010
11111010

10110100 sem erro


01001010 erro
3. 111100110 sem erro
4. 1001001101 erro
Indique

a sequncia a transmitir, dos seguintes


carateres, num sistema de paridade impar.
1.
2.
3.

10110101 101101010
01011010 010110101
11111010 111110101

Tcnicas de Deteo de erros


Checksum
O

checksum uma soma


componentes da mensagem.

aritmtica

dos

Esta soma enviada pelo emissor e recalculada

no recetor, para ser comparada com a soma


enviada.
Se no forem coincidentes, indica que houve um

erro na transmisso.

Tcnicas de Deteo de erros


Checksum
No emissor
No recetor
Trata o contedo do segmento Calcula o checksum do segmento
como uma sequncia de inteiros
recebido
Checksum:
Verifica
se
da soma
dos
soma (em complemento para 1) do
checksums resultam 1s
contedo do segmento
No erro detetado
Emissor coloca o valor calculado
Sim no detetou erroembora
no campo checksum do datagrama
possa existir erro mesmo assim
UDP

Este mtodo apresenta algumas falhas:


Se os bits no estiverem ordenados;
Se tiverem sido inseridos bits nulos;
- 18 -

Tcnicas de Deteo de erros


Checksum
Exemplo:
Pretende-se enviar a seguinte informao 1010 e 0011
1. Somar os bits a enviar
2. Fazer o complemento para 1 (inverter a soma)
3. Enviar os dados com o complemento para 1
4. Para verificar, somar os dados enviados. Os
resultantes devem ser todos 1s.
1010
+ 0011
1101

Tcnicas de Deteo de erros


Redundncia Cclica (CRC)
O mtodo CRC (Cyclic Redundancy Checking),

embora use uma tcnica mais complexa, mais


eficiente que os anteriores.
Uma forma mais complexa de deteo de erros
bits

a utilizao de propriedades matemticas da


mensagem a ser transmitida.
A tcnica de verificao cclica executada por

Verificao

Complemento para 1 = 0010

Ocorram mltiplos erros que se anulem entre si.

1101
+0010
1111

ambas as estaes transmissora e recetora e


consiste na diviso de todos os bits de um bloco
por um valor binrio constante (polinmio
gerador).

Tcnicas de Deteo de erros


Redundncia cclica (CRC)

Tcnicas de Deteo de erros


Redundncia cclica (CRC)
Os

coeficientes resultantes da diviso so


enviados pelo emissor como dados redundantes,
para deteo de erros no recetor.

CRC tambm conhecido como cdigo


polinomial, pois as sequncias de bits so tratadas
como representaes de polinmios com
coeficientes 0 e 1.

No recetor, so novamente calculados os mesmos

coeficientes e comparados com os que foram


enviados pelo emissor.
Se no forem coincidentes, indica que houve um

erro na transmisso.

Por exemplo, a sequncia de bits "10011" seria

encarada do ponto de vista de polinmios como:


10011 = 1*X4+ 0*X3+ 0*X2 + 1*X1 + 1*X0
10011 = X4 + X + 1

Tcnicas de deteo de erros


Redundncia cclica (CRC)
Passe a seguinte sequncia de bits a Polinmio:

Tcnicas de deteo de erros


Redundncia cclica (CRC)
Resoluo

1. 00101

1. 00101 = X2 + 1;

2. 00111

2. 00111 = X2 + X + 1;

3. 01011

3. 01011 = X3 + X + 1;

4. 11110

4. 11110 = X4 + X3 + X2 + X;

5. 100010

5. 100010 = X5 + X;

6. 111000

6. 111000 = X5 + X4 + X3;

Tcnicas de deteo de erros


Redundncia cclica (CRC)
Tanto o transmissor/emissor como o recetor devem

concordar em utilizar o mesmo polinmio gerador,


para que cheguem ao mesmo valor de CRC.
O clculo que o emissor/transmissor deve fazer

para obter o CRC o seguinte:

M (x) a sequncia de bits que devem ser transmitidos;


G (x) o polinmio gerador
R o grau do polinmio gerador,
Ento o CRC o resto da diviso de M (x) + Xr / G (x).
Este valor dever ser transmitido no final da mensagem.

Tcnicas de Deteo de erros


Redundncia cclica (CRC)

Tcnicas de Deteo de erros


Redundncia cclica (CRC)
Na transmisso

1 - Os dados de informao a serem transmitidos


so transformados num polinmio M(x).
2 - Ao polinmio M(x) ser adicionado no fim, o
mesmo nmero de zeros quanto o grau do
polinmio gerador G(x).
3 - Fazemos a diviso do polinmio M(x) por G(x).
4 - O resto desta diviso R(x) ser adicionado no
fim da transmisso de M(x).

Tcnicas de Deteo de erros


Redundncia cclica (CRC)

Na receo

Exemplo:

1 - Os dados recebidos sero divididos pelo mesmo


polinmio gerador G(x).

Mensagem a transmitir: M(X) = 1 0 1 1 1 0 1 1


Polinmio gerador G(X) = x4+ x + 1 1 0 0 1 1
Acrescenta-se mensagem inicial, a quantidade de

2 - Se o resto desta diviso for igual a zero,


significa que no houve erros na transmisso;
caso contrrio, foi detetado erro na
transmisso, sendo necessrio a retransmisso
da informao enviada anteriormente

zeros equivalentes ao grau de G(x), ficando:


101110110000
De seguida divide-se a mensagem pelo polinmio
gerador
A diviso de dois polinmios (na sua forma binria)
feita recorrendo operao XOR ()

Tcnicas de Deteo de erros


Redundncia cclica (CRC)
101110110000
10011

10011
10100101

0010001
10011
00010100
10011
0011100
10011
01111

Resto da Diviso

O resto da diviso adicionado mensagem original, pelo

que a mensagem transmitida ser:

101110111111

Tcnicas de Deteo de erros


Redundncia cclica (CRC)

Tcnicas de Deteo de erros


Redundncia cclica (CRC)
No

receptor, para descodificar a mensagem, o


procedimento deve ser repetido.

101110111111
10011
10011
10100101
0010001
10011
00010111
10011
0010011
10011
00000=0
logo a mensagem foi recebida sem erro

Tcnicas de Deteo de erros


Redundncia cclica (CRC)

Para descodificar a mensagem, o procedimento deve ser

repetido (com erro).


101110011111
10011
0010000
10011
00011111
10011
011001
10011
010101
10011
0 0 1 1 0 0, logo a mensagem foi recebida com erro

Tcnicas de Deteo de erros


Redundncia cclica (CRC)

Tcnicas de Deteo de erros


Redundncia cclica (CRC)
Exerccio:
Mensagem a transmitir: 1 1 1 0 0 1 1 0
4 3
Polinmio gerador G(X) = x + x + 1
a) Indique qual a mensagem que enviada ao recetor.
b) Descodifique a mensagem e verifique se tem erro.

Tcnicas de deteo de erros


Redundncia cclica (CRC)

Tcnicas de Deteo de erros


Redundncia cclica (CRC)

Exerccios:
1. Um recetor recebe a sequncia de bits 10101001010110. O

polinmio gerador utilizado 10011.


a) Separe a sequncia de bits em mensagem e CRC.
b) H erro na mensagem?
2. Seja o polinmio gerador G(x)=110011 e a mensagem a

transmitir M (x)=11100011, calcule o CRC.


Indique qual a mensagem que enviada ao recetor.
3. Seja a mensagem a transmitir M (x)=100100, o polinmio
gerador G(x)=1101, calcule o CRC.
a) Indique qual a mensagem que enviada ao recetor.
b) Descodifique a mensagem e verifique se tem erro.

Tcnicas de Correo de erros

Tcnicas de Correo erros


Os

Os erros so corrigidos utilizando as Tcnicas de

correo de erros:
Pedido automtico de repetio (ARQ Automatic

Repeat-reQuest)
Cdigo de correo de erros (ECC - error-correcting

code)
Bits de Hamming

mtodos anteriormente descritos so suficientes para


determinar se houve ou no um erro na transmisso de uma
mensagem.

Mas nas maiorias das vezes isso no suficiente. A mensagem

tm que ser recebida sem erros e o mero conhecimento de que


existiu um erro no chega.
Seria uma grande vantagem se o recetor pudesse determinar
qual foi o erro e corrigi-lo. Isso possvel.
Vejamos o seguinte exemplo:
"Se faltarm algmas letrs consguims entndr a mensgm".
Este conceito pode ser aplicado correo de erros nas

transmisses digitais.

Tcnicas de Correo erros


Pedido automtico de repetio (ARQ Automatic Repeat-reQuest)
Mtodo de controle erros nas transmisses de dados que usa os cdigos de

deteo de erros para conseguir transmisses confiveis.

Tcnicas de Correo erros


Cdigo de correo de erros (ECC - error-correcting code)
Cdigo no qual cada sinal de dados est em conformidade com regras

especficas de construo.

Usa as mensagens de acknowledgment (ACK) e os timeouts (tempos limites).

Os desvios dessas regras podem ser detetados e corrigidos.

Um ACK uma mensagem enviada pelo recetor para o transmissor e que

Esta tcnica normalmente usada em armazenamento de dados no

indica que um bloco de dados foi corretamente rececionado.


O transmissor envia os dados e um cdigo de deteno de erros, que permite

que o recetor detete a existncia de erros.

computador (por exemplo: memria flash) e em transmisses de dados.


Se apenas corrigirem um erro, so chamados cdigos de correo de erro

nico, ou SEC, os que conseguem detetar dois erros so chamados de


deteo de erro duplo, ou DED.

Se no encontrar erros, envia um ACK ao emissor.


Se o emissor no receber o ACK, ento porque a mensagem continha erros

e automaticamente retransmitida.

SEC - single error correcting correco de apenas um erro


DED - double error detecting. deteco de dois erros

Tcnicas de Correo erros


Bits de Hamming

Tcnicas de Correo erros


Bits de Hamming

Passagem de um nmero decimal a binrio

Neste cdigo, so enviados carateres redundantes suficientes

25
32

para descobrir se deu erro na transmisso e a posio onde


ocorreu o erro, permitindo assim uma correo automtica.
o seguinte byte de informaes que deve ser
transmitido para o recetor: "01010100".

24
16

23
8

22
4

21
2

20
1

Supondo

O cdigo de Hamming prev a criao de bits redundantes,

inserindo-os nas posies 1, 2, 4, 8, 16, 32, etc.


Os bits a serem transmitidos ficam conforme mostra a figura a
seguir:

Exemplos:
5 = 101;

13 = 1101;

23 = 10111;

Tcnicas de Correo erros


Bits de Hamming
Passa os seguintes nmeros decimais a binrios:

3
7
21
28
30
42
53

Tcnicas de Correo erros


Bits de Hamming
Resoluo dos Exerccios
25
32

3 = 11
7 = 111
21 = 10101
28 = 11100
30 = 11110
42 = 101010

53 = 110101

o
o
o
o
o

24
16

23
8

22
4

21

20

10

Tcnicas de Correo erros


Bits de Hamming

Tcnicas de Correo erros


Bits de Hamming
Para descobrir os valores de "H, fazer um ou-exclusivo entre

Exemplo:

todas as posies que contenham bits "1:

01010100
O cdigo de Hamming cria bits redundantes, inserindo-os nas

posies 1, 2, 4, 8.

OU-EXCLUSIVO (XOR)
0+0=0
0+1=1
1+0=1
1+1=0

Os bits a serem transmitidos ficam conforme mostra a figura a

seguir:
Os bits de Hamming calculados, da direita para a esquerda, so

inseridos nas posies reservadas, obtendo-se o pacote que vai


ser transmitido para o recetor.
necessrio descobrir os valores de "H, se so bits "0" ou "1".

Tcnicas de Correo erros


Bits de Hamming

Tcnicas de Correo erros


Bits de Hamming
Supondo que deu problema na transmisso e o bit referente posio

O recetor deve fazer o mesmo processo, calcular o ou-exclusivo

para todas as posies que possuam bits "1" do pacote recebido.


O resultado deve dar zero.
Se o resultado no der zero, vai informar a posio onde ocorreu
o erro.
4- 0100
6- 0110
0010

9 - 1001

0010

11 1 0 1 1
0010

0010
0000

11 foi recebido errado (era para ser "1" e foi recebido "0"), como mostra
a figura a seguir.

O recetor ainda no sabe da existncia do erro, vai fazer o ou-

exclusivo de todas as posies com bits "1" menos a posio 11, pois
ele recebeu como "0" e no sabe que deveria ser "1". O clculo
mostrado a seguir.
OU-EXCLUSIVO
(XOR)
0+0=0
0+1=1
1+0=1
1+1=0

O resultado no foi zero, logo, o recetor sabe que deu erro.

11

Tcnicas de Correo erros


Bits de Hamming

Tcnicas de Correo erros


Bits de Hamming

A posio do bit errado exatamente o resultado alcanado, ou

Exerccios

seja, 11.
Desta forma, o recetor automaticamente vai posio 11 do
pacote recebido e inverte o bit existente nesta posio,
corrigindo a informao recebida.

1. Calcule os Bits de Hamming para a seguinte sequncia de bits


1010.

Mensagem com Erro na posio 11

2.

Calcule os Bits de Hamming para a seguinte sequncia de bits


0110100.

3.

O recetor recebeu a seguinte sequncia de bits, verifique se


existem erros e corrija.

Mensagem com Erro corrigido na posio 11

12

S-ar putea să vă placă și