Escolar Documentos
Profissional Documentos
Cultura Documentos
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:
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:
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.
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.
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: