Método de hamming
Foi criado em 1950 por Richard Hamming (1915-1998). O código de Hamming prevê a correção de um único erro e se baseia no método da paridade, entretanto tem a vantagem de detectar a localização do erro. Podem e, em geral é o que ocorre ser necessários mais de um bit de paridade para a verificação dos erros. O número de bits de paridade é dado pela seguinte fórmula:
2p ≥ d+p+1
Onde d é o número de bits do código e p é o número de bits de paridade necessários.
Os bits de paridade são inseridos nas posições 2n, onde n é um número natural; ou seja, nas posições 1, 2, 4, 8 etc.
Em um código de 8 bits, por exemplo, a posição 1 representa o bit mais significativo e a posição 8 o menos significativo.
Tabela 1 Designação | P1 | P2 | D1 | P3 | D2 | D3 | D4 | Posição | 1 | 2 | 3 | 4 | 5 | 6 | 7 | Pos. em binário | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
A posição do bit em binário é um dado significativo para a determinação do bit de paridade. O bit P1 irá verificar os bits das posições binárias em que o algarismo menos significativo é 1. O bit P2 verificará os bits das posições binárias que possuem o bit 1, na posição central. E, finalmente, o bit P3 fará a verificação do conjunto de bits que possuem, na posição binária, o bit “1” na posição mais significativa. Os bits p1, P2 e P3 verificarão respectivamente os conjuntos {P1, D1, D2, D4}, {P2, D1, D3, D4} e {P3, D2, D3, D4}.
O processo foi descrito para o exemplo da tabela 1, de 7 bits, entretanto é bem genérico e, com processo análogo, se aplica a qualquer quantidade de bits.
A verificação de um código se dá da mesma forma que no método da paridade, com a diferença de terem que ser feitas uma verificação para cada um dos bits verificadores. Será encontrado, para cada bit verificador, a informação se o bit está correto ou não.
Feita a verificação do código, o próximo passo é determinar em qual posição está o bit com erro. Para os bits de paridade corretos