Для функции ошибки определим дискретное преобразование Фурье в конечном поле [ 4 ]
, k=1,…,2t.
Заметим, что компоненты синдрома можно трактовать как коэффициенты Фурье
преобразования Sj = Ej, j= 1,…, 2t при .
Оценки параметров ошибки можно получить путем решения полученной
нелинейной системы уравнений, что достаточно сложно. Используем искусственный
приём. Введем так называемый полином локаторов ошибок :
, или
,
нулям которого соответствуют элементы
, l = 1,…,n.
Корнями полинома являются величины
. Если коэффициенты
известны,
то соответственно для определения локаторов ошибок
нужно
найти корни
, после чего вычислить обратные к ним
величины. При этом решение системы нелинейных уравнений сводится к решению
системы линейных уравнений относительно коэффициентов полинома
. Действительно, умножим левую и правую
части выражения для полинома локаторов ошибок на
, а
также положим, что при
имеем
.
Образуем систему
.
Просуммировав уравнения по индексу e от 1 до , для каждого индекса j получим:
.
Учитывая, что
, система уравнений представляется в виде
,
или в матричной форме:
Система связывает компоненты синдрома с
коэффициентами полинома локаторов ошибок, задача вычисления которых решается
достаточно просто, если можно найти обратную матрицу синдромов.
2.3.1. Алгоритм Питерсона–Горенштейна–Цирлера (ПГЦ)
1.
Вычисляются
компоненты синдрома:. Задается величина n = t.
2.
Составляется
матрица синдромов , l,k = 0,1,…, n-1.
3.
Вычисляется
определитель матрицы . Если
,
то матрица является сингулярной, и обратной матрицы не существует. В этом
случае изменяется размер матрицы n:= (n -
1) до тех пор, пока определитель не станет отличным от нуля. После чего
повторяется второй шаг.
4. Определяются коэффициенты полинома локаторов ошибок:
5. Определяются корни = 0 и через их инверсию вычисляют значения
.
6. Оцениваются величины ошибок , решая систему
7. Корректируют принятый вектор, подставляя вычисленные значения Qi .
При количестве ошибок , данный алгоритм
характеризуется большой вычислительной сложностью. В этих случаях для
вычисления полинома локаторов ошибок используют алгоритмы Берлекэмпа–Месси,
Сугиямы, а для оценки значений ошибок для q-ичных кодов – алгоритм Форни .
2.3.2. Алгоритм Сугиямы
Алгоритм Сугиямы позволяет решить систему уравнений в поле F
, что разрешает центральную проблему
декодирования локаторов ошибок.
Предполагаем, что , полином локаторов ошибок
и полином спектральных коэффициентов
функции ошибок
.
Считается, что коэффициенты полинома произведения
равны
нулю для j = t,…,2t-1.
Решение матричной системы
уравнений эквивалентно решению полиномиального уравнения для степени полинома
не больше, чем t, и степени
не
больше, чем t – 1.
Рассматриваемый алгоритм решает полиномиальное
уравнение с использованием алгоритма Евклида следующим образом. Обозначим
начальные условия как и
.
Верхний индекс обозначает номер итерации (этапа) алгоритма. Для r - й
итерации вычисления алгоритма Евклида можно записать
при
.
Определим условие
выполнения равенства :
.
Матрицу r - й итерации по индукции можно определить как
и
.
Для имеем
.
Откуда получаем желаемую форму уравнения
,
.
Для решения задачи
декодирования требуется найти такое значение r, при котором и
. Это требование удобно выполнить, выбирая rt как значения r, удовлетворяющие условиям
и
.
2.3.3. Алгоритм Берлекэмпа–Месси
Позволяет найти полином локаторов ошибок. В основе алгоритма лежит адаптивная авторегрессионная модель генератора (рис.1), который формирует компоненты синдрома по правилу:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.