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