1º Bit 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 ímpar caso tenha número ímpar de 1's. Assim, este assume o bit 0 quando temos paridade par e 1 quando temos paridade ímpar.

 

 Exemplos:

1100110 - a mensagem está correta.

Porquê? Porque o último bit é zero indicando que o número de 1's que o precede é par (4 uns).

10101011 - a mensagem está errada.

Porquê? Porque o byte teria assim de ser retransmitido visto o bit de paridade dizer que o número de 1's é ímpar e no entanto é par (4 uns).

 

 

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 na transmissão.

 

Exemplos:

1º Passo - Fazer a respetiva soma de binários

 

 00111101

+00001101

  01001010

 

2º Passo - como a soma tem de ser em complemento para um terá de inverter a sequência resultante da soma normal (zeros passam a 1's e vice-versa)

 

Checksum invertido: 10110101

 

Os dados enviados serão então: 00111101 00001101 10110101, ou seja, os dois bytes iniciais mais a sequência de checksum invertido.

 

3º Passo - para verificar se ocorreram erros durante a transmissão, no receptor, teremos de voltar a somar os 2 bytes de dados enviados e somar ao checksum invertido.

 

10110101 (checksum invertido)

01001010 (checksum do receptor)

+

11111111

 

Como a soma resultou em 1's concluímos que não houve erro na transmissão

 

 

CRC ( Cycle Redudancy Check )

Está é a técnica mais eficiente que as anteriores. Muitas vezes, é também denominada por método de detecção polimonimal. O método consiste em adicionar um conjunto de bits (FCS- Frame Check Sequence) à mensagem original a transmitir. Os bits FCS são calculados através 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 polimoniais M(x) e G(x) onde M(x) é a nossa mensagem original sem código.de erros e G(x) o polinómio gerado pré-definido(chave da nossa codificação). Para facilitar a compreensão deste tema resolve se de seguida um exercício.

 

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

M(x)=1101011

G(x)=x1+x3+1

G(x)=11001

M(x)binXnbin=11010110000

1101011 = M(x)

0000=Xn

 

 

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

 

M(x)bin+FCS(x)bin=11010111010

1101011 M(x)bin

1010 FCS(x)bin

 

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

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

Se o resto for zero, diz-se que não houve erro e o contrário se o resto for diferente de zero.

 

 

Correção de erros

 

O bit de paridade: indica o número de bits 1 presentes num caracter. Paridade é par se tiver um número par de 1’s Paridade é ímpar se tiver um número impar de 1’s 11001100 – Mensagem correta, ou seja, o último bit é 0 indicando que o número de 1’s que o precede é par 10101011 – Mensagem errada, e assim, o byte teria de ser retransmitido visto o bit de paridade dizer que o número de 1’s é ímpar e no entanto é par . E a correção de erros é um dos métodos mais utilizados para a deteção de erros.

 

Verificação de Paridade: Esta técnica consiste em acrescentar um bit extra ao carácter, isto é, emprega a técnica de paridade que pode ser paridade par ou paridade ímpar, ou seja, a soma dos bits ligados (1) de um caracteres deve ser igual a um valor ímpar ou par.

Além dos oito bits de carácter que são gerados, a estação transmissora adiciona um bit de paridade para cada carácter e a soma desses nove bits deverá manter-se sempre ímpar ou par, dependendo da técnica de paridade empregada. Não há restrição ao uso da técnica de paridade em relação ao código utilizado pelo equipamento (Baudot, ASCII, EBCDIC, etc.)

 

Paridade Par:

 

Paridade Ímpar:

 

 

Checksums:Os checksums são técnicas utilizadas para detectar erros principalmente na Internet e denominam-se somas de verificação, ou seja, a verificção é usada ao nivel de transporte e é colocado na trama, no lado do emisso, e o recetor soma novamente o segmento,ou seja, se a soma de checksums, resultarem apenas 1’s, pode-se referir que não houve erro de transmissão.

 

Exemplos 1:
´2 bytes com valores 00111101 e 00001101
´1º passo, no emissor efetuar a soma

  00111101

    00001101

  --------------------

     +  01001010

´
´2º inverter o valor da soma

    01001010 -> 10110101

 

Exemplo 2:

 

Dados enviados: 00111101 00001101 10110101
 
3º O recetor volta a somar o valor anteriormente calculado e soma-o com o valor invertido. O mesmo terá que ter o valor 11111111
10110101
01001010 ----------+111111
 
Conclusão: transmissão sem erros
 
 
Agora deixo aqui uns pequenos exercícios para ver se vocês já percebam o que leram:

Exercício: Das sequências de bits que se seguem, indique em quais ocorreram erro, sabendo que o último bit é um bit de paridade 11100111110101011 10101011110001001 10101000000000100