УДК 004.056.55 АЛГОРИТМ РЕАЛИЗАЦИИ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ КОДОВ БОУЗА-ЧОУДХУРИ-ХОКВИНГЕМА В ЦИКЛИЧЕСКИХ КОДАХ Острянин А.И. Евразийский национальный университет им. Л.Н.Гумилева, Астана Научный руководитель – к.ф-м.н, доцент Ташатов Н.Н. Коды БЧХ [1] представляют собой обширный класс кодов, способных исправлять многократных пакетов ошибок и занимают заметное место в теории и практике кодирования. Интерес к кодам БЧХ определяется тем, что они позволяют исправлять любое наперед заданное число ошибок и для них существуют эффективные алгоритмы кодирования и декодирования и обладают оптимальными свойствами. Порождающий многочлен циклического кода можно представить в следующем виде , где – минимальные многочлены корней . Пусть элементы — корни порождающего многочлена . Тогда (1) В результате получаем уравнений, содержащих только величины, определяемые ошибками и не зависящие от кодового слова. Если эти уравнения можно разрешить относительно , то можно определить многочлен ошибок. Нужно выбрать таким образом, чтобы система уравнений могла быть решена относительно каждый раз, когда не более неизвестных отличны от нуля. Для произвольного циклического кода с порождающим многочленом , имеющим корни , определим компоненты синдрома (2) Эти элементы поля отличны от синдромного многочлена , но содержат эквивалентную информацию. Нужно подобрать так, чтобы по можно было найти ошибок. В качестве таких можно взять степени примитивного элемента поля . Определение 1. Пусть заданы q и m , и пусть – любой элемент поля GF(q m ) порядка п . Тогда для любого положительного целого числаt соответствующий код БЧХ является циклическим кодом длины п с порождающим многочленом , где — минимальный многочлен элемента . Определение 2. Б Ч Х коды длины называются примитивными. Таким образом, для того, чтобы построить порождающий многочлен примитивного БЧХ кода нужно задать следующий алгоритм: 1. Задать длину кода и число ошибок, которые необходимо исправлять. 2. Найти неприводимый многочлен степениm и построить поле . 3. Найти примитивный элемент в поле . 4. Найти минимальные многочлены для над 5. Взять в качестве Алгоритмов декодирования БЧХ-кодов много, но в данной статье был рассмотрен самый эффективный: декодер Питерсона-Горенстейна-Цирлера (ПГЦ), который предполагает обращение двух матриц размера . Пусть – элемент поля , по которому строился код БЧХ, а – количество ошибок, исправляемых кодом. Блоксхема данного алгоритма выглядит следующим образом: Алгоритм ПГЦ следующий: 1. На вход алгоритму поступает принятое слово 2. Вычисляем компоненты синдрома 3. Полагаем 4. Строим матрицу . 5. Вычисляем определитель матрицы . Если он равен нулю, уменьшаем на единицу и возвращаемся к шагу 4. 6. Обращаем матрицу и вычисляем коэффициенты многочлена : = 7. Вычисляем корни многочлена . Поскольку число элементов поля конечно, обычно корни ищут процедурой Ченя. Эта процедура заключается в последовательном вычислении для каждого и проверки полученных значений на нуль. 8. Найдя корни, найдем локаторы ошибок (корни многочлена являются обратными к локаторам ошибок). 9. Если код код двоичный, то ошибки известны. В противном случае вычислим их: = 10. Исправляем в полученном слове ошибки, и получаем на выходе алгоритма кодовое слово. Литература 1. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986.