códigos de Hamming são usados para inserir informações de correção de erros em fluxos de dados . Os códigos são projetados de modo que um erro não só pode ser detectada, mas corrigido . Adição de informações de correção de erros aumenta a quantidade de dados, mas aumenta a confiabilidade das comunicações sobre os médiuns com alto erro de codificação rates.Hamming pode ser complicado de implementar, mas pode ser feito muito rápido usando a nível de bit truques aritméticos. Isto o torna um sistema de correção de erros úteis para aplicações embarcadas de alta velocidade e . Instruções
1
Criar a palavra de dados. Qualquer bit com uma posição que é uma potência de dois ( primeiro, segundo , quarto, etc ) devem ser reservados para informações de paridade. . Use o tempo de uma palavra que você precisa para ajustar os dados de origem e bits de paridade
Exemplo:
1 1 0 1 0 0 1 0 torna-se __ 1 _ 1 0 1 0 _ 0 1 0
os bits permanecem na mesma ordem , mas foram espalhados para ajustar os bits de paridade .
2
Calcule o primeiro bit de paridade. Começando com o primeiro bit , leia um pouco, então pular um pouco e repetir , enquanto a contagem do número de aqueles encontrados. Os bits de paridade contam como zeros.
Se o número de uns é ainda , definir o primeiro bit a zero. Caso contrário, defina-o para um
Exemplo: .
Bits 1, 3, 5, 7, 9 e 11 de __ 1 _ 1 0 1 0 0 1 _ 0, _11101 , contêm quatro queridos. Isto é ainda , de modo que o primeiro bit é definido para zero: 0 _ 1 _ 1 0 1 _ 0 0 1 0
3
Calcule os bits de paridade restantes. Bit dois lê dois bits a partir de bit dois, então pula dois e repete . Bit quatro lê quatro bits , em seguida, salta quatro e começa com pouco quatro. Continue com este padrão até que não haja bits de paridade para a esquerda para calcular
Exemplo: .
Bit 2 : 0 _ 1 _ 1 0 1 0 0 1 _ 0 cheques _1 , 01, 01 , que contém os três , de modo bit 2 é definido como one.Bit 4 : 0 1 1 _ 1 1 _ 0 0 0 1 0 controlos _101 , 0 , que contém os dois , então o bit 4 está definida para zero.Bit 8 : 0 1 1 0 1 0 1 _ 0 0 1 0 cheques _0010 , com apenas um , estabelecendo um bit 8 para um.
a palavra codificado é , portanto, 011010110010 .
4
Confirme a palavra . Se uma palavra está corrompido, os bits de paridade não irá coincidir com o que se espera . Para confirmar que a palavra não está corrompido, basta calcular os bits de paridade usando as etapas dois e três. Se os bits não coincidirem, gravar as suas posições.
5
Corrija o mau bocado . Se você encontrar os bits de paridade incorreta , simplesmente resumir as posições dos bits. A soma é a posição do bit incorrecto . Virar o valor do bit nessa posição.
Por exemplo, se a paridade de bits um e quatro são incorretas , lançando o valor do quinto bit irá corrigir o erro.