C digo de Hamming

510 palavras 3 páginas
Código de Hamming
O código de Hamming é um código de bloco linear, foi desenvolvido por Richard Hamming, a sua utilização permite a transferência e armazenamento de dados de forma segura e eficiente.

P1 = X1 xor M1 xor M2 xor M4
P2 = X2 xor M1 xor M3 xor M4
P3 = X3 xor M2 xor M3 xor M4

Exemplo:
MSG: 0101
X1

Exemplo 1) Erro no bit M4 da mensagem:
X1
X2
M1
X3
0
1
0
0
1
2
3
4

X2

M1
X3
M2
M3
M4
0
1
0
1
1
2
3
4
5
6
7
Os bits de Hamming sempre ocupam as posições potência de 2 (1,2,4,8,..)
M1, M2, M3 e M4: são os bits da mensagem
M1 = posição 3 = 2 + 1 = X2 + X1
M2 = posição 5 = 4 + 1 = X3 + X1
M3 = posição 6 = 4 + 2 = X3 + X2
M4 = posição 7 = 4 + 2 + 1 = X3 + X2 + X1
X1, X2 e X3: são os bits de Hamming
X1 = M1 xor M2 xor M4
X2 = M1 xor M3 xor M4
X3 = M2 xor M3 xor M4
X1
X2
M1
X3
0
1
0
0
1
2
3
4

M2
1
5

M3
0
6

M4
0
7

P1 = 0 xor 0 xor 1 xor 0 = 1
P2 = 1 xor 0 xor 0 xor 0 = 1
P3 = 0 xor 1 xor 0 xor 0 = 1

(P3P2P1)2  ( 7 )10  posição decimal do bit incorreto.
Exemplo 2) Erro no bit X3 do Hamming:
X1
X2
M1
X3
0
1
0
1
1
2
3
4
P1 = X1 xor M1 xor M2 xor M4
P2 = X2 xor M1 xor M3 xor M4
P3 = X3 xor M2 xor M3 xor M4

M2
1
5

M3
0
6

M4
1
7

P1 = 0 xor 0 xor 1 xor 1 = 0
P2 = 1 xor 0 xor 0 xor 1 = 0
P3 = 1 xor 1 xor 0 xor 1 = 1

(P3P2P1)2  ( 4 )10  posição decimal do bit incorreto.

M2
1
5

P1 = X1 xor M1 xor M2 xor M4
P2 = X2 xor M1 xor M3 xor M4
P3 = X3 xor M2 xor M3 xor M4
Sem erros nem na mensagem nem no bits de Hamming.
P1 = 0 xor 0 xor 1 xor 1 = 0
P2 = 1 xor 0 xor 0 xor 1 = 0
P3 = 0 xor 1 xor 0 xor 1 = 0

M3
0
6

M4
1
7

TRABALHO 3) Faça um programa em VHDL que a partir de uma mensagem de 4 bits (QUALQUER, inseridas pelas teclas da placa) seja gerado os bits de Hamming. Estes bits devem ser escritos nos leds. Nas outras 4 chaves, será inserido uma mensagem (que seria a recebida no receptor). Essa mensagem pode apresentar erro ou não. No display de 7 segmentos deve aparecer a posição do bit errado (caso tenha). Conforme exemplos anteriores. Para fins de testes, não

Relacionados

  • Códigos Corretores de Erros
    12584 palavras | 51 páginas
  • Códigos convolucionais
    11157 palavras | 45 páginas
  • filtros digitais aplicados em sinais de audio
    16719 palavras | 67 páginas
  • Sistemas Digitais - Fundamentos e Aplica - Floyd, Thomas L
    55111 palavras | 221 páginas
  • Resumo - arquitetura de computadores
    5281 palavras | 22 páginas
  • O poder do pensamento matematic Jordan Ellenberg
    162470 palavras | 650 páginas
  • A QUALIDADE DA VOZ NO TRABALHO
    42080 palavras | 169 páginas
  • Inteligência artificial
    173775 palavras | 696 páginas
  • Espa Os Metricos
    185940 palavras | 744 páginas
  • Acústica
    48378 palavras | 194 páginas