Принята кодовая комбинация n=1111100, количество исправляемых ошибок s=2, образующий полином Р(х)=Х3+Х+1. Провести процесс обнаружения и исправления ошибок.
Решение
Поскольку задан циклический код (7,4), общее число символов кода – 7, из них k=4 – информационных, соответственно r=n-k=7-4=3 – проверочных.
Для обнаружения и исправления ошибок будем использовать следующую процедуру.
1. Принятая комбинация делится на порождающий полином g(x). Если остаток R(x)<>0 то определяется вес остатка w. Если вес остатка равен или меньше числа исправляемых ошибок t (w<=t), то принятую комбинацию складываем по модулю 2 с остатком и получаем исправленную комбинацию.
2. Если w>t, то производится циклический сдвиг на один символ влево и полученная после такого сдвига комбинация снова делится на порождающий полином
. Если вес полученного остатка w<=t, то циклически сдвинутую комбинацию складываем с остатком и затем после сложения циклически сдвигаем в обратную сторону вправо на один символ (возвращают на прежнее место). В результате получаем исправленную комбинацию.
3. Если после циклического сдвига на один символ по прежнему w>t, то производим дополнительные циклические сдвиги влево. При этом после каждого сдвига осуществляется деление сдвинутой комбинации на g(x) и проверяется вес остатка