Você está na página 1de 4

CDIGO DE HAMMING

Matria: Comunicao de Dados Professor: Carlos Alberto Alves Lemos

Aluno: Victor Leite Hanan Matrcula: 2012 1100 113

Definio:
Um cdigo de Hamming adiciona um bloco de paridade a um bloco de dados, de forma a que, caso ocorram erros de transmisso, seja possvel detectar ou corrigir erros do bloco transmitido.

De todas as possveis palavras de cdigo, considerar como vlidas apenas algumas. Exemplo: 000,111

A distncia mnima entre as palavras de cdigo de 3 bits (distncia de Hamming). Se um bit for corrompido, o receptor detecta uma palavra de cdigo invlida e pode recuperar o original escolhendo a palavra de cdigo vlida mais prxima.

Algebra Linear e Aritmtica Modulo 2


Aritmtica modulo 2: Adio = XOR Produto = AND

Algebra linear:
Seja A uma matriz n m e x um vetor de dimenso m. null(A), o espao nulo de A, o espao gerado pelos vetores x que verificam Ax = 0. rank(A) o nmero de linhas/colunas linearmente independentes. Temos que rank(null(A)) + rank(A) = m. Exemplo:

rank(H) = 2; null(H) = 000,111, rank(null(H)) = 1; rank(H) + rank(null(H)) = 2 + 1 = 3.

O Cdigo de Hamming
Um cdigo de Hamming (c,d) formado da seguinte maneira: Constroi-se uma matriz H cujas colunas so formadas por todos os vetores no nulos de dimenso p = c d. O cdigo de Hamming consiste no espao nulo da matriz H, i.e., as palavras de cdigo verificam Hc = 0. Exemplo: Cdigo (3,1) -> 1 bit dados + 2 bits redundncia , espao nulo de H composto pelos vetores [000] e [111]

Deteco de erros
Como as palavras de cdigo pertencem ao espao nulo de H, muito simples verificar se houve erro de transmisso: Basta verificar se a palavra recebida r pertence ao espao nulo! Se Hr = 0, ento r pertence ao espao nulo OK! Se Hr 6= 0, ento r no pertence a null(H) ERRO! Exemplo: Se c = 000 e r = 000, Hr = [00] sem erros Se c = 000 e r = 001, Hr = [11] erros detectados Se c = 000 e r = 101, Hr = [10] erros detectados Se c = 000 e r = 111, Hr = [00] sem erros Note que se existirem 3 erros recebida uma palavra vlida e no so detectados erros. Detecta-se um erro quando Hr 6= 0. Como se pode saber qual o erro que ocorreu? Suponhamos que ocorreu um erro na posio i. Usando um vector ei = [0 . . . 010 . . . 0] para representar a posio onde ocorre o erro, temos que r = c + ei . Ento, Hr = H(c + ei ) = Hc + Hei = Hei . Mas Hei corresponde i-sima coluna de H. Portanto, calculando Hr e procurando em H, obtemos a posio i onde ocorreu o erro. Para o corrigir, basta invert-lo.

Como escolher o nmero de bits de paridade?


O nmero de colunas de H igual a 2p 1, que deve ser compatvel com a dimenso do vector r . Ento d + p = 2p 1 Regra de Hamming d + p + 1 2p Se a igualdade se verificar, diz-se que um cdigo perfeito. Os cdigos de Hamming designam-se pelo par (c,d) Exemplos:

Desempenho dos cdigos de Hamming


Taxa de transmisso : R = Aumentando o tamanho das palavras de cdigo, possvel fazer R 1. No entanto, a probabilidade de erro na decodificao tambm converge para 1:
A probabilidade de a decodificao ser correta corresponde a haver at um erro numa palavra de comprimento c. Num canal binrio simtrico com probabilidade de erro pe a probabilidade de decodificao correta de um cdigo (c, d), dada por:

(1 pe)c + cpe(1 pe)c1, cujo limite zero quando c .

Distncia mnima de um cdigo de Hamming:


Pode ser determinado atravs da matriz H ou com uma analise das palavras cdigo.

Calculando a distncia minima atravs da matriz H:


A distncia mnima do cdigo ser determinada pelo numero mnimo de colunas da matriz H que devem ser somadas para se obter o vetor nulo. Exemplo:

A distancia mnima para o cdigo cuja matriz H foi dada acima 3, porque so necessaria a soma de no mnimo 3 colunas para obtermos o vetor nulo.

Calculando a distncia minima atravs das palavras cdigo:


A distancia mnima do cdigo ser determinado pela mesma distncia entre duas palavras cdigo lembrando que o vetor nulo sempre corresponde a uma palavra cdigo.

Se calcularmos as distncias entre todas as palavras cdigo o menor valor obtido corresponde a distncia mnima para o cdigo. Nesse exemplo igual a 3.

Capacidade de deteco:
o nmero de erros que podem ser detectados utilizando um cdigo de Hamming depender da distancia minima (dMIN) do cdigo utilizado. e o nmero mximo de erros detectados ser dado por:

Capacidade de correo:
O nmero de erros que podem ser corrigidos utilizando um cdigo de Hamming tambm depender da distancia minima (dMIN) do cdigo utilizado. e o nmero mximo de erros corrigidos ser dado por: