segunda-feira, 15 de outubro de 2012
Técnicas de deteção e correcção de erros em transmissões digitais
Em qualquer meio que comunicamos podem ocorrer situações em que a transmissão da mensagem pode não ser a correcta. Ruídos e interface são os que ocorrem normalmente, e para que estes erros se corrigem existem códigos de detecção de erros.
1. Detecção de erros:
Existem três codigos de detecção de erros frequentemente utilizados que são: Verificação de paridade, checksum e CRC.
1.1 Verificação de paridade:
Esta técnica é a mais utilizado para detectar erros. Diz-se que a sequencia é um bit de pariade quando a sequência tiver um numero par de 1´s, mas se tiver um numero ímpar de 1´s a menssagem está incorrecta.
Exemplos:
11001100- A menssagem está correcta.
10101011- A menssagem está incorrecta.
1.2. Checksums:
Esta técnica serve mais para detectar erros na internet. Esta verificação é ao nível de transporte de menssagens e baiseia-se na soma do conteúdo do segmento que é colocado numa posição da trama UDP, no lado do emissor. No recptor há lugar novamente á soma do segmento. Se da soma de checksums resultarem apenas de 1´s, podemos inferir que não houve erro na transmissão, caso contrário, existiu erro na transmissão. Esses erros são assinalados nas posições que da soma de checksums resultem zeros. Os erros podem ocorrer no segmento ou no própio código detector de erros.
1.3. CRC- Cyclic Redundancy Check:
Esta técnica é mais eficiente que as anteriores. Ela também e chamada por detecção polinomial. Este método consiste em adicionar um conjunto de bits à menssagem original a transmitir.
O que vimos anteriormente diz respeito ao emissor. Mas como é que o recptor verifica se houve erros na trasmissão? Para isso e necessário que no receptor esta menssagem, agora já com CRC, seja novamente dividida por uma chave da codificação. SE o resto dor zero, diz-se que não houve erro e o contrário se o resto for diferente de zero.
2. Correcção de erros
Pedido automático de repetição (ARQ - Automatic repeat request)
Utiliza a repetição como método de correcção de erros em tramas. O receptor informa o emissor de que não ocorreram erros na transmissão no trama, enviando um aviso de recepção (ACK). Se depois de um tempo o emissor não tiver recebido essa ACK, significa que o bloco possuía erros. Então o bloco é enviado de novo até que exceda um certo número de repetições de envio, ou até que a ACK seja recebida.
Auto-correctores (ECC - error-correcting code)
É um código no qual cada sinal de dados está em conformidade com regras específicas de construção. Os desvios dessas regras podem ser detectados e corrigidos. Esta técnica é normalmente usada em armazenamento de dados no computador (por exemplo: memória flash) e em transmissões de dados.
Ele faz uso de um aumento significativo da informação de controle para corrigir o erro. Por isso eles são usados somente em situações específicas em que não haja outra alternativa, por exemplo numa transmissão "Simplex" (unidirecional). Se houver erro este mecanismo irá recorrer a um ou mais esquemas de detecção referidos anteriormente para saber exatamente em que bit(que varia entre 1 ou 0) está o erro para inverter esse bit.
Alguns códigos podem detectar e corrigir um certo número de bits de erros. Se apenas corrigirem um erro, são chamados códigos de correcção de erro único, ou SEC - single error correcting, e os que conseguem detectar dois erros são chamados de detecção de erro duplo, ou DED - double error detecting.
Subscrever:
Enviar feedback (Atom)
Sem comentários:
Enviar um comentário