Новые непримитивные коды, образованные из примитивных БЧХ-кодов и кодов Хемминга и их норменная обработка

Доклады БГУИР

Doklady BGUIR

2019, № 3

УДК512

НОВЫЕ НЕПРИМИТИВНЫЕ КОДЫ, ОБРАЗОВАННЫЕ ИЗ ПРИМИТИВНЫХ БЧХ-КОДОВ И КОДОВ ХЕММИНГА И ИХ НОРМЕННАЯ ОБРАБОТКА

В.К. КОНОПЕЛЬКО1, В.А. ЛИПНИЦКИЙ2

1 Белорусский государственный университет информатики и радиоэлектроники, Республика Беларусь 2Военная академия Республики Беларусь, Республика Беларусь

Поступила в редакцию 22 марта 2019

Аннотация. В работе проводится интегрированное завершение исследований БЧХ-кодов произвольных длин. Наибольшее внимание уделено кодам, длины которых являются промежуточными между примитивными длинами, которые получаются выбрасыванием специальным образом из проверочных матриц примитивных БЧХ-кодов большого количества столбцов, но с сохранением свойств цикличности, которые предлагается называть непримитивными БЧХ-кодами. Систематически исследуются свойства названного класса кодов. Доказывается, что по разнообразию длин примерно треть непримитивных БЧХ-кодов имеют кодовое расстояние, большее конструктивного, и, следовательно, они способны корректировать случайные ошибки, кратность которых существенно превышает конструктивные рамки. Коррекцию таких ошибок называем плюс-декодированием. Показано, что реализовать плюс-декодирование невозможно известными классическими методами и алгоритмами, а только имеющимися и развивающимися средствами теории норм синдромов. В работе предложены два алгоритма реализации плюс-декодирования перестановочными норменными методами. Непримитивные БЧХ-коды перспективны для приложений в реальных современных инфокоммуникационных системах.

Ключевые слова: минимальное расстояние кода, кратность ошибки, БЧХ-код, синдром ошибок, автоморфизм кода.

Abstract. Integrated studies completion of BCH codes of different lengths is devoted. Most attention is paid to codes whose lengths are intermediate between primitive lengths, which are obtained by throwing in a special way from the check matrices of primitive BCH codes of a large number of columns, but with preservation of cyclical properties, which are proposed to be called non-primitive BCH codes. The properties of the named code class are systematically investigated. It is proved that, according to the variety of lengths, about a third of the non-primitive BCH codes have a code distance greater than constructive, and, therefore, they are able to correct random errors, the multiplicity of which significantly exceeds the constructive frame. Correction of such errors is called plus-decoding. It is shown that it is impossible to implement plus-decoding by known classical methods and algorithms, but only by the available and developing means of the theory of norms syndromes. Two algorithms for the implementation of plus-decoding by permutation normal methods are proposed. Non-primitive BCH-codes are promising for applications in real modern information and communication systems.

Keywords: minimum code distance, error multiplicity, BCH code, error syndrome, code automorphism.

Doklady BGUIR. 2019, Vol. 121, ]Чо. 3, pp. 12-24 New non-primitive codes formed from primitive BCH and Hamming codes and their norm evaluation V.K. Konopelko, V.A. Lipnitski

Введение

Современная информационная эпоха, начавшаяся с 80-х годов XX века, характеризуется экспоненциальным ростом потоков передаваемой и хранимой информации, всеобщей компьютеризацией, технологической революцией. Она сопровождается всеобщей экспансиея цифровых систем передачи информации. Надежность и достоверность передачи и хранения информации в них достигается применением спектра помехоустойчивых кодов. К последним предъявляются различные и порой противоречащие друг другу требования: применение кодов различной длины с высокой корректирующей способностью и высоким быстродействием, масштабируемостью.

Корректирующий потенциал каждого линейного кода обеспечивается объемом его спектра ошибок с попарно различными синдромами. Однако декодирование прямыми развязками типа «синдром-ошибка» эффективны лишь при исправлении одиночных ошибок. Современные же коды рассчитаны на исправление ошибок кратности V > 1. Как правило, этот потенциал реализуется в декодерах составлением и решением над полями Галуа алгебраических уравнений соответствующей степени. В современном помехоустойчивом кодировании наиболее острой является проблема «селектора». Суть ее - в быстром и надежном нахождении нужного вектора-ошибки среди огромной массы всего корректируемого многообразия ошибок [1, 2].

Белорусская алгебраическая школа и белорусская школа цифровой обработки сигналов хорошо известны в научном мире. Их представителями в начале XXI века проведены широкие исследования использования автоморфизмов помехоустойчивых кодов. Это привело к формированию понятия норм синдромов ошибок в кодах Боуза-Чоудхури-Хоквингема (БЧХ-кодах), устанавлению независимости норм синдромов от циклических сдвигов координат векторов-ошибок, исследованию иных свойств норм синдромов, созданию развитой теории норм синдромов (ТНС) [2, 3]. Теория норм синдромов позволила предложить эффективные перестановочные норменные методы коррекции ошибок, альтернативные методам решения алгебраических уравнений, на порядок снижающие влияние проблемы «селектора». Знакомству с дальнейшими результатами по применению ТНС в помехоустойчивом кодировании и посвящена данная статья.

Краткие сведения о строении БЧХ-кодов

БЧХ-код - это линейный (п, £)-код, то есть ^-мерное подпространство в п-мерном двоичном пространстве (над полем GF(2) = Z / 2Z ). Точное определение БЧХ-кодов напрямую

связано с полями Галуа GF(2т) . Наиболее популярны в приложениях циклические коды С2/+1, которые задаются проверочными матрицами вида

н =

Здесь р - элемент мультипликативной группы GF(2т )* поля GF(2т) порядка п = (2т -1) / х для некоторого делителя т числа |GF(2т )*| = 2т -1 , в частности т = 1, 0 <' < (п -1). Длина кода С21+( равна п и всегда является нечетной величиной [1]. Такие коды называют БЧХ-кодами с конструктивным расстоянием 2t +1 , поскольку они рассчитаны на исправление ^кратных случайных ошибок, имеют наибольшую размерность среди подобных кодов и скорость передачи информации.

Группа GF(2т)* , как известно, является циклической. Если а- образующая этой группы - примитивный элемент поля GF(2т) , то в качестве р можно взять р = ах . Тогда при х = 1 элемент р = а , п = 2т -1, код С11+1 , естественно, называется примитивным; если же т> 1, то р^а и код С11+1 называют непримитивным, что также вполне естественно.

Матрица (1) - двоичная, каждый элемент р' в ней представлен вектором-столбцом из координат этого элемента как вектора пространства GF(2т) над полем GF(2) в базисе

am', am 2,..., a0 = 1 . Для существования кода C2/+1 длиной n = (2m -1) / x необходимо

выполнение условия: k = dim C2t+1 = n-rankH > 0. Конечно, выполнение условия k = 1 делает соответствующий код абсолютно не интересным для применений - все «богатство» передаваемых с помощью такого кода сообщений сводится к двум словам: 0 = (0, 0,..., 0) и 1 = (1,1,..., 1) . Поэтому реальный код должен иметь размерность k >> 1.

Чаще всего rankH = tm . Главной причиной наличия неравенства rankH < tm является сопряженность некоторых из элементов р, р3,..., p2t-1 . Если элементы р2'-1 и р2 j-1 сопряжены друг с другом для некоторых целых ', j, 1 <' <' < t, то есть являются корнями одного и того же неприводимого над полем GF(2) = Z / 2Z полинома, то, как доказано в [3],

rank (р2' 1, р2j 1) = rank(р2' 1) = m . В таком случае rankH < (t - 1)m .

Сопряженность элементов р2'-1 и р2'-1 эквивалентна совпадению друг с другом циклотомических классов C (2' -1) и C (2 j -1) по модулю n [2]. Такие совпадения нередки даже для примитивных БЧХ-кодов. Так, по модулю 31 совпадают циклотомические классы C(9) и C(5) ; по модулю 63 - C(17) = C(5) , C(19) = C(13) ; по модулю 127 - C(17) = C(9) , C (25) = C (19), C (33) = C(5).

Конструктивное расстояние 5 БЧХ-кода C2t+1 считается равным 2t +1 . Точное значение его минимального расстояния d >5. Отмеченная выше сопряженность двух элементов матрицы (1) не только уменьшает на m количество ее линейно независимых строк, но и автоматически увеличивает на 2 его минимальное расстояние по сравнению с конструктивным. Так, в силу сказанного, у примитивного кода C9 длиной 31 5 = 9 , а d = 11 [2], у БЧХ-кодов C17 с длинами 63 и 127 5 = 17 , а d = 19 .

Непримитивные коды предоставляют массу подобных примеров [3, 4]. Глубинная причина существования таких примеров кроется в следующей базовой теореме помехоустойчивого кодирования: «Минимальное расстояние кода L равно d тогда и только тогда, когда любые d -1 столбцов проверочной матрицы HL линейно независимы, но найдутся d линейно зависимых столбцов» [2, 5]. Очевидно, все столбцы проверочной (^х^-матрицы Ннепр каждого непримитивного БЧХ-кода над полем GF(2m) принадлежат Нприм-проверочной (^х^^^-матрице примитивного БЧХ-кода над тем же полем, а матрица Ннепр получается из Нприм, по сути дела, выбрасыванием большого числа столбцов - (x -1)d.

Такая процедура может привести только к увеличению минимального расстояния кода. Истинное же значение величины d приходится вычислять в каждом конкретном случае, что является сложной задачей, применяя один из четырех подходов, разработанных именно для БЧХ-кодов [2, 3].

В монографиях [2, 3] содержатся различные аспекты ТНС, разработанные в основном для примитивных реверсивных и БЧХ-кодов. Наиболее подробно рассмотрены, вплоть до практических приложений, коды с минимальным расстоянием 5. В [4, 5] для БЧХ-кодов, исправляющих тройные ошибки, разработан оригинальный метод сжатия норм синдромов.

Свойства непримитивных БЧХ-кодов

Систематическое исследование непримитивных БЧХ-кодов и перенос на них ТНС приведено в [3], продолжено в работе [6] и далее в [7-9]. Из [1] известно, что примитивные коды C5, которые задаются проверочными матрицами

Н =

с Р = а , при m > 4 имеют ранг матрицы (2), равный 2m , их циклотомические классы C (1) Ф C (3) , а размерность k = n - 2m , при этом минимальное расстояние d = 5 = 5 . К сожалению, у непримитивных кодов C5 любое из перечисленных соотношений может нарушиться. В каждом конкретном случае необходима внимательная проверка каждого параметра кода, что сопровождается дополнительными вычислениями и зачастую требует серьезных компьютерных ресурсов.

Ранг подматрицы (р3') = (1, р3, р6,..., р3( n-1)) матрицы (2) и матрицы (1) чаще всего также

равен m . Очевидно, из трех последовательных нечетных натуральных значений числа n одно делится на три, а два - не делятся на три. Пусть НОД(3, п) = 1 . Пусть отображение ф3

циклической группы |1, р, р2,..., рп-1} порядка n в себя действует по правилу ф3(x) = x3. Оно является автоморфизмом этой группы (см. [10], теорема 2.12.3). Отсюда, в частности, следует, что р3 имеет тот же порядок в мультипликативной группе GF(2m )* , что и его прообраз Р = ф-1 (р3) при отображении ф3 . По построению, поле GF(2m) является минимальным, содержацим р . Это означает, что неприводимый полином над GF(2) с корнем р должен иметь степень m . В силу сказанного то же самое должно иметь место и для р3 . Отсюда вытекает, что элементы 1,р3,р6,...,р3(m-1) образуют линейно независимую над GF(2) систему и, следовательно, rank(р3') = m .

Пусть n делится на три. Здесь возможны два варианта:

1) р3 остается элементом поля GF(2m) и не принадлежит никакому подполю этого

поля;

2) существует подполе GF(2ц) поля GF(2m), содержащее р3.

Первый случай, очевидно, означает, что над полем GF(2) неприводимый полином элемента р3 обязан иметь степень m, а в таком случае rank(р3') = m . Второй случай, по тем же причинам, означает, что rank(р3') = ц для некоторого ц< n, а точнее, для некоторого делителя ц числа m .

Вот пример, иллюстрирующий второй случай. БЧХ-код C5 длиной 219 определен над полем GF(218) . 218 -1 = 7 • 9 • 57 • 73 . Здесь матрица (2) задается элементом р = а57'21 =а1197,

Р3 57^21^3 57^9 пп тт п3

= а =а имеет порядок 73. Но тогда элемент р должен принадлежать мультипликативной группе GF(29 )*, имеющей порядок 29 -1 = 7 • 73 . Но тогда rank(р3') < 9 .

Элементы р и р3 не должны быть сопряженными в поле GF(2m), то есть не должны быть корнями одного и того же неприводимого над полем GF(2) полинома, что, как отмечалось выше, эквивалентно неравенству C(1) Ф C(3) циклотомических классов. Однако это свойство не всегда выполняется. Например, у БЧХ-кода C5 длиной 95 имеет место совпадение: C(1) = C(3). Поэтому рассматриваемый код C5 реально относится к классу кодов Хемминга.

Приведем еще некоторые примеры. Имеется 46 нечетных значений возможной длины n БЧХ-кодов в диапазоне от 9 до 99. Для 14 значений длины выполняется неравенство n < 2m . Это значения n = 9, 11, 13, 19, 25, 27, 29, 37, 53, 59, 61, 67, 81, 83. Для каждого из перечисленных значений длины БЧХ-коды C5 не существуют. В диапазон от 9 до 99 попадают три значения длины -15, 31 и 63 - длины примитивных БЧХ-кодов C5 . Семь БЧХ-кодов C5 длиною 17, 23, 41, 47, 71, 79, 97 имеют размерность 1. 21 оставшихся в диапазоне длин от 9 до 99 БЧХ-кодов C5 имеют размерность больше 1 (с длинами 21, 33, 35, 39, 43, 45, 49, 51, 55, 57, 65, 69, 73, 75, 77, 85, 87, 89, 91, 93, 99). Среди них двенадцать (более половины кодов!) имеют d > 5 . Пять из них имеют d = 7 (n = 49 (здесь C(3) = C(5)), 69, 73, 77 (здесь C (3) = C (5)), 91 (здесь C (3) = C (5))), пять имеют d = 9 (при n = 33, 57, 87, 89 и 99),

один - длиною 39 - имеет d = 10 (здесь С(1) = С(5)), один - длиною 43 - имеет d = 13 (здесь С (3) = С (5)). Более подробная информация о названных 21 кодах С5 сосредоточена в табл. 1.

Таблица 1. Непримитивные БЧХ-коды C5 над полями GF(2m) в диапазоне длин от 9 до 99, размерность которых к

№ п/п 1 2 3 4 5 6 7 8 9 10 11

n 21 33 35 39 43 45 49 51 55 57 65

m 6 10 12 12 14 12 21 8 20 18 12

k 9 13 11 15 15 21 7 35 15 21 41

d 5 9 5 10 13 5 7 5 5 9 5

№ п/п 12 13 14 15 16 17 18 19 20 21

n 69 73 75 77 85 87 89 91 93 99

m 22 9 20 30 8 28 11 12 10 30

k 25 55 35 17 69 31 67 67 73 39

d 7 7 5 7 5 9 9 7 5 9

Вычисления с непримитивными БЧХ-кодами длиной n > 99 подтверждают сохранение отмеченной тенденции - примерно 1/3 всех непримитивных БЧХ-кодов с 5 = 5 имеют d > 5. Вот некоторые примеры.

Над полем GF(236) определены коды C5 длиной 109 и 111. У первого равны между собой следующие циклотомические классы: C(3) = C(5) = C(7) . Значит, у данного кода минимальное расстояние d > 9 . У второго кода C(1) = C(5) = C(7) , C(3) = C(9) . Значит, у данного кода минимальное расстояние d > 11.

Над полем GF(252) определены коды C5 длиной 157 и 159. У первого равны между собой следующие циклотомические классы: C(3) = C(5), C(1) = C(7) . Значит, у данного кода минимальное расстояние d > 9 . У второго кода C(1) = C(5) = C(7) ; C(3) = C(9) . Значит, у данного кода минимальное расстояние d > 11.

Как уже отмечалось, определение точного значения минимального расстояния для конкретных кодов - достаточно трудоемкая задача, требующая серьезных компьютерных вычислений, индивидуальных подходов и методов в каждом отдельном случае.

Непримитивные коды Хемминга

Всякий примитивный двоичный код Хемминга имеет длину п = 2т — 1, размерность k = п — т , задается проверочной матрицей Н = (а') над полем Галуа GF(2т) , имеет минимальное расстояние d = 3, а потому способен исправлять только одиночные ошибки.

Если продолжать терминологию из [1], непримитивные коды Хемминга могут иметь любую нечетную длину п Ф 2т — 1. Задаются они проверочной матрицей (1) при минимальном значении t = 1. При таком задании коды Хемминга могут иметь минимальное расстояние d > 3, как например, код длиной 17 (d = 5,k = 8) или код длиной 23 - двоичный код Голея.

В [8] установлено, что если длина п = р  s делится на простое число р, то код Хемминга длиной п содержит кодовые слова весом р. Отсюда следует, что его минимальное расстояние d < р . В частности, при п, делящемся на 3, минимальное расстояние кода Хемминга d = 3 . Таким образом, коды Хемминга простой длины или длины, не имеющей малых делителей, имеют все шансы на большое минимальное расстояние. Проведенные исследования всех кодов Хемминга в диапазоне длин от 9 до 109 показывают, что, как и для БЧХ-кодов, примерно на трети длин коды Хемминга имеют минимальное расстояние, большее трех. Более того, доказана следующая теорема.

Теорема 1. Для любого наперед заданного целого числа d0 > 3 найдется двоичный код Хемминга, минимальное расстояние которого d > d0.

Доказательство базируется на том, что бесконечное число квадратично-вычетных кодов (КВ-кодов) принадлежит классу непримитивных кодов Хемминга.

Двоичные КВ-коды имеют простую длину п = p = 8k ± 1, они являются циклическими кодами, порождаются как идеалы в кольце полиномов Rp = GF(2)[x]/ < xp -1 > одним из полиномов следующих четырех видов: q(x), (x - 1)д(x), п(x), (x- 1)n(x) [1]. q(x) и п(x) - специальные полиномы степени (p -1)/2 из кольца ОЕ(2)[x] : q(x) = ^(x -Р') ;

iеQ

п(x) = ^ (x - рг), где Р - примитивный корень р -й степени из 1 в расширении ОЕ(2т) поля

геИ

ОЕ(2) наименьшей степени т ; Q - подгруппа квадратов (квадратичных вычетов по модулю р) циклической мультипликативной группы ОЕ(р)* поля ОЕ(р) , являющейся, очевидно, циклической подгруппой; N - множество квадратичных невычетов по модулю р .

Заметим, что имеется бесконечно много простых чисел вида р = 8k ± 1 [11]. Как известно [11], для простых р = 8k ± 1 в поле ОЕ(р) = Х / рХ класс 2 является квадратичным вычетом, то есть 2(р-1)/2 = 1(mod р). Поэтому класс 2 принадлежит группе Q , вместе со всей циклической подгруппой < 2 >, порожденной классом вычетов 2. Сама же группа Q имеет порядок (р -1) / 2 . Ту же мощность (р -1) / 2 имеет и множество N квадратичных невычетов.

Как отмечено выше, 2

элемента Р над Х / 2Х, поскольку они имеют одинаковую степень и общий корень р2. Отсюда следует теорема.

Теорема 2. Класс КВ-кодов Сч{ х) , определенных над полем ОЕ (2т) с т = (р -1)/2,

принадлежит семейству кодов Хемминга.

Из свойств квадратично-вычетных кодов [1] непосредственно вытекает следующее. Следствие. Коды Хемминга, имеющие простую длину п = р = 8k ± 1 и поле

определения ОЕ(2(р-1)/2), имеют минимальное расстояние d >у[р .

Следовательно, минимальное расстояние непримитивных кодов Хемминга может принимать сколь угодно большие значения.

Проблемы, вопросы и решения, связанные с коррекцией ошибок, выходящих за рамки констуктивных возможностей кодов, предлагатся кратко обозначить как «плюс-декодирование».

Теория норм синдромов [2, 3], давшая существенное решение проблемы «селектора», предоставляет и конструктивные подходы к разрешению проблем «плюс-декодирования». Рассматрим их в приложении к непримитивным БЧХ-кодам с малым конструктивным расстоянием.

Возможности плюс-декодирования для БЧХ-кодов С5

В ХХ веке проблема коррекции декодирования ошибок, выходящих за рамки конструктивных возможностей, имела частный характер, количество таких ошибок было не очень значительным [2]. В случае непримитивных БЧХ-кодов ситуация значительно меняется. Увеличение кодового расстояния d на два по сравнению с конструктивным влечет увеличение кратности исправляемых ошибок на единицу. Их же количество определяется с помощью биномиальных коэффициентов.

По своему построению БЧХ-код С5 рассчитан на исправление одиночных и двойных

ошибок, количество которых Кконстр = С1п + С2 = 1) . Если у данного кода С5 реальное минимальное расстояние d = 7 (в табл. 1 отмечены пять таких кодов), то этот код должен

исправлять и тройные ошибки в количестве С— = ——— . Данное количество ошибок

2 • 3

и составляет потенциал К+ плюс-декодирования. Очевидно, здесь К+ превосходит Кк

почти в з раз. Если же код С5 имеет реальное значение й = 9 (в табл. 1 отмечено пять таких

ч тг+ ^з /~т4 (— + 1) —(— - 1)(— - 2) кодов), то К += С3 + С—4 =±- 7 v ^ 7

2 • 3 • 4

. Это превосходит Кконстр почти в — раз

(см. табл. 2).

Таблица 2. Потенциал конструктивного и плюс-декодирования у БЧХ-кодов С5

№ п/п 1 2 3 4 5 6

N 33 39 43 49 57 69

М 10 12 14 21 18 22

D 9 10 13 7 9 7

К констр 561 780 946 1225 1653 2415

К+ 46376 91390 7194803 18424 424770 52394

N 73 77 87 89 91 99

М 9 30 28 11 12 30

D 7 7 9 7 7 9

К констр 2701 3003 3828 4005 4186 4950

К+ 62196 73150 2331890 2555190 121485 3921225

2

Данные табл. 2 демонстрируют, что в БЧХ-кодах С5 на плюс-декодирование приходится в десятки тысяч раз больше векторов-ошибок, чем на конструктивное декодирование.

Реализация возможностей плюс-декодирования с помощью ТНС

Пусть минимальное расстояние кода й = 21 +1 или й = 21 + 2 . Тогда в данном коде синдромы всех векторов-ошибок весом ю, 1 <ю<I, попарно различны. Это свойство служит теоретической гарантией возможности коррекции кодом всех ошибок весом ю, 1 < ю < t . Практически же реализация данной возможности зависит от кодов, кратности ошибок и многих иных факторов. При t = 1 возможна прямая связь «синдром - ошибка». При t = 2 коррекция двойных ошибок в БЧХ-кодах С5 осуществляется сведением к решению квадратных уравнений в поле определения кода GF(2т) .

Однако стандартных методов коррекции ошибок, выходящих за конструктивные рамки, не существует. Не найти квадратным уравнением координаты тройной ошибки. С другой стороны, слишком слабы структурные возможности синдромов в БЧХ-коде С5, чтобы составить кубическое уравнение для нахождения координат тройной ошибки. Для плюс-декодирования БЧХ-кодов С5 явно требуются иные подходы.

Теория норм синдромов опирается на свойство цикличности БЧХ-кодов С с проверочными матрицами (1) и (2). Пусть п — длина кода С и АиС - его группа автоморфизмов. АиС содержит циклическую подгруппу Г =<с> порядка п , состоящую из степеней о-линейного преобразования двоичного векторного пространства Vn,

действующего на каждый вектор х = (х1, х2,..., хп ) е V по правилу

с

Пространство Vn , а с ним и совокупность КС декодируемых БЧХ-кодом С векторов-ошибок, разбиваются под действием группы Г на попарно непересекающиеся классы -

/"-орбиты. Каждая /"-орбита состоит из своеобразного кольца переходящих друг в друга под действием степеней с векторов и, следовательно, однозначно определяется любым из своих представителей. В силу соотношения

для произвольного фиксированного вектора ё е J . Здесь ц > 1 - наименьшее натуральное число с условием сц (ё) = ё . Число ц - делитель длины n кода С . Чаще всего ц = n . В последнем случае Г-орбита называется полной. Равенство (4) служит основанием для более точного обозначения Г-орбит: J =< ё > .

Отображение двоичных пространств фн : Vn ^ V2m, действующее по правилу y = x • HT , есть линейный оператор. Согласно основам линейной алгебры, полный образ фн(Vn) есть подпространство пространства V2m размерностью n - dim КёгН = n - k = 2m . Это означает,

что Фн (Vn ) = V2m .

В силу формулы (2) каждая вектор-ошибка ё в БЧХ-коде C5, определенном над полем GF(2m), имеет синдром S(ё) = Н • ёт =(s1, s2 )T для s1, s2 е GF(2m). Равенство фн (Vn) = V2m влечет, что для произвольных s*, s2 е GF(2m) существует вектор ё eVn такой, что

s (ё)=н • ёт =( s;, s2;)T.

Согласно [2, 3], действие оператора циклического сдвига с на каждый вектор ошибок ё однозначно отражается в коде C5 на компонентах синдрома этого вектора по формуле

S

Из формулы (5) вытекает структура спектра синдромов S (< ё >) Г-орбиты < ё > :

S

Формулы (5), (6) означают, что если у двух Г-орбит найдутся векторы с одинаковыми синдромами, то спектры синдромов этих орбит совпадают полностью. Формула (5) послужила

основой для следующего определения. Нормой синдрома S(ё) = (s1, s2 )T в БЧХ-коде C5

называется величина

s2

N = N (S (ё)) =

-i; S * 0;

S13

+<х>; 51 = 0, 52 Ф 0.

Нормы синдромов обладают рядом важных свойств. Во-первых, норма может быть любым элементом поля GF(2т) , а также имеет одно особое значение: +<х> . Всего, таким

образом, норма принимает п + 2 = 2т +1 значений. Во-вторых, у всех векторов, принадлежащих отдельно взятой Г-орбите J, норма синдрома одинакова. Это единственное значение естественно назвать нормой N^) данной Г-орбиты J . Таким образом, N^) = N(£(ё)) для произвольного вектора ё е J .

В третьих, если две /"-орбиты J1 и J2 имеют различные нормы, то спектры синдромов этих орбит не пересекаются, то есть эти /-орбиты не могут иметь векторов с одинаковыми синдромами.

В четвертых, синдромы равномерно распределены по значениям норм синдромов: для каждого из п + 2 = 2т +1 значений N норм синдромов найдется в точности п = 2т -1 различных синдромов, норма которых равна N . В самом деле, пусть у синдрома

£(ё) = (51, s2 компонента s1 Ф 0 и пусть N(£(ё)) = N . Тогда для примитивного элемента а

I 3' \Т

поля GF(2т) различные п синдромов (а' • s1, а ' • s2) , 0 < ' < п -1, принимают то же значение нормы N . Для всех п = 2т -1 синдромов вида (0, s2 )Т , где s2 Ф 0, s2 е GF(2т) , норма

N^) = +<х> . Таким образом, рассмотрено уже п(п + 2) = (2т -1) -(2т +1) = 22т -1 синдромов. Добавим к ним нулевой синдром. Получим весь спектр синдромов в БЧХ-коде С5 , что и завершает доказательство.

В-пятых, у примитивных БЧХ-кодов из равенства N(Jl) = N(J2) для двух полных Г-орбит J1 и J2 с полными спектрами синдромов следует также равенство и самих синдромов: для всякого вектора / е J1 найдется вектор $ е J2 такой, что их синдромы равны:

s (7) = s ($).

Для непримитивных БЧХ-кодов ситуация сложнее. Здесь всякая полная /-орбита J с полным спектром синдромов S(/) содержит п = (2т -1) / т различных векторов с п попарно-различными синдромами из S(/) . Отсюда следует, что может существовать т различных полных / -орбит с попарно непересекающимися полными спектрами синдромов и с одной и той же нормой.

Приведенное рассуждение демонстрирует, как действие автоморфизмов кодов на векторы ошибок взаимно однозначно отображается на числах - на синдромах. Отлаженная веками алгебра чисел позволит, несомненно, найти эффективный алгоритм определения самих векторов-ошибок вычислениями с их синдромами и нормами.

Действительно, теория норм синдромов обеспечивает свой оригинальный взгляд на декодирование ошибок. Она предлагает рассматривать не отдельные векторы ошибок, а их Г-орбиты. Любую декодируемую совокупность К векторов-ошибок с попарно различными синдромами можно распределить на множество К / Г непересекающихся /-орбит этих ошибок. Для идентификации каждой конкретной Г-орбиты / достаточно зафиксировать один из ее представителей е/ . Все остальные векторы орбиты легко строятся циклическими сдвигами координат вектора е/ .

Все Г-орбиты / декодируемой данным кодом С совокупности Кс векторов-ошибок обязательно имеют попарно непересекающиеся спектры синдромов S(/) . Спектр S(/) однозначно восстанавливается по формуле (5) из синдрома S(е/), как уже отмечалось выше.

Зафиксируем список 1 образующих е/ совокупности КС / Г , список 2 синдромов S(е/), а также список 3 норм N^(е/)). Благодаря им можно легко определить «ряд и место» подлежащей определению вектор-ошибки е в каждом конкретном сообщении х , которое принято ТКС на основе кода С .

Алгоритм 1 - норменное декодирование на основе Г-орбит

Инфокоммуникационная система (ИКС), получив очередное сообщение х, вычисляет его синдром ошибок S(х) = S(е) . Пусть S(х) = S(е) Ф 0 . Это свидетельствует о наличии в сообщении неизвестной и подлежащей определению вектор-ошибки е . Тогда вычисляем норму N * = N ^ (х)) . Совпадение N * с N ^ (е/)) из списка 3 сужает круг Г-орбит декодируемой совокупности, которые могут содержать искомую вектор-ошибку е в сообщении х , до небольшой группы орбит /1, /2,..., /е, 1 <0 <т, имеющих одинаковую норму N *.

Синдром S(х) = S(е) = (51, 52) должен принадлежать спектру синдромов только одной Г-орбиты /, 1 < ' < 0 . Предположим, что N * является элементом поля Галуа GF (2т) . Тогда у всех рассматриваемых синдромов первая компонента 51 Ф 0. Пусть синдром образующей е3 Г-орбиты / имеет первую компоненту s1/' = ау для некоторого целого V, 0 <у < п . Пусть у синдрома S(х) первая компонента s1 = аX, 0 < X < п . Тогда для подходящего целого ', 0 < ' < п, согласно формуле (6), ах = Р' - аV = ат'+у . Полученное равенство означает, что либо X - V (если X > V ), либо 2т -1 + X - V (если X < V) делится на т . Тогда частное ' однозначно определяет

искомую вектор-ошибку: е = с' (е^) . Величина же I и есть то единственное значение из множества целых {1,2,..., 6} , для которого только одна из величин Я —V или 2т —1 + Я—V делится нацело на т .

Возможно, N = +<х> . Тогда у всех рассматриваемых синдромов первая компонента = 0. Пусть у синдрома образующей Г-орбиты J¡ вторая компонента я 2 = ау для целого

V, 0 ^ < п. Пусть вторая компонента синдрома £(х) s2 = аЯ, 0 <Я< п. Тогда для подходящего целого ', 0 < ' < п, согласно формуле (6), аЯ = р3' • а"1 = ат3'+V . Полученное

равенство влечет, что либо Я — V (если Я > V ), либо 2т — 1 + Я — V (если Я < V ) должно делиться на т . Величина I и есть то единственное число из множества целых чисел {1,2,..., 6}, для которого одна из величин Я —V или 2т — 1+ Я —V делится нацело на т . Ясно, этим целым частным должно быть число 3'.

Предположим, что длина кода п не делится на 3. Тогда для взаимно простых чисел п и 3 выполняется соотношение Безу: существуют такие целые числа и и V , что 3и + пу = 1 . Искомую вектор-ошибку е находим из формулы е = с3ш (г^) . В самом деле,

а3™ е)=с3'и+пу7 е)=с(3и+пу)7 е)=с' е)=г.

Случай, когда N * = +<х> и п не делится на 3, встречается весьма редко, он присущ неполным Г-орбитам, а потому рассматривается отдельно.

Таким образом, работа норменного декодера достаточно наглядно реализуется при создании списков 1-3, характеризующих Г-орбиты корректируемой совокупности векторов-ошибок. Эффективность работы норменных декодеров особенно наглядна в работе ИКС на примитивных БЧХ-кодах [3, 6]. Для непримитивных БЧХ-кодов немного усложняющим фактором является возможное наличие отдельных значений 6 > 1.

Циклотомические подстановки для норменного декодирования

Следует признать, что при d > 7 списки 1-3 становятся достаточно обширными. Работа с ними усложняется. Проблема «селектора» начинает проявлять себя на новом уровне.

Эффективным в преодолении названных затруднений является метод «сжатия» -преобразования исправляемых векторов-ошибок в ошибки с узким спектром значений норм синдромов [5, 6]. Однако разработанные подходы рассчитаны на примитивные коды и на ошибки конкретного веса, автоматически они не переносятся на ошибки большего веса. Для непримитивных же кодов они по-просту не применимы.

Группы автоморфизмов кодов остаются наиболее реальным и наиболее конструктивным средством сжатия обрабатываемой декодерами информации. Группа автоморфизмов любого из кодов С5 содержит, к примеру, циклотомические подстановки. Их действие, свойства и применение уже рассматривалось в определенной мере в монографии [3].

Циклотомические подстановки составляют циклическую группу Ф порядка т с образующей ф, которая действует на каждый вектор-ошибку е с синдромом £

так, что синдром £ (ф(е)) = (я2, s22). В таком случае, при условии N (£ (е)) = N е GF (2т), норма N(£(ф(е))) = N . Несложно видеть, что вектор ф(е) можно получить из вектора е по правилу: для каждого целого ', 1 <' < п, '-я координата вектора е становится (2'-1)-й координатой вектора ф(е), если 2' — 1 < п, и (2'-1-п)-й координатой вектора ф(е), если 2' — 1 > п .

Циклическая подстановка с и циклотомическая подстановка ф связаны равенством фс = с3ф [1, 3]. Они образуют некоммутативную группу G порядка тп - подгруппу группы Аи(С5) . Пусть J — некоторая Г-орбита векторов-ошибок. Тогда ф(J) — новая Г-орбита векторов-ошибок ([3], предложение 2.17). Таким образом, группа Ф действует на множестве Г-орбит К / Г декодируемой кодом совокупности К векторов-ошибок, разбивает его

на Ф-орбиты. Соответственно, множество К разбивается на укрупненные С-орбиты, содержащие, как правило, по тп векторов-ошибок.

Зафиксировав одну вектор-ошибку е , мы можем восстановить все вектор-ошибки С-орбиты < е >С . Значит, списки 1-3 можно сократить примерно в т раз, оставив в них по одной образующей каждой С-орбиты декодируемой совокупности (см. табл. 3).

Таблица 3. Количество Г-орбит и б-орбит корректируемой совокупности для БЧХ-кодов С5 из табл. 2

№ п/п 1 2 3 4 5 6

N 33 39 43 49 57 69

М 10 12 14 21 18 22

D 9 10 13 7 9 7

К констр 561 780 946 1225 1653 2415

К+ 46376 91390 7194803 18424 424770 52394

Г констр 17 20 22 25 29 35

Г+ 1405 2344 167321 376 7453 760

С+ 141 196 11952 18 415 35

N 73 77 87 89 91 99

М 9 30 28 11 12 30

D 7 7 9 9 7 9

К констр 2701 3003 3828 4005 4186 4950

К+ 62196 73150 2331890 2555190 121485 3921225

Гконстр констр 37 39 44 45 46 50

Г+ 852 950 2680 28710 1335 39609

С+ 95 32 958 2610 112 1321

Алгоритм 2 - алгоритм декодирования ошибок на основе G-орбит

Пусть принято сообщение х с синдромом S(х) = S(ё) = (51,52), норма которого N * = N ^ (х)) е аF (2т). Предположим, что N * не принадлежит списку 3. Тогда находим такое наименьшее целое ', 1 < ' < т, что для Х = 2' величина (N * )х = N ^ (ё,)) для одного или нескольких векторов ё, из списка 1 образующих С-орбит корректируемого множества векторов-ошибок. Полученное равенство норм означает, что у искомого вектора-ошибки ё в сообщении х вектор ф' (е) имеет синдром S(ф' (е)) = (5х, 52), который принадлежит спектру синдромов S(< ё, >) одной Г-орбиты < ё, > , порожденной вектором ё, из списка 1. Алгоритм 1 однозначно определяет вектор ё, и находит выражение вектора ф' (е) через него: ф' (е) = с5 (ё,) для подходящего целого 5, 0 < 5 < п -1 . После этого вектор ё однозначно находится по формуле е = фт-' (с5 (ё,)).

Пример. Рассмотрим непримитивный (33,13) - БЧХ-код С5. Согласно данным табл. 1-3 данный код имеет минимальное расстояние 9 и способен исправлять все случайные ошибки весом 1-4, всего 46937 векторов-ошибок, делящихся на 1423 Г-орбиты. Из них 1 Г-орбита ошибок весом 1, 16 Г-орбит ошибок весом 2, 165 полных Г-орбит ошибок весом 3 плюс одна неполная Г-орбита из 11 векторов-ошибок, порожденная вектором ё = (1,12,23) с ненулевыми координатами на 1, 11 и 22-й позициях, львиную долю составляют 1240 Г-орбит векторов-ошибок весом 4.

Данный код обладает 220 = 1048 576 попарно различными синдромами, что примерно в 20 раз превосходит количество корректируемых векторов-ошибок. Однако различных норм

синдромов в данном коде всего может быть 210 +1 = 1025 , что меньше количества Г-орбит декодируемой совокупности. В списке 3 обязательно найдутся одинаковые нормы.

Для выяснения реальной картины следует задать поле определения данного кода -поле GF (210). Зафиксируем неприводимый над GF (2) и примитивный полином 10-й степени, к примеру, полином р(х) = х10 + х3 +1 . Пусть а- его корень. Тогда р = а31 . Отсюда, в частности, следует, что декодируемая совокупность К может содержать до т = 31 Г-орбит с одинаковым значением нормы. Среди 17 Г-орбит множества Гконстр таких быть не может

(доказано в [3] для всех кодов С5).

Проведенные вычисления приводят к интересным наблюдениям.

1. В списке 3 присутствуют все возможные значения норм синдромов.

2. В рассматриваем коде отсутствуют, за одним исключением, совпадения норм Г-орбит различного веса.

3. Среди 166 Г-орбит ошибок весом 3 имееся 10 пар Г-орбит с одинаковыми нормами, объединяющиеся в две G-орбиты. В качестве образующих этих G-орбит можно взять векторы: ё1 = (1,3,16) и ё2 = (1,15,19); синдромы образующих: £(ё1) = (а453, а549 ) и £(ё2) = (а47, а354) ; можно непосредственно проверить, что N(£(ё1)) = N(£(ё2) = а213.

4. Среди ошибок весом 4 картина сложнее. Имеется 265 пар Г-орбит с одинаковыми нормами в каждой паре, имеется 70 троек Г-орбит с одинаковыми нормами в каждой тройке, имеется 45 четверок Г-орбит с одинаковыми нормами внутри каждой четверки. Имеется 15 Г-орбит с нормой 0, совпадающей с нормой N(£(1,12,23)) . Наконец, имеется 5 Г-орбит с нормой 1, совпадающей с нормой Г-орбиты ошибок весом 1.

5. Норму N = +<х> имеет в точности одна Г-орбита - единственная неполная Г-орбита, порожденная вектором-ошибкой ё = (1,12, 23).

6. Таким образом, 392 значения норм принимают по две и более Г-орбит, оставшиеся 633 из 1025 норм принимают в точности по одной Г-орбите декодируемого множества К / Г .

Заключение

Новые непримитивные коды, получаемые из примитивных БЧХ-кодов и кодов Хемминга специальными процедурами, имеют различные нечетные длины и, во многих случаях, имеют корректирующий потенциал, многократно превышающий их конструктивные возможности. Последовательное применение свойств автоморфизмов кодов и построенной на их основе теории норм синдромов обеспечивает построение эффективных перестановочных норменных методов декодирования всех допустимых минимальным расстоянием ошибок в рассматриваемых линейных кодах. Тем самым обеспечивается реальная перспектива для применения на практике многих представителей построенного класса непримитивных БЧХ-кодов.

Список итературы

1. Мак-Вильямс Ф.Дж., Слоэн Н. Дж.А. Теория кодов, исправляющих ошибки. М.: Связь, 1979. 744 с.

2. Конопелько В.К., Липницкий В.А. Теория норм синдромов и перестановочное декодирование помехоустойчивых кодов. М: Едиториал, УРСС 2004. 176 с.

3. Липницкий В.А., Конопелько В.К. Норменное декодирование помехоустойчивых кодов и алгебраические уравнения. Минск: Издательский центр БГУ, 2007. 216 с.

4. Липницкий В.А., Аль-Хайдар Е.К. Норменное декодирование ошибок посредством их модификации // Докл. БГУИР. 2009. № 5 (43). С. 12-16.

5. Липницкий В.А. Теория норм синдромов. Минск: БГУИР, 2011. 96 с.

6. Курилович А.В., Липницкий В.А., Михайловская Л.В. Непримитивные коды Боуза-Чоудхури-Хоквингема и их основные параметры // Сб. науч. ст. «Технологии информатизации и управления». 2011. Вып. 2. С. 43-49.

7. Липницкий В.А., Олексюк А.О. Теория норм синдромов и плюс-декодирование // Докл. БГУИР. 2014. № 8 (86). С. 72-78.

8. Липницкий В.А., Олексюк А.О. Оценка минимальных расстояний непримитивных кодов Хемминга // Весщ НАН Беларусь 2015. № 2. С. 103-110.

9. Липницкий В.А., Олексюк А.О. Перестановочный декодер для коррекции многократных ошибок непримитивными БЧХ-кодами // Докл. БГУИР. 2015. № 3 (89). С. 117-123.

10. Липницкий В.А. Современная прикладная алгебра. Математические основы защиты информации от помех и несанкционированного доступа. Минск: БГУИР, 2006. 88 с.

11. Виноградов И.М. Основы теории чисел. М.: Наука, 1976. 168 с.

References

1. Mak-Vil'jams F.Dzh., Slojen N. Dzh.A. Teorija kodov, ispravljajushhih oshibki. M.: Svjaz', 1979. 744 s.

2. Konopel'ko V.K., Lipnickij V.A. Teorija norm sindromov i perestanovochnoe dekodirovanie pomehoustojchivyh kodov. M: Editorial, URSS 2004. 176 s.

3. Lipnickij V.A., Konopel'ko V.K. Normennoe dekodirovanie pomehoustojchivyh kodov i algebraicheskie uravnenija. Minsk: Izdatel'skij centr BGU, 2007. 216 s.

4. Lipnickij V.A., Al'-Hajdar E.K. Normennoe dekodirovanie oshibok posredstvom ih modifikacii // Dokl. BGUIR. 2009. № 5

5. Lipnickij V.A. Teorija norm sindromov. Minsk: BGUIR, 2011. 96 s.

6. Kurilovich A.V., Lipnickij V.A., Mihajlovskaja L.V. Neprimitivnye kody Bouza-Choudhuri-Hokvingema i ih osnovnye parametry // Sb. nauch. st. «Tehnologii informatizacii i upravlenija». 2011. Vyp. 2. S. 43-49.

7. Lipnickij V.A., Oleksjuk A.O. Teorija norm sindromov i pljus-dekodirovanie // Dokl. BGUIR. 2014. № 8

8. Lipnickij V.A., Oleksjuk A.O. Ocenka minimal'nyh rasstojanij neprimitivnyh kodov Hemminga // Vesci NAN Belarusi. 2015. № 2. S. 103-110.

9. Lipnickij V.A., Oleksjuk A.O. Perestanovochnyj dekoder dlja korrekcii mnogokratnyh oshibok neprimitivnymi BChH-kodami // Dokl. BGUIR. 2015. № 3

10. Lipnickij V.A. Sovremennaja prikladnaja algebra. Matematicheskie osnovy zashhity informacii ot pomeh i nesankcionirovannogo dostupa. Minsk: BGUIR, 2006. 88 s.

11. Vinogradov I.M. Osnovy teorii chisel. M.: Nauka, 1976. 168 s.

Сведения об авторах

Конопелько В.К., д.т.н., профессор, профессор кафедры инфокоммуникационных технологий Белорусского государственного университета информатики и радиоэлектроники.

Липницкий В.А., д.т.н., профессор, заведующий кафедрой высшей математики Военной академии Республики Беларусь.

Information about the authors

Konopelko V.K., D.Sci, professor, professor of infocommunication technologies department of Belarusian state university of informatics and radioelectronics.

Lipnicki V.A., D.Sci, professor, head of the department of higher mathematics of Military academy of Republic of Belarus.

Адрес для корреспонденции

220013, Республика Беларусь,

г. Минск, ул. Бровки, 6

Белорусский государственный университет

информатики и радиоэлектроники

тел. 375-17-293-23-86;

e-mail: volos@bsuir.by

Конопелько Валерий Константинович

Address for correspondence

220013, Republic of Belarus, Minsk, Brovki, 6, Belarusian state university of informatics and radioelectronics tel. 375-17-293-23-86; e-mail: volos@bsuir.by Konopelko Valerii Konstantinovich