¿Cómo resolver el código Hamming?
1) Generación de código Hamming. Ejemplo 1. Conocido: El código de información es: "0010". La relación de supervisión del código Hamming es: S2 = a2 a4 a5 a6 S1 = a1 a3 a5 a6 S0 = a0 a3 a4 a6 Encontrar: palabra clave del código Hamming. Solución: 1) Según la relación de supervisión, el código redundante es a2a1a0. 2) El código Hamming sintetizado por el código redundante y el código de información es: "0010a2a1a0". Supongamos S2=S1=S0=0, de la relación de supervisión: Operación XOR: a2=a4 a5 a6=1 a1=a3 a5 a6=0 a0=a3 a4 a6=1 Por lo tanto, la palabra del código Hamming es: "0010101" En cuanto a la segunda pregunta de la pregunta anterior: el código Hamming sintetizado por el código redundante y el código de información es: "0010a2a1a0". Por qué se agrega a2a1a0 directamente después del código de información en lugar de agregarlo después del código de información en el orden de 1, 2, 4 y 8 bits. Por ejemplo: 001 (a2) 0 (a1) (a0) = 0011001 2) Recepción. del código Hamming. Ejemplo 2. Se sabe que la relación de supervisión del código Hamming es: S2=a2 a4 a5 a6 S1=a1 a3 a5 a6 S0=a0 a3 a4 a6 La palabra clave recibida es: "0011101" (n=7) Encuentre: la información del código del remitente. Solución: 1) S2S1S0=011 se calcula a partir de la relación de supervisión del código Hamming. 2) La siguiente tabla de relaciones de posición del código de error se puede construir a partir de la relación de supervisión: S2S1S0 000 001 010 100 011 101 110 111 No hay error en la posición del código de error a0 a1 a2 a3 a4 a5 a6 3) Se conoce la posición del código de error mirando la tabla S2S1S0=011 Es a3. 4) Corrección de errores: invierta el bit a3 de la palabra clave para obtener la palabra clave correcta: "0 0 1 0 1 0 1" 5) Elimine el código redundante a2a1a0 para obtener el código de información del remitente: "0010" Método 2: (No es necesario Tabla de consulta, conveniente para la programación) 1) Generación de código Hamming (método de generación secuencial). Ejemplo 3. Conocido: El código de información es: " 1 1 0 0 1 1 0 0 " (k = 4 representa el número de dígitos redundantes, es decir, el número de dígitos del código de verificación Buscar: palabra clave del código Hamming). Solución: 1) Inserte los códigos redundantes A, B, C,... en el código de información en secuencia y obtenga la palabra del código Hamming: "A B 1 C 1 0 0 D 1 1 0 0" Bits de código: 1 2 3 4 5 6 7 8 9 10 11 12 Donde A, B, C y D se insertan respectivamente en la k-ésima dirección de 2 (k = 0, 1, 2, 3). Los puntos del código son 1, 2, 4 y 8 respectivamente. 2) Los bits de código lineal de los códigos redundantes A, B, C y D son: (equivalente a la relación de supervisión: D C B A 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1). 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 Según la tabla anterior , obtenga A B C D. Necesito explicar Lo que implica el cálculo en la fórmula es que el lado derecho del bit donde aparece "1" en la tabla es el número binario del bit de datos. " " en la fórmula significa exclusivo. O, entonces queda la siguiente expresión: A-gt; 1, 3, 5, 7, 9, 11; (1 3 5 7 9 11 aquí están todos los bits donde aparece 1 en la columna de A) B-gt; 2, 3, 6, 7, 10, 11; C-gt; 4, 5, 6, 7, 12; -gt; 8, 9, 10, 11, 12.
3) Utilice la verificación par del valor del bit del código lineal como valor del código redundante (suponiendo que el valor inicial del código redundante es 0): A=∑(0,1,1,0,1,0)=1B =∑ (0, 1, 0, 0, 1, 0) = 0 C = ∑ (0, 1, 0, 0, 0) = 1 D = ∑ (0, 1, 1, 0, 0) = 0 4 ) mar El código claro es: "1 0 1 1 1 0 0 0 1 1 0 0" 2) Recepción del código Hamming. Ejemplo 4. Conocido: La palabra de código recibida es: "1 0 0 1 1 0 0 0 1 1 0 0" (k = 4 representa el número de dígitos redundantes, es decir, el número de dígitos del código de verificación Buscar: la información). código del extremo emisor. Solución: 1) Suponga que el valor inicial del acumulador de errores (err) = 0 2) Encuentre la suma de verificación par del código redundante y acumule en err según el bit de código: A = ∑ (1, 0, 1, 0, 1 , 0)=1 err=err 2^0=1 B=∑(0,0,0,0,1,0)=1 err=err 2^1=3 C=∑(1,1,0, 0 , 0) =0 err=err 0 =3 D=∑(0,1,1,0,0) =0 err=err 0 =3 De err≠0, podemos saber que hay un error en el mensaje recibido palabra clave, 3) Error en la palabra clave La posición es el valor 3 del acumulador de errores (err). 4) Corrección de errores: invierta el valor del tercer bit de la palabra de código para obtener la palabra de código correcta: "1 0 1 1 1 0 0 0 1 1 0 0" 5) Elimine el código redundante ubicado en la k-ésima posición de 2 a obtener código de información: "1 1 0 0 1 1 0 0"