Линейный
систематический блочный код может быть определен также с использованием так
называемой проверочной матрицы H, обладающей следующим
свойством:
- если
некоторая последовательность U является кодовым словом, то
U* HT = 0. (1.17)
Другими
словами, проверочная матрица H ортогональна любой кодовой
последовательности данного кода.
Проверочная матрица
имеет размерность (n-k)*n и следующую
структуру :
|
P00
|
P10
|
…
|
Pk-1, 0
|
1
|
0
|
0
|
…
|
0
|
|
|
P01
|
P11
|
…
|
Pk-1, 1
|
0
|
1
|
0
|
…
|
0
|
|
H =
|
P22
|
P12
|
…
|
Pk-1, 2
|
0
|
0
|
1
|
…
|
0
|
, (1.18)
|
|
…
|
…
|
…
|
…
|
…
|
…
|
…
|
…
|
…
|
|
|
P0, n-k-1
|
P1, n-k-1
|
…
|
Pk-1, n-k-1
|
0
|
0
|
0
|
…
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PT
|
I1(n-k)´(n-k)
|
|
где PT -
транспонированная подматрица P из порождающей матрицы G ;
I1(n-k)´(n-k)
- единичная матрица
соответствующего размера.
Видно, что единичная и проверочная
подматрицы в G и H поменялись
местами, кроме того, изменился их размер.
Для рассматриваемого
нами в качестве примера (7,4)-кода Хемминга проверочная
матрица H имеет вид
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
|
H(7,4)=
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
. (1.19)
|
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
|
Проверочная матрица
позволяет легко определить, является ли принятая последовательность кодовым
словом данного кода.
Пусть,
к примеру, принята последовательность символов c =
(1011001), тогда
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
T
|
c* HT =
(1011001)
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
= (1 1 0) ¹ 0 .
|
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
|
Отсюда можно сделать
вывод, что последовательность c
= (1011001) не является кодовым словом
данного кода.
|