Comunicação digital - codificação de controle de erros
O ruído ou erro é o principal problema do sinal, o que atrapalha a confiabilidade do sistema de comunicação. Error control codingé o procedimento de codificação feito para controlar a ocorrência de erros. Essas técnicas ajudam na detecção e correção de erros.
Existem muitos códigos de correção de erros diferentes, dependendo dos princípios matemáticos aplicados a eles. Mas, historicamente, esses códigos foram classificados emLinear block codes e Convolution codes.
Códigos de Bloco Lineares
Nos códigos de bloco linear, os bits de paridade e os bits de mensagem têm uma combinação linear, o que significa que a palavra de código resultante é a combinação linear de quaisquer duas palavras de código.
Vamos considerar alguns blocos de dados, que contêm kbits em cada bloco. Esses bits são mapeados com os blocos que têmnbits em cada bloco. Aquin é melhor que k. O transmissor adiciona bits redundantes que são(n-k)bits. A proporçãok/n é o code rate. É denotado porr e o valor de r é r < 1.
o (n-k) bits adicionados aqui, são parity bits. Os bits de paridade ajudam na detecção e correção de erros e também na localização de dados. Nos dados sendo transmitidos, os bits mais à esquerda da palavra de código correspondem aos bits de mensagem e os bits mais à direita da palavra de código correspondem aos bits de paridade.
Código Sistemático
Qualquer código de bloco linear pode ser um código sistemático, até que seja alterado. Portanto, um código de bloco inalterado é chamado desystematic code.
A seguir está a representação do structure of code word, de acordo com sua alocação.
Se a mensagem não for alterada, ela é chamada de código sistemático. Isso significa que a criptografia dos dados não deve alterar os dados.
Códigos de Convolução
Até agora, nos códigos lineares, discutimos que o código sistemático inalterado é preferido. Aqui, os dados do totaln bits se transmitidos, k bits são bits de mensagem e (n-k) bits são bits de paridade.
No processo de codificação, os bits de paridade são subtraídos de todos os dados e os bits de mensagem são codificados. Agora, os bits de paridade são adicionados novamente e todos os dados são novamente codificados.
A figura a seguir cita um exemplo de blocos de dados e fluxo de dados, usados para transmissão de informações.
Todo o processo, mencionado acima, é tedioso e tem desvantagens. A distribuição de buffer é o principal problema aqui, quando o sistema está ocupado.
Esta desvantagem é eliminada nos códigos de convolução. Onde todo o fluxo de dados recebe símbolos e depois é transmitido. Como os dados são um fluxo de bits, não há necessidade de buffer para armazenamento.
Códigos de Hamming
A propriedade de linearidade da palavra de código é que a soma de duas palavras de código também é uma palavra de código. Códigos de Hamming são o tipo delinear error correcting códigos, que podem detectar erros de até dois bits ou podem corrigir erros de um bit sem a detecção de erros não corrigidos.
Ao usar os códigos de Hamming, bits de paridade extras são usados para identificar um único erro de bit. Para passar do padrão de um bit para o outro, alguns bits devem ser alterados nos dados. Esse número de bits pode ser denominado comoHamming distance. Se a paridade tiver uma distância de 2, a inversão de um bit pode ser detectada. Mas isso não pode ser corrigido. Além disso, quaisquer flips de dois bits não podem ser detectados.
No entanto, o código de Hamming é um procedimento melhor do que os discutidos anteriormente na detecção e correção de erros.
Códigos BCH
Os códigos BCH são nomeados em homenagem aos inventores Bose, Chaudari e Hocquenghem. Durante o projeto do código BCH, há controle sobre o número de símbolos a serem corrigidos e, portanto, a correção de vários bits é possível. Os códigos BCH são uma técnica poderosa em códigos de correção de erros.
Para quaisquer inteiros positivos m ≥ 3 e t < 2m-1existe um código binário BCH. A seguir estão os parâmetros desse código.
Comprimento do bloco n = 2m-1
Número de dígitos de verificação de paridade n - k ≤ mt
Distância mínima dmin ≥ 2t + 1
Este código pode ser chamado de t-error-correcting BCH code.
Códigos Cíclicos
A propriedade cíclica das palavras em código é que qualquer mudança cíclica de uma palavra em código também é uma palavra em código. Os códigos cíclicos seguem esta propriedade cíclica.
Para um código linear C, se cada palavra de código, ou seja, C = (C1, C2, ...... Cn)de C tem um deslocamento cíclico para a direita dos componentes, torna-se uma palavra-código. Esta mudança de direita é igual an-1deslocamentos cíclicos para a esquerda. Portanto, é invariável sob qualquer mudança. Então, o código linearC, uma vez que é invariante em qualquer mudança, pode ser chamado de Cyclic code.
Os códigos cíclicos são usados para correção de erros. Eles são usados principalmente para corrigir erros duplos e erros de ruptura.
Conseqüentemente, esses são alguns códigos de correção de erros, que devem ser detectados no receptor. Estes códigos evitam que os erros sejam introduzidos e perturbem a comunicação. Eles também evitam que o sinal seja capturado por receptores indesejados. Existe uma classe de técnicas de sinalização para fazer isso, que são discutidas no próximo capítulo.