Codificación y Decodificación Eficiente Utilizando Códigos Hamming
 
Daniel H. Rosquete, Amadís A. Martínez y Freddy J. Perozo


Departamento de Computación
Facultad Experimental de Ciencias y Tecnología
Universidad de Carabobo
Valencia, Estado Carabobo, Venezuela
E-mail: {dhrosquete, aamartin, fperozo}@uc.edu.ve
 
Abstract
 
In telecommunications, the Hamming code is an error detecting and correcting code named in honor to its creator, Richard Hamming. The Hamming codes can detect single and double-bit errors and correct single-bit errors as well. These still are one of the most important error correcting codes both from theoretical and practical points of view. These have been studied for more than four decades and many properties concerning them have been proposed so far. In this paper we present two algorithms, based on a variant of the original Hamming method, for the Hamming encoding and decoding processes. The computational complexity of both algorithms is proved to be smaller than the complexity of the classical approaches based on linear algebra. The proposed algorithms have been tested on different data sets. The experiments we made confirm that the developed algorithms are faster in practice too.
 
Keywords: Error-Correcting Code, Hamming Code, Encoding, Decoding.
 
Resumen
 
En telecomunicaciones, el código Hamming es un código detector y corrector de errores que lleva el nombre de su inventor, Richard Hamming. Los códigos Hamming pueden detectar errores en uno o en dos bits, y también corregir errores en un solo bit. Éstos siguen siendo uno de los códigos correctores de errores más importantes desde diversos puntos de vista, tanto teóricos como prácticos. Han sido estudiados durante más de cuatro décadas y hasta ahora se han propuesto muchas propiedades relacionadas con ellos. En este artículo se presentan dos algoritmos, basados en una variante del método original de Hamming, para los procesos de codificación y decodificación utilizando códigos Hamming. Se demuestra que la complejidad computacional de ambos algoritmos es menor que la de enfoques clásicos basados en álgebra lineal. Los algoritmos propuestos fueron probados sobre distintos conjuntos de datos. Los experimentos realizados confirman que los algoritmos desarrollados, en la práctica, son más rápidos.
 
Palabras claves: Código Corrector de Errores, Código Hamming, Codificación, Decodificación.