Procurar na página


Contactos

Redes de Comunicação
Amadora

E-mail: azorofox@hotmail.com

Deteção de Erros

          Técnicas de deteção de erros e correção de erros nas transmissões digitais:

  • Verificação de paridade
  • Checksum
  • CRC (Cyclic Redundancy Check)

Quando estamos em ambiente ruidosos temos dificuldade em ouvir alguem que fale conosco, nas transmissões de dados, fenómenos como o ruído e as interferências também ocorrem, podendo deturpar a mensagem original. Devido a este problema são aplicados códigos de deteção e correção de erros às transmissões.

Vamos falar de 3 códigos detetores de erros: Verificação de paridade, Checksum e CRC (Cyclic Redundancy Check).

 

 

Verificação de paridade

 

 

Este é um dos métodos mais utilizados para a deteção de erros. O bit de paridade indica o número de bits 1 presentes num carácter (Byte).Assim, diz-se que a paridade é par se tiver um número par de 1's e impar caso tenha número impar de 1's. Assim, este assume o bit 0 quando temos paridade par e 1 quando temos paridade ímpar.
Vejamos os exemplos:
1100110 -  neste caso a mensgaem está correta. O último bit é 0 indifcando que o número 1's que o precede é par (4 uns(1)).
10101011 - a mensagem está errada. O byte teria assim de ser retransimitido vesto o bit de paridade dizer que o número de 1's é impar e no entanto é par
(4 uns(1)).
 
Exercico:
Das sequências de bits que se seguem, assinala em qual/quais ocorreram erros, sabendo que ultimo bit é um bit de paridade 
a)11100111110101011 -  X
b)10101011110001001 -  X
c)10101000000001000 - 
d)110000 - X
 

Checksum

São técnicas utilizadas para detectar erros principalmente na internet e denominam-se somas de verificação. Se a soma de checksums ( normal e complemento de para 1) resultarem apenas 1's, podemos inferir que "não" houve erros na transmissão, caso contrário, existiu erro an transmissão.

Exercício:

   00111101

+ 00001101

   01001010

 

CRC

Esta é a técnica mais eficiente que as anteriores. Muitas vezes, é tambem denominada por metodo de deteção polinominal. O metodo consiste em adicionar um conjunto de bits(FCS-Fram Check Sequence) à mensagem original a transmitir. Os bits FCS são calculados atraves da seguinte expressão :

FCS(x)=resto      M(x)*xm / G(x)

FCS(x) é igual ao resto da divisão inteira entre duas funções polinomiais M(x) e G(x) onde M(x) é a nossa mensagem original sem codigo de erros e G(x) o polinómio gerado pré-definido. Para facilitar a compreensão deste tema resolve-se de seguida um exercicio.

M(x)=x6+x5+x3+x+1

M(x)=1101011

G(x)=x4+x3+1

G(x)=11001              M(x)bin   xnbin

M(x)Binxnbin=1101011  0000

 

XOR

A

B

A XOR

0

0

0

0

1

1

1

0

1

1

1

0

M(x)*xn

11010110000          |11001  G(x)bin

11001                     1001010

000111

  00000

  001111

    00000

    011110

      11001

      001110

        00000

        011100

          11001

          001010

           00000

           01010

Mas como é que o receptor verifica se houve erro na transmissão ou não?

        Faz a divisão do M(x); e FCS

SE O RESTO for 0 não houve erros.