Como calcular o código de Hamming

códigos de Hamming são simples de implementar e muitas vezes utilizado para correção de erros.

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 concebidos de modo que um erro pode não só ser detectadas, 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 meios com taxas de erro elevadas.


Hamming de codificação pode ser difícil de implementar, mas pode ser feito muito rápido usando de nível pouco truques aritméticos. Isto o torna um sistema de correção de erros útil para alta velocidade e aplicações embarcadas.

  • Criar a palavra de dados. Qualquer bits com uma posição que é uma potência de dois (primeiro, segundo, quarto, etc.) devem ser reservados para a informação 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 1 torna 1 0 1 0 0 1 0

    Os bits permanecem na mesma ordem, mas foram espalhados para ajustar os bits de paridade.

  • Calcule o primeiro bit de paridade. Começando com o primeiro bit, ler um pouco, então pular um pouco e repetir, ao contar o número de uns encontrados. bits de paridade contam como zeros.

    Se o número de uns for par, defina o primeiro bit a zero. Caso contrário, defina-o como 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 é ajustado para zero: 0 1 1 0 1 0 0 1 0

  • Computar os bits de paridade restantes. Bit duas leituras dois bits a partir de bit dois, em seguida, ignora dois e repetições. Bit quatro lê quatro bits, em seguida, pula quatro e começa com pouco quatro. Continue com este padrão até que não haja paridade bits de esquerda para computar.

    Exemplo:

    Bit 2: 0 1 1 0 1 _ 0 0 1 0 controlos 1, 01, 01, que contém os 3, então o bit 2 é fixado em um.
    Bit 4: 0 1 1
    1 0 1 _ 0 0 1 0 controlos 101, 0, que contém os 2, de modo que o bit 4 é definido como zero.
    Bits 8: 0 1 1 0 1 0 1
    0 0 1 0 controlos _0010, com apenas um um, o bit 8 de um.

    A palavra codificada é, portanto, 011010110010.

  • Confirme a palavra. Se uma palavra está corrompido, os bits de paridade não vai coincidir com o que é esperado. Para confirmar que a palavra não está corrompido, basta calcular os bits de paridade usando etapas dois e três. Se todos os bocados não correspondem, gravar as suas posições.

  • Corrigir o mau bocado. Se você encontrar bits de paridade incorretos, basta somar as posições dos bits. A soma é a posição do bit incorrecto. Virar o valor do bit nessa posição.

    Por exemplo, se o bits de paridade um e quatro são incorretas, lançando o valor do quinto bit irá corrigir o erro.

dicas avisos

  • A adição de um bit de paridade extra que calcula o número de zeros em toda a palavra torna possível a detecção de erros de dois-bits. códigos de Hamming normais irão proporcionar um resultado errado no caso de erro de dois bits.
De esta maneira? Compartilhar em redes sociais:

LiveInternet