Mi comprensión del código Hamming (agregar esto como podría ayudar a alguien en el futuro):
Description: El código Hamming es básicamente un código de verificación de paridad extendida. El mensaje se divide en bloques y se agregan múltiples bits de paridad en cada bloque de mensaje (por el transmisor) de manera que estos bits indiquen la posición del bit de error en ese bloque.
Código-clave: Cada bloque (mensaje + bits de paridad) forma una palabra clave. La lista de palabras de código válidas es conocida tanto para el transmisor como para el receptor. Cuando se encuentra que un bloque no coincide con la lista de palabras de código, se considera un error y se aplica una corrección.
Distancia de Hamming: Es el número de bits que difiere entre un par de palabras de código válidas. La distancia mínima entre todos los pares posibles de códigos válidos se denomina la distancia mínima de Hamming.
Preguntas :
Actualmente estoy usando el método de paridad para generar códigos Hamming. Como ejemplo, haré lo siguiente para generar un (7,4) código Hamming
- Defina las posiciones 1-7 para los 7 bits de bloque.
- Designar posición {1,2,4} , que son potencias de 2, para bits de paridad.
- Designe otras posiciones {3,5,6,7} para bits de datos
- Compute los bits de paridad que serán una función de los bits de datos presentes en el subconjunto de las posiciones anteriores y forman el código.
¿El algoritmo anterior garantizará que las palabras en código generadas tendrán una distancia de hamming mínima de 3? Si no ¿qué algoritmo debo usar para resolver el problema de generar códigos Hamming con la distancia mínima dada (o especificada)?
Nota: dado que fue una tarea laboriosa encontrar la distancia mínima de las palabras de código de 7 bits generadas, estoy publicando esta pregunta aquí para conocer el procedimiento general para generar códigos de Hamming con la distancia mínima dada (o especificada)