Код Боуза — Чоудхури — Хоквингема: различия между версиями

[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
отмена правки 82002775 участника 37.17.114.85 (обс), Было правильно
м →‎Построение: орфография
Строка 17:
== Построение ==
Для нахождения порождающего полинома необходимо выполнить несколько этапов:
 
* выбрать <math>q</math>, то есть поле <math>GF(q)</math>, над которым будет построен код;
* выбрать длину <math>n</math> кода из условия <math>n = (q^m - 1) / s</math>, где <math>m, s</math> — целые положительные числа;
* задать величину <math>d</math> конструктивного расстояния;
 
1) построить [[Многочлен над конечным полем#Циклотомический класс|циклотомические классы]] элемента <math>\beta = \alpha^s</math> поля <math>GF(q^m)</math> над полем <math>GF(q)</math>, где <math>\alpha</math> — примитивный элемент <math>GF(q^m)</math>;
 
2) поскольку каждому такому циклотомическому классу соответствует неприводимый полином над <math>GF(q)</math>, корнями которого являются элементы этого и только этого класса, со степенью равной количеству элементов в классе, то выбрать <math>\beta^{l_0},\; \beta^{l_0 + 1},\; \ldots,\; \beta^{l_0 + d - 2}</math> таким образом, чтобы суммарная длина циклотомических классов была минимальна; это делается для того, чтобы при заданных характеристиках кода <math>n</math> и <math>d</math> минимизировать количество проверочных символов <math>k</math>;
 
3) вычислить порождающий полином <math>g(x) = f_1(x) f_2(x) \ldots f_h(x)</math>, где <math>f_i(x)</math> — полином, соответствующий <math>i</math>-омуму циклотомическому классу; или вычислить <math>g(x)</math>, как [[Наименьшее общее кратное|НОК]] минимальных функций от элементов <math>\beta^{l_0},\; \beta^{l_0 + 1},\; \ldots,\; \beta^{l_0 + d - 2}</math>{{sfn|Сагалович|2007|с=168}}.
 
== Примеры кодов ==