Deteção e Correção de Erros em transmissões digitais
Quando estamos em ambientes ruidosos temos dificuldade em ouvir alguém que fale connosco, 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 então dizer três códigos de detecção de erros:
1º Verificação de Paridade
Este é um dos métodos mais utilizados para a detecçã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 assumo o bit 0 quando temos paridade par e 1 quando temos paridade ímpar. Vejamos o exemplo:
1100110 - a mensagem está correta. O último bit é zero indicando que o número de 1's que o precede é para (4 1's)
10101011 - a mensagem está errada. O byte teria assim de ser retransmitido visto o bit de paridade dizer que o número de 1's é impar e no entanto é par (4 1's).
2º 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.
Exercicio:
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
3º 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.