Теория информации
Существует более общий: Алгоритм обнаружения и исправления ошибок : 1. Принятая комбинация делится на образующий многочлен g ( x ). Если остаток R ( x )<>0, то определяется вес остатка w . Если вес остатка равен или меньше числа исправляемых ошибок t ( w <= t ), то принятую комбинацию складывают по модулю 2 с остатком и получают исправленную комбинацию. 2. Если w > t , то производится циклический сдвиг на один символ влево и полученная после такого сдвига комбинация снова делится на образующий многочлен. Если вес полученного остатка w <= t , то циклически сдвинутую комбинацию складывают с остатком и затем после сложения циклически сдвигают в обратную сторону вправо на один символ (возвращают на прежнее место). В результате получаем исправленную комбинацию. 3. Если после циклического сдвига на один символ по прежнему w > t , то производят дополнительные циклические сдвиги влево. При этом после каждого сдвига осуществляется деление сдвинутой комбинации на g ( x ) и проверяется вес остатка. При w <= t сдвинутую комбинацию складывают с остатком и производят обратных циклических сдвигов вправо столько, сколько было сделано влево. Пример 2.23. Необходимо проверить принятый код 1101110, для g ( x )=1011 и t=1. 1. Принятый код 1101110 делим на g ( x ), находим остаток: R ( x )=111, w=3 2. Код 1101110 сдвигаем влево на один разряд, получаем: 1011101. Делим на образующий многочлен g ( x ). Находим остаток: R ( x ) = 101, вес w =2.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy