Образующая матрица укороченного (12, 4) псевдоциклического кода
4.7.3. Итеративные коды
Эти коды могут обнаруживать и исправлять все одиночные ошибки. Простейший вариант итеративного кода является развитием обычного кода с проверкой на чётность. Правила кодирования рассмотрим на примере.
1. Пусть кодовая комбинация, подлежащая кодированию, имеет вид
k6 | k5 | k4 | k3 | k2 | k1 |
2. Разбиваем эту комбинацию поровну и записываем в две строки:
k6 | k5 | k4 |
k3 | k2 | k1 |
3. Делаем проверку на четность символов каждой строки и дописываем справа (или слева) контрольные символы т:
k6 | k5 | k4 | m1 |
k3 | k2 | k1 | m2 |
4. Делаем еще одну проверку на четность символов каждого столбца и дописываем внизу или вверху символы m:
k6 | k5 | k4 | m1 |
k3 | k2 | k1 | m2 |
m3 | m4 | m5 | m6 |
В результате этих преобразований получаем итеративный код с равным числом информационных и контрольных символов, в данном случае код (12,6), который можно записать в форме матрицы (4.11) или развернуть в строку (4.12).
k6 k5 k4m1
k3 k2 k1 m2
m3 m4m5m6 (4.11)
Матрица разворачивается в строку и получается полная кодовая комбинация (4.12) итеративного кода.
k6 k5k4 m1 k3 k2 k1 m2m3m4m5
1 0 1 0 0 1 0 1 1 1 1 (4.12)
Сделаем проверку на исправление искажения. Предположим, что при передаче произошло искажение и получена комбинация 101011011111. Декодирование осуществляется следующим образом.
1. Полученная кодовая комбинация записывается в форме матрицы в соответствии с (4.11):
2. Делаем проверку на чётность символов каждой строки и каждого столбца, результаты проверки записаны в правом столбце и нижней строке:
Если бы искажения не было, то в каждой строке и в каждом столбце результаты были бы нулевые. Однако в первом столбце и во второй строке имеем ненулевые результаты, что означает наличие искажения. По матрице (4.11) определяем, что в этих двух ненулевых результатах участвовал символ k3. Замена этого символа на обратное значение исправляет ошибку.
Итеративные коды обладают очень большой избыточностью и уступают кодам Хэмминга и циклическим кодам. Кроме того, очевидно, что при наличии двух искажений в строке или столбце матрицы (4.11) итеративные коды их не обнаруживают. Поэтому они имеют очень ограниченное применение.
КЛЮЧЕВЫЕ ТЕРМИНЫ И ПОНЯТИЯ
Дата добавления: 2021-11-16; просмотров: 293;