Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Correo de erros isolados: Cdigo de Hamming Checksum e CRC (Cyclic Redundancy Check)
ERRO
Um sistema de computao funciona em funo da transferncia de informao desde o nvel de circuito integrados at aos nveis mais altos.
Ex: Gravao no disco ou comunicao entre computadores. Interferncias eletromagnticas, componentes, curto-circuito, etc... envelhecimento de
CARACTERSTICAS
1.
DOS
ERROS
2.
3.
So inevitveis em qualquer sistema de comunicao real; A distribuio dos erros no homognea: bits isolados ou em rajadas(bursts) de erros, com 8 ou mais bits sucessivos errados; Deve-se levar em conta o meio fsico de transmisso de dados, para incluir maior ou menor redundncia na transmisso, a fim de garantir que a informao recebida seja confivel.
TRATAMENTO DE ERROS
Possveis Abordagens:
1.
2. 3.
4.
5.
Ignorar o erro; Eco (transmisso origem de reflexos dos dados recebidos); Sinalizar o erro; 4.Detectar e solicitar a retransmisso em caso de erro; Detectar e corrigir os erros na recepo de forma automtica.
Cdigos de correo podem recuperar o dado original a partir do cdigo com erros; Consistem na criao de cdigos extras que detectam situaes invlidas mas que mantm a identidade do dado original; O conceito mais bsico e mais importante desses cdigos a distncia de Hamming, utilizada para a criao de cdigos de correo.
Cdigo de Hamming
Passo-a-Passo da Codificao:
1.
2.
3.
Os bits da palavra de cdigo so numerados a partir da esquerda, comeando por 1; acrescentada informao redundante em posies prdefinidas, ou seja, os bits que so potncia de 2 vo ser bits de controle (2n); Os restantes so preenchidos com bits de dados conhecidos, isto , com a mensagem a transmitir;
Passos 1
2 3
H H
H H 1
H H 1 0 0
Calcular os Bits Hamming (bits de controle), ou seja, verificar as posies setadas em 1 e converter para o binrio da posio:
3 011 5 101
5.
Compor mensagem, inserindo os valores obtidos nas respectivas posies do bit de paridade:
Posies 1 2 1 3 0 4 0 5 6 7 1
Passos 1
2 3 6
7.
H H 0
H H 1 1 1
H H 1 1 1 0 0 0 0
Passo-a-Passo da Decodificao:
1.
2.
Converter para binrio as posies setadas em 1; Aplicar XOR aos valores obtidos anteriormente;
Se o valor for diferente de 0 houve erros na transmisso. Caso contrrio no houve erros na transmisso.
12
0 1 0 xor xor 1 0 0 1 1 0 1 0 1 0 1 1
Erro no bit 3
5.
13
EXERCCIOS
1.
2.
Decodifique os seguintes cdigos, caso haja erro na mensagem indique qual o bit errneo e a mensagem correta:
a) b) c)
15
A verificao de redundncia cclica um cdigo detector de erros que gera um valor expresso em poucos bits em funo de um bloco maior de dados, como um pacote de dados com intuito de detectar erros de transmisso ou armazenamento.
16
O CRC calculado e anexado informao a transmitir /armazenar e verificada aps a recepo ou acesso, para confirmar se no ocorreram alteraes.
Implementao simples; Analise matemtica simples; Eficincia na deteco de erros tpicos causados por rudo em canais de transmisso.
17
Emissor/receptor concordam num polinmio gerador G(x), em que quanto maior for o seu grau maior ser a capacidade de deteco de erros.
CRC-16
Checagem de soma de 16 bits utilizada por diversos protocolos de transferncia de arquivos. x16+x15+x2+1. Padro internacional de 16 bits. x16+x12+x5+1. Padro de 32 bits, utilizado na maioria dos protocolos de redes locais. 32 26 23 22 16 12 11 10 8 7 5 4 2 x +x +x +x +x +x +x +x +x +x +x +x +x +x.
CRC-CCITT
CRC-32
18
19
Execuo:
O polinmio p(x) representado pela palavra inicial somada aos bits de paridade e deve ser divisvel por G(x); O receptor tenta dividir p(x) por G(x). Se houver resto 0, houve um erro de transmisso; Se houver um erro, em vez de se receber o polinmio 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).
20
Exemplo:
Mensagem a transmitir:10111011 Polinmio gerador G(X) = x4+x+1 => 10011 Acrescenta-se mensagem inicial, a quantidade de zeros equivalentes ao grau de G(x), ficando: 10111011 0000 Seguidamente divide-se a mensagem (ponto anterior) pelo polinmio gerador.
A diviso de dois polinmios (na sua forma binria) feita recorrendo operao XOR ()
21
O resto que da diviso finalmente adicionado mensagem original, pelo que a mensagem transmitida ser: 22 101110111111
23
24
EXERCCIOS
1.
2.
3.
4.
Verifique se houveram erros, atravs do CRC de polinmio gerador x4+1, no seguinte quadro recebido:11010110111110 Utilizando o CRC com polinmio gerador = x4+x3x+x, gere o quadro a ser transmitido, com o seguinte original: 1000100100 Utilizando o quadro anterior, gere o quadro a ser transmitido utilizando os polinmios CRC-16, CRCCCITT e CRC-32 Qual o resto obtido pela diviso de x7 + x5 + 1 pelo polinmio gerador x3 + 1?
25
EXERCCIOS
5.
Um fluxo de bits 10011101 transmitido com a utilizao do mtodo de CRC padro descrito no texto. O polinmio gerador x3 + 1. Mostre o string de bit a ser transmitido. Suponha que o terceiro bit a partir da esquerda seja invertido durante a transmisso. Mostre que esse erro detectado na extremidade receptora
26
CHECKSUM
Consiste na transmisso de todas as palavras juntamente com o resultado da sua soma binria. Inclui o bit de transporte.
27
CHECKSUM
Exemplo: Checksum de 2 palavras de 8 bits Dados iniciais: 00111101 00001101
Checksum : 01001010
28
CHECKSUM
Dados enviados:
00111101 00001101
10110101 (checksum invertido)
No receptor, as palavras so novamente somadas e comparadas com o checksum enviado: Se qualquer um dos dados transmitidos, incluindo o checksum, sofrerem algum erro ento, 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
29
CHECKSUM
Valor recebido incorretamente, com erro no 3ou 5bit (de qualquer uma das palavras enviadas, incluindo o checksum).
30
DUVIDAS?
31