Для матрицы генератора, которую вы даете, ваша интерпретация верна.Ваши таблицы означают:
H0 = D1 ^ D2 ^ D4
H1 = D2 ^ D3 ^ D4
H2 = D1 ^ D2 ^ D3
Тем не менее, нормальный Хэмминг (7,4) матрицы, в тех же обозначениях будет
1000 011
0100 101
0010 110
0001 111
DDDD HHH
1234 210
Только H0 одинакова среди двух наборов матриц.Два других бита:
H1 = D1 ^ D3 ^ D4
H2 = D2 ^ D3 ^ D4
Было бы удобно убедиться, что спецификация действительно соответствует тому, что сделано на практике.
Не менее важна спецификация порядка бит в передаваемом слове.Например, для типичного кодирования Хемминга (7,4) порядок
H0, H1, D1, H2, D2, D3, D4
имеет свойство, о котором XOR с матрицей проверки на четность говорит вам либо (1) что все биты кажутся правильными (== {0,0,0}) или (2) один бит представляется неправильным, и это один бит в позиции бита, заданный результатом матрицы проверки на четность.Т.е., если три бита, возвращенные умножением принятого кода на матрицу проверки на четность, равны {1, 0, 1}, то 5-й бит (101, интерпретированный в базе 2) был перевернут.В приведенном выше порядке это означает, что D2 перевернут.