You are on page 1of 9

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE TECNOLOGIA E GEOCINCIA DEPARTAMENTO DE ELETRNICA E SISTEMAS

RELATRIO DO LABORATRIO IV CDIGO DE HAMMING

Alunos: Paulino Jos de Albuquerque Neto Thiago Pereira Viana

Introduo
Este relatrio tem o objetivo de explicar a prtica referente ao cdigo de Hamming, primeiramente dando uma nfase referente ao cdigo propriamente dito, suas matrizes e equaes e por ltimo conhecidos esses parmetros passamos implementao propriamente dita com o uso das portas lgicas adequadas para cada fim. Tentamos na explicao da implementao fazer, na medida do possvel, uma relao com a teoria dos cdigos corretores de erro, seja pelo relacionando as sadas das portas lgicas com as sndromes (colunas da matriz H), seja pelo uso das propriedades das portas lgicas, de modo a ter a maior relao possvel entre teoria e prtica.

UFPE Universidade Federal de Pernambuco Tcnicas Digitais Engenharia Eletrnica 2008.1 Alunos: Paulino Jos de A. Neto / Thiago Pereira Viana Relatrio Prtica 4

Dada a matriz G ao lado, podemos por observao chegar concluso que podemos obter as equaes de paridade do cdigo descritas abaixo:

P2 = d 3 d 2 d 0 P1 = d 3 d 1 d 0 Po = d 2 d 1 d 0
Dada a matriz G ,ao lado podemos adapt-la de modo a t-la de uma forma equivalente como abaixo:,
1 0 0 0 1 1 0 G' = 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 1

(II)

(III)

Com essa nova matriz podemos achar a matriz verificadora de paridade, matriz H, o do algoritmo pratico de pegar a matriz transposta das equaes de paridade e justapor a mesma uma matriz identidade de ordem (n-K),no caso ordem 3,como vemos a baixo:

1 1 0 1 1 0 0 H =1 0 1 1 0 1 0 0 1 1 1 0 0 1 (IV)

A partir da matriz acima podemos pegar cada uma das sete colunas e formar um vetor coluna( hi , onde i varia de 1 7), dessa forma temos: 1 h1 = 1 0 1 h2 = 0 1 0 h3 = 1 1 1 h4 = 1 1 1 h5 = 0 0 0 h6 = 1 0 0 h7 = 0 1 (V)

Sabemos que cada uma das matizes coluna acima representa uma sndrome de uma palavra do cdigo.

Partindo das equaes de paridade e supondo que haja apenas um erro por vez em cada digito de informao, podemos ter erros em : d 0 , d 1 , d 2 , d 3 .
P2 = d 3 d 2 d 0 P1 = d 3 d 1 d 0 Po = d 2 d 1 d 0

Se usarmos um artifcio de gerarmos paridades G2,G1,G0 de modo similar P2,P1,P0, , onde G2,G1,G0 so paridades geradas e P2,P1,P0 so paridades recebidas

G2 G1

= d3 d2 d0

= d 3 d1 d 0 Go = d 2 d 1 d 0
G0 P0
Para um erro em d1: G1 P1

Se agora comparamos P2 com G2, G1 com P1 e G0 com P0 termos que essas comparaes sero todas iguais se a palavra binria no tiver erros(supondo que s haja no mximo um erro, j que esse cdigo s detecta dois erro e corrigi um erros no simultaneamente ). Agora supondo um erro em d 1 teremos que apenas as h paridades que tiverem o bit d1 seram diferentes das paridades recebidas dessa forma teremos :

G0 P0 Para um erro em d2 teremos: G1 = P1 G2 P2 G0 = P0 G0 P0 Para um erro em d0 teremos: G1 P1 G2 P2 G0 = P 0 Para um erro em P1 teremos: G1 P1 G2 = P 2

G2 = P2

Para um erro em d3 teremos: G1 P1 G2 P2 G0 P0 Para um erro em P0 teremos: G1 = P1 G2 = P2 G0 = P0 Para um erro em P2 teremos: G1 = P1 G2 P2

Admitindo que as diferenas sejam tratadas como sendo um e as igualdades sendo zero e 1 fazendo a matriz coluna dos resultados acima teremos: para erro em d0 = 1 h 4 , 1

d1 = 1 h1 , d 2 = 0 h 2 , d 3 = 1 h3 , P0 = 0 h5 , P1 = 1 h6 , P 2 = 0 h7 0 1 1 0 0 1

Com o uso de portas and, poderemos identificar se duas ou trs comparaes derem diferentes ao mesmo tempo: Se (G1 P1 e Go Po ) h1 houve erro em d1 Se (G2 P2 e Go Po e G1 P1) h4 houve erro s em do Se ( G2 P2 e Go Po) h2 houve erro em d2 Se (G2 P2 e G1 P1) h3 houve erro em d3 Se (G2 = P2 e Go Po e G1 = P1) h5 no houve erro nos 4bits de informao Se (G2 = P2 e Go = Po e G1 P1) h6 no houve erro nos 4bits de informao Se (G2 P2 e Go = Po e G1 = P1) h7 no houve erro nos 4bits de informao Finalmente com conhecimento de que a porta lgica ou exclusivo tem como sada 1 se as entradas forem diferentes e zero se forem iguais ,alm de que elas geram a paridade das entradas e que erros nas paridades recebidas significam que os 4 bits de informao esto corretos, estamos pronto para a partir disso projetar o circuito codificador e decodificador de Hamming.

Codificador de Hamming
Com uso das equaes de paridade j encontrada anteriormente e usando portas xor conforme j U1B explicado teremos o seguinte circuito codificador:
4I 5I O6

P2

d3
9I

U1C
O8

12 I 13 I

U1D
O 11

P1

10 I

d2
1I

U2A
O3

P0

d1
1I

2I

U1A
O3

d0

2I

Nesse circuito um apalavra binrio de 4 bits entra e produz trs bits de paridades que sero acrescido aos quatro bits originais resultando numa palavra binria de sete bits,ou seja, palavra codificada.

Decodificador de Hamming
L18

G1
U1C
9I 10 I O8

U1B
12 I 13 I O 11

d3

V7 0V
1

U2A

L17

G2

1I 2I

O3

d2

V1 0V
1

L16
1

d1

V2 0V
1

CODIFICADOR(GERADOR DE PARIDADES)
U1D U1A
1I 2I O3 4I 5I O6

L15

d0

V3 5V
1 1

G0

L14
1

p2 p1

V4 5V
1

L13 V5 5V
1 1

COMPARAO G1 P1
I9 I 10

L12
8O

U3D

I4 I5 6O I 10 I9 8O I 13 I 12

p0

V6 5V
I 12 I 13 1 1

U4C

COMPARAO G2 P2

U2B

COMPARAO G0 P0

11 O

h6
I2 I1

h7
I5 I4

h5

U5A
3O

U5B
6O

U5C

h6 h5 = h1
U7B

controle
I2 I1

3O

I2 I1

h7 h5 = h3

d1 "CORRIGIDO"
3O

U4D U6D
3O I2 I1

h7 h6 = h3
U5D

d0 "CORRIGIDO"
I2 I1

h7 h6 h5 = h4
U6A

3O

controle controle
U7A
I5 I4

d3 "CORRIGIDO"
I 13 I 12

6O

U6B
11 O I 10 I9

d2"CORRIGIDO"

controle
U6C

L4
1

L3
1

L2
1

L1
1

8O

11 O

Na figura acima est descrito o circuito decodificador de Hamming onde as 5 primeiras portas XOR so responsveis por calcular as paridades geradas, as 3 portas posteriores comparam as paridades geradas com as recebidas, o grupo de portas and responsvel por fazer a combinao das comparaes entre paridades , as trs portas seguinte ao grupo de and tem como funo modificar o resultado das combinaes feitas nas trs primeiras and caso a ultima and tenha como sada um, pelo fato de que se a ultima and tiver como sada um as demais tambm tero ento necessrio alterar as informaes das outras sadas das and para evitar que haja correo em mais posies alm de d0, o grupo final de Xor(portas ligadas ao led) tem a finalidade de caso a de controle entrada seja 0 ela deve manter o a informao caso contrrio ela inverte, em outras palavras ela corrige o bit de entra se o sinal de controle, vindo do circuito for 1, e mantm admitindo que no h erros nos bits de entrada se o controle for 0.

Materiais Usados
Foi usado nesta prtica o seguinte material: 3 CIs XOR 7486 1 CI AND 7408

Portas XOR

Portas AND

You might also like