Декодирование линейных кодов, так же как и кодирование, основано на использовании контрольной матрицы . Наиболее распространенным методом декодирования является метод синдромного декодирования. Данный метод основан на использовании так называемых синдромов ошибок, представляющих собой m -значные двоичные числа, разряды которых являются скалярными произведениями векторов ошибок на векторы контрольной матрицы.
Вектор ошибки представляет собой n -значное двоичное число, содержащее 1 в разряде, где есть ошибка, и 0 во всех остальных разрядах. В качестве примера найдем синдром ошибки в 3-м разряде:
– | – | – | ||||||||
– | – | – | ||||||||
Итак, синдромом ошибки в 3-м разряде является комбинация 110. Действуя аналогично, можно найти синдромы ошибок во всех остальных разрядах. Характерным является то, что синдром ошибки i -го разряда совпадает с i -м столбцом контрольной матрицы, поэтому в запоминающем устройстве декодера достаточно хранить только контрольную матрицу.
|
|
При приеме с помощью принятого КВ и векторов контрольной матрицы вычисляется синдром. Если ошибки нет, то синдром будет нулевой. Во всех остальных случаях получается синдром, совпадающий с синдромом ошибки в соответствующем разряде. Это следует из того, что искаженную кодовую комбинацию можно представить как сумму по модулю 2 вектора ошибки и неискаженного КВ , т.е. . Умножив искаженный КВ на векторы контрольной матрицы , , получим:
.
Но в силу ортогональности разрешенных КВ и векторов контрольной матрицы. Следовательно, , что и требуется. Таким образом, определив синдром принятой комбинации можно однозначно указать номер разряда, в котором произошла ошибка.