Mi comprensión del código hamming (agregando esto, ya que podría ayudar a alguien en el futuro):
Descripción: El código de 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.
Palabra clave: Cada bloque (mensaje + bits de paridad) forma una palabra clave. La lista de palabras de código válidas es conocida tanto por el transmisor como por el receptor. Cada vez que se encuentra un bloque que 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 difieren entre un par de palabras clave válidas. La distancia mínima entre todos los pares posibles de códigos válidos se denomina distancia mínima de hamming.
Preguntas:
Actualmente estoy usando el método de paridad para generar códigos de hamming. Como ejemplo, haré lo siguiente para generar un código de hamming (7,4)
¿Garantizará el algoritmo anterior que las palabras clave generadas tendrán una distancia mínima de hamming 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, publico esta pregunta aquí para conocer el procedimiento general para generar códigos Hamming con la distancia mínima dada (o especificada).
Para tener una distancia mínima de 3, es necesario que un solo cambio en un bit de datos cambie también al menos dos bits de paridad. Por lo tanto, cada bit de datos debe aparecer en las ecuaciones de 2 o 3 bits de paridad.
Además, dos bits de datos no pueden tener el mismo patrón de aparición en los bits de paridad o, de lo contrario, cambiar esos dos bits de datos daría como resultado una segunda palabra de código válida a una distancia de solo 2.
Como hay cuatro bits de datos, y
deben aparecer todas las combinaciones de 2 y 3 bits de paridad.
Así la matriz de generación es
y todas las demás matrices de generación de forma estándar válidas son solo permutaciones.
Todas las palabras de código se pueden generar luego mediante la multiplicación de matrices utilizando un campo finito, comúnmente denominado GF(2), donde la operación aditiva es XOR y la operación multiplicativa es AND.
Si sus viñetas son requisitos en lugar de un plan, reordene las filas para colocar los bits de paridad en las posiciones especificadas.
usuario103380
usuario105652
ben voigt