1 votos

Consulta sobre el código Hamming (7,4)

Tengo una duda sobre el código Hamming (7,4).

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

El procedimiento anterior da una respuesta diferente a la que se da en muchos libros. El (7,4) código de Hamming se da 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 tanto por procedimientos de codificación sistemáticos como no sistemáticos. ¿Puede explicarme dónde me equivoco? (¿es el polinomio generador o el procedimiento de codificación?)

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

Gracias de antemano.

3voto

Trevor Redfern Puntos 91

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

Tener los codewords en la forma dada anteriormente da la ventaja de que el valor del síndrome es igual a la ubicación del error, por lo que después de obtener el síndrome sólo podemos calcular el valor decimal de nuestro síndrome y sólo voltear ese bit. Si los codewords están en otra forma entonces necesitaremos igualar el síndrome obtenido a la columna apropiada de la matriz de comprobación de paridad para evaluar la localización del error.

Utilizando la implementación clásica del código (7,4)-Hamming (es decir, con palabras clave 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 del bit \$i\$ entonces el síndrome será igual a \$c_i\$ donde \$c_i\$ es el \$i^{th}\$ columna de la matriz de comprobación de paridad. Así que mirando a la matriz de comprobación de paridad en este caso se puede ver fácilmente que el valor del síndrome será igual a la ubicación del error.

Si utiliza un método no sistemático \$g(x)\$ entonces la matriz de comprobación de paridad no tendrá la propiedad tan agradable que tenemos arriba. Tendrías que 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 coincida será la ubicación del error, es decir, si coincide con la columna \$c_i\$ entonces el error está en la posició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 pueden calcularse directamente utilizando \$g(x)\$ y el conjunto de monomios de error \$e(x)\$ ( \$e(x) = x^i\$ ). Esto se hace computando las columnas como

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

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X