Una consulta sobre (7,4) Código Hamming

1

Tengo una consulta sobre (7,4) código de Hamming.

El polinomio generador para esto es \ $ g (x) = x ^ 3 + x + 1 \ $. El código no sistemático para la señal de mensaje \ $ m (x) \ $ es \ $ c (x) = m (x) g (x) \ $

El procedimiento anterior está dando una respuesta diferente a la que se da en muchos de los libros. El código de Hamming (7,4) se proporciona como:

\ $ \ {P_1 P_2 M_1 P_3 M_2 M_3 M_4 \} \ $ es la palabra clave para \ $ \ {M_4 M_3 M_2 M_1 \} \ $ señal de mensaje donde

\ $ P_1 \ $ es un bit de paridad par para \ $ M_1M_2M_4 \ $

\ $ P_2 \ $ es un bit de paridad par para \ $ M_1M_3M_4 \ $ y

\ $ P_3 \ $ es un bit de paridad par para \ $ M_2M_3M_4 \ $

Mi consulta es que lo anterior no se obtiene mediante procedimientos de codificación sistemáticos y no sistemáticos. ¿Puedes por favor explicarme dónde voy mal? (¿Es el polinomio generador o el procedimiento de codificación?)

No sé si es la pila correcta para publicar esta pregunta. No se pudo encontrar uno para ingeniería de comunicación, por lo tanto publicado aquí.

Gracias de antemano.

    
pregunta METALHEAD

1 respuesta

3

(7,4) -El código de Hamming se puede implementar con muchos pares de matriz de comprobación de paridad / generador, o en otras palabras, simplemente porque se dice que una implementación es un (7,4) -El código de Hamming no significa que las palabras en clave utilizadas serán necesariamente de la forma \ $ \ {P_1P_2M_1P_4M_2M_3M_4 \} \ $.

Tener las palabras en código en la forma dada arriba da la ventaja de que el valor del síndrome es igual a la ubicación del error, por lo que después de que obtengamos el síndrome, podemos calcular el valor decimal de nuestro síndrome y simplemente cambiar ese bit. Si las palabras en clave están en otra forma, tendremos que hacer coincidir el síndrome obtenido con la columna apropiada de la matriz de verificación de paridad para evaluar la ubicación del error.

Usando la implementación clásica del código (7,4) -Hamming (es decir, con palabras de código de la forma \ $ \ {P_1P_2M_1P_4M_2M_3M_4 \} \ $) obtenemos una matriz de comprobación de paridad, \ $ H_1 \ $, donde

$$ H_1 = \ left (\ begin {array} {ccccccc} 1 & 0 & 1 & 0 & 1 & 0 & 1 \\ 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 & 1 & 1 & 1 \ end {array} \ right) $$

Si hay un error en la posición de bit \ $ i \ $, entonces el síndrome será igual a \ $ c_i \ $, donde \ $ c_i \ $ es la columna \ $ i ^ {th} \ $ del matriz de comprobación de paridad. Por lo tanto, si observa la matriz de comprobación de paridad en este caso, podrá ver fácilmente que el valor del síndrome será equivalente a la ubicación del error.

Si usas un \ $ g (x) \ $ no sistemático, la matriz de control de paridad no tendrá la propiedad más bonita que tenemos arriba. Necesitará calcular el síndrome y compararlo con cada columna de la matriz de comprobación de paridad para ver con cuál coincide, el número de columna con el que se ubicará será su ubicación de error, es decir, si coincide con la columna \ $ c_i \ $, entonces el error está en la ubicación \ $ i \ $. Las columnas de la matriz de comprobación de paridad (y, por tanto, toda la matriz de comprobación de paridad H) del código se pueden calcular directamente utilizando \ $ g (x) \ $ y el conjunto de monomios de error \ $ e (x) \ $ (\ $ e (x) = x ^ i \ $). Esto se hace calculando columnas como

$$   c_i (x) = \ text {Remainder} \ left (\ frac {e_i (x)} {g (x)} \ right) = \ text {Remainder} \ left (\ frac {x ^ i} {g (x )} \derecho) $$

donde todos los cálculos están en GF (2).

    
respondido por el KillaKem

Lea otras preguntas en las etiquetas