Метод виловлювання помилок
Метод є окремим випадком перестановочного декодування. Припустимо, що потрібно виправити всі вектори помилок e = ( e 0 < span align = "justify">, ..., e v - 1 ) вага яких не перевершує t при деякому фіксованому t ВЈ [( d - 1)/2]. Для виконання декодування треба знайти таке безліч підстановок, щоб код був інваріантний щодо цієї множини і щоб для кожного вектора e , вага якого не перевершує t , знайшлася б підстановка, пересуваюча всі помилки з інформаційних позицій в перевірочні.
Метод перестановочного декодування полягає в наступному. Визначимо оператор підстановки p j За отриманого вектору y обчислюються вектори зрушень p j { y } і їх синдроми s ( j ), до тих пір, поки не буде знайдений індекс j , для якого вага wt i> ( s ( j )) ВЈ t . При цьому всі помилки будуть зосереджені в перших r = n - k позиціях вектора p j { y } і задаються рівністю [ s ( j < span align = "justify">)] T = ( e 0 , ... , e r - 1 ). Отже, що приймається вектор декодується як слово
.
Метод виловлювання помилок використовує циклічні постановки D j . Метод дозволяє виправляти всі вектори помилок, що містять кругову серію нулів довжини не менше k . p> Алгоритм.
1. Обчислюється синдром s ( x ) для прийнятого сигналу y ( x ), використовуючи алгоритм розподілу на породжує поліном.
. Установка j : = 0
. Якщо wt ( s j ( x )) ВЈ t , тоді вважаємо < i> e ( x ) = x j ( s j , 0 ) і коригуємо помилку, обчислюючи y ( x ) - e ( x );
. Встановлюємо j : = j + 1;
. Якщо j = n , тоді алгоритм зупиняється і помилка вважається виловленої;
. Якщо deg ( s j - 1 ( x ) < n - k - 1, тоді s j ( x ) = xs j - 1 ( x ); в іншому випадку - s j ( x ) = xs j - 1 ( x ) - g ( x );
. Перейти до кроку 3. p> Декодування циклічного коду шляхом виловлювання помилок. Розглянемо випадок декодування З коду з параметрами (n, k), d = 2t +1 та перевірочної матрицею H = [In-kA]. Передається кодове слово з , а приймається вектор
y = c + E ,
де E -вектор помилки.
Синдром вектора y обчислюється як
s = H y T = H ( c + E ) T = H ( E) T.
Утворюємо вектор E * = (s T, 0 ), де 0 нульовий вектор, що складається з k нулів. Неважко показати, що виконується наступне співвідношення
H ( E * ) T = s ...