(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).