Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Código detectores y correctores de errores: Hamming

Última Actualización: 30 de Agosto de 2003 - Sábado

Los código Hamming son una clase particular de los códigos bloque lineales. En general, los código Hamming tienen sus parámetros de la forma (2r-1,2r-1-r). Por ejemplo, tomando r = 3, obtenemos un código (7, 4) con matriz generadora:

    1 0 0 0 | 1 0 1
G = 0 1 0 0 | 1 1 0
    0 0 1 0 | 1 1 1
    0 0 0 1 | 0 1 1

Todos los códigos Hamming tienen una distancia Hamming de 3, por lo que puede detectar dos errores o corregir uno, usando decodificación "dura".

Un código Hamming comple la siguiente desigualdad: n + 1 < = 2n-k. Si se cumple la igualdad, tendremos un código perfecto.

Para la generación de un código Hamming con parámetros (n, k) se parte de su matriz de comprobación de paridad, "H", que tiene la forma: H = (Pt|In-k). Generaremos "P" de forma que todas las columnas de "H" sean linealmente independientes y no contengan el vector CERO.

El orden de las columnas generadas para "H" nos proporciona códigos equivalentes. Una propiedad interesante de los códigos Hamming es que si se generan las columnas en un orden determinado, obtenemos un código Hamming "canónico" cuya evaluación en recepción nos indica directamente el bit defectuoso.


Historia

  • 30/Ago/03: Primera versión de este documento.



Python Zope ©2003 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS