.
Вектора E і E * мають один і той же синдром і відповідають одному й тому самому підмножині коду C. Припустимо, що вага синдрому wt ( s ) ВЈ t. Тоді wt ( E * ) ВЈ t і отже E = E * так як відповідне підмножина коду C може містити тільки один вектор заданої ваги. Отже, вектор помилки можна записати через E = ( s T, 0 ). Тепер припустимо, що структура вектор помилки ваги не менш t може мати у своєму складі циклічний зсув пачки з k нулів. На певному i - му циклічному зсуві в структурі вектора помилки відмінні від нуля символи будуть розташовуватися на перших (nk) позиціях. Для цього значення i вагу відповідного синдрому wt (si (x)) ВЈ t, де si (x) - синдром mod (xn-1). Якщо синдром si (x) обчислювати як залишок від ділення xiy (x) на породжує поліном g (x), тоді wt (si (x)) ВЈ t для значень i відповідних співвідношенню xiE (x) = ( s b> i, 0 ). p> Таким чином, вектору помилки E (x) відповідає циклічний зсув E (x) = xi ( s i, 0 ). p> Така властивість синдрому дозволяє побудувати такий алгоритм декодування.
Алгоритм I.
Обчислюється синдром s (x) для прийнятого сигналу y (x), використовуючи алгоритм розподілу на породжує поліном.
Установка i: = 0
Якщо wt (s i (x)) ВЈ t, тоді вважаємо E (x) = x i (
s i ,
0 ) і коригуємо помилку, обчислюючи y (x) - E (x);
Встановлюємо i: = i +1;
Якщо i = n, тоді алгоритм зупиняється і помилка вважається виловленої;
Якщо deg (s i-1 (x) i (x) = xs i-1 span> (x), в іншому випадку - s i (x) = xs i-1 (x) - g (x);
Перейти до кроку 3.
Приклад. Нехай g (x) = 1 + x 2 + x span> 3 генерує бінарний циклічний код (7,4,3), що дозволяє виправляти одну помилки.
Припустимо, що передається кодове слово c (x) = 1 + x + x 5 = (1 + x + x 2 ) g (x), а приймається вектор y (x) = 1 + x + x +5 + x 6 . Розділимо вектор y (x) на породжує поліном g (x)
y (x) = (x 3 +1) g (x) + (x + x span> +2 ), s (x) = (x + x +2 ).
Такт як вага синдрому більше 1, то обчислюємо синдром циклічного зсуву s 1 (x) для xy (x) . Оскільки ступінь синдрому s (x) дорівнює 2 = nk-1, то
s 1 (x) = xs (x) mod g (x) = 1.
Вага синдрому дорівнює одиниці і відповідає коректує здібності коду. Отже, вектор помилки дорівнює
E (x) = x 7-1 ( s 1 , 0 ) = x 6 (100 0000) = x 6 .
Приклад. Нехай g (x) = 1 + x 4 + x span> 6 + x 7 + x 8 генерує бінарний циклічний код (15,7,5), що дозволяє виправляти дві помилки.
Бу...