Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПДС с поиском.doc
Скачиваний:
299
Добавлен:
15.03.2015
Размер:
17.88 Mб
Скачать

7.2.2. Решение ключевого уравнения

а). Алгоритм Питерсона.

У. Питерсон [1] представил ключевое уравнение в матричной форме:

Таким образом, задача определения коэффициентов многочлена локаторов ошибок сводится к прямому решению системы v линейных уравнений с v неизвестными.

б) Алгоритм Евклида.

Известно, что, если существует наибольший общий делитель d(x) двух многочленов а(х) и b(х), то существуют многочлены f(x) и g(x) такие, что справедливо: a(x)f{x)+b(x)g(x)=d(x).

Многочлен d(x) может быть найден по алгоритму Евклида, который состоит в последовательном делении с остатком а(х) на b(х), затем b(х) на первый остаток r1(х), затем r1(х) на второй остаток r2(х) и т.д.

При декодировании кодов БЧХ интересуются не конечным результатом алгоритма Евклида, а промежуточными результатами, которые можно представить в виде: a(x)f(x)+b(x)g(x)=r(x).

У. Сугияма и его соавторы [3] использовали этот результат для решения ключевого уравнения следующим образом: b(x)g(x)= ri(x) (mod a(x)), полагая,

а(х)=х2t, b(x)=S(x), gl(x)=Λi(x), ri(x)=Ωi(x).

При этом используется свойство алгоритма Евклида:

deg[gi(x)]+deg[ri-l(x)]=deg[a(x)].

Если а(х)=х2t, то degi(x)]+deg[Ωi-l(x))=2t,

deg[Λi(x)]+deg[Ωi(x))<2t.

При появлении v≤t ошибок имеем: deg[Ω(x)]< deg[Λ (x)] ≤t.

Существует единственный с точностью до постоянного множителя (элемента поля) многочлен Λ(х) степени t, удовлетворяющий уравнению:

i(x) =S(x) Λi(x) (mod x2t),

если deg[Ωi-1(x)]≥ t при deg[Λi(x)]≤ t

и deg[i(x)]< t при deg[Λi+1,(x)] > t.

Поэтому промежуточные результаты на I-ом шаге дают единственное интересующее нас решение ключевого уравнения.

Таким образом, для решения ключевого уравнения следует применять алгоритм Евклида до тех пор, пока не будет выполнено условие

deg[Ωi(x)]< t.

Итак, алгоритм Евклида решения ключевого уравнения по методу У. Сугиямы и др. сводится к следующему:

1. Применить алгоритм Евклида к а(х)=х2t и b(x)=S(x).

2. Использовать начальные условия:

Λ-1(х)=0,

Λ0(х)=1,

-1(x)=x2t,

0(x)=S(x).

3. Остановиться, если deg[Ωi(x)]< t.

4. Положить Λ(х)= Λi(x) и (x)= Ωi(x).

При вычислении значений Λi(x) и i(x) следует использовать свойство алгоритма Евклида: каждое из значений Λi(x) и i(x) получается из двух предшествующих значений по следующей общей формуле:

Ei(x)=Ei-2(x)+qi(х)Ei-1(x) , где .

В квадратных скобках записано частное от деления указанных многочленов т,е. многочлен степени 0 и более.

в) Алгоритм Берлекемпа-Месси.

На рис.7.1 представлен доработанный алгоритм, позволяющий кроме А(х) получать также и многочлен значений ошибок и Ω(x).

Этот алгоритм был предложен Э. Берлекемпом и Дж. Месси[4] как итеративный процесс построения минимального линейного регистра сдвига с обратной связью, аналогичного схеме решения разностных уравнений, генерирующего все компоненты синдромного многочлена S(x) no υ первым.

Целью алгоритма является нахождение коэффициентов многочлена локаторов ошибок Λ(х), значение которых определяет вид обратных связей регистра.

г) Алгоритм Форни

Д. Форни (см. раздел 7.1) получил выражение для вычисления значения ошибки, если известны многочлены значения ошибок Ω(x) и локаторов ошибок:

,

где Хl-1- корень многочлена Λ(х), обратный локатору ошибки Хl, Λ) –производная от много члена Λ(х).