Теория норм синдромов и плюс-декодирование

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

2014

№ 8

УДК 004.056.55

ТЕОРИЯ НОРМ СИНДРОМОВ И ПЛЮС-ДЕКОДИРОВАНИЕ

В.А. ЛИПНИЦКИИ, АО. ОЛЕКСЮК

Военная академия Республики Беларусь Минск, 220057, Беларусь

Поступила в редакцию 8 октября 2014

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

Ключевые слова: помехоустойчивое кодирование, БЧХ-коды, конструктивное и минимальное расстояния кода, циклические подстановки, теория норм синдромов.

Помехоустойчивое кодирование призвано вести синхронную борьбу с ошибками при передаче информации в цифровых системах связи, вынужденных функционировать в реальных зашумленных каналах [1, 2]. Реалии информационной эпохи XXI века, всеобщая компьютеризация, стремительный рост широчайших потоков информации предъявляют различные и порой противоречащие друг другу требования к применяемым кодам, создавая ряд проблем в теории и практике помехоустойчивого кодирования. Наиболее острая из них -проблема «селектора» - проблема быстрого и надежного выбора конкретной ошибки среди обширного корректируемого многообразия этих ошибок [3, 4].

Корректирующий потенциал кода обеспечивают спектры ошибок с попарно различными синдромами. Однако прямые развязки типа «синдром - ошибка» эффективны лишь при исправлении одиночных ошибок.

Применяемые на практике коды нередко обладают корректирующим потенциалом, выходящим за рамки конструктивных возможностей. Сказанное наиболее характерно для популярнейшего на практике класса кодов Боуза-Чоудхури-Хоквингема (БЧХ-кодов), особенно не примитивных БЧХ-кодов [2, 5]. Для реализации названного потенциала стандартные средства неприменимы. Здесь требуется разработка принципиально новых подходов, применение новых идей. Круг вопросов, связанных с коррекцией ошибок, выходящих за рамки конструктивных возможностей кодов, предлагаем назвать «плюс-декодированием».

Теория норм синдромов (ТНС) [4, 5], на порядок снизившая влияние проблемы «селектора», предоставляет также и конструктивные подходы к решению проблемы «плюс-декодирования». Их обсуждению, особенно в применении к не примитивным БЧХ-кодам, рассчитанным на коррекцию двукратных ошибок, и посвящена данная работа.

Общее определение и основные свойства БЧХ-кодов приведены в монографии [2]. Среди БЧХ-кодов с конструктивным расстоянием 2/ + 1, рассчитанных на исправление / — кратных случайных ошибок, наибольшую размерность и скорость передачи информации, а, следовательно, и наибольший практический интерес имеют коды С2(+^ с проверочной матрицей

Введение

О БЧХ-кодах с конструктивным расстоянием 5

Здесь в - элемент мультипликативной группы GF(2m )* поля Галуа GF(2m), имеющий порядок n = (2m— 1)/т для некоторого делителя т числа |GF(2m)*| = 2m-1, 0 <i < n— 1. Длина кода C2i+1 равна n и всегда является нечетной величиной. Группа GF(2m)* циклична. Если а — образующая этой группы - примитивный элемент поля GF(2m), то в качестве в можно взять в = ат. При т = 1 длина n = 2m — 1, элемент в = а и потому код C2i+1 называется примитивным; если же т > 1, в Ф а и потому код С2М называют не примитивным [5, 6].

БЧХ-коды С - частный случай кодов с проверочной матрицей (1) - задаются проверочными двоичными (2m х n) — матрицами, 2m < n = (2m — 1) / т,

H =

В [2] доказано, что у примитивных кодов С5 при m > 4 ранг матрицы (2) равен 2m,

циклотомические классы С1 Ф С3, их размерность k = n—2m, а минимальное расстояние d = 5 = 5. У не примитивных кодов С5 любое из названных соотношений может нарушиться.

Ранг подматрицы вi равен m [5]. Ранг подматрицы

и подматрицы (1) не всегда равен m . Действительно, из каждых трех последовательных нечетных значений n одно делится на 3, а два - не делятся на три. Если НОД(3, п) = 1, то

отображение ф3 циклической группы |1, в, в2^.^в^^ порядка n в себя, действующее по

правилу ф3(х) = х3 является автоморфизмом этой группы. Отсюда следует, в частности, что в3 имеет тот же порядок в мультипликативной группе GF(2m )*, что и его прообраз в при отображении ф3. Это означает, что неприводимый полином над GF(2) с корнем в3 должен иметь степень m, а следовательно, элементы 1, в3,в6,...,в3^'" Г> образуют линейно независимую над GF(2) систему. Следовательно, rank(в3 ) = m .

Пусть n делится на три. Здесь возможны два варианта: 1) элемент в3 поля GF(2m) не принадлежит никакому подполю этого поля; 2) существует подполе GF(2ц) поля GF(2m), содержащее в3 . В первом случае неприводимый над полем GF(2) полином элемента в3 должен иметь степень m, а тогда rank(в3) = m . Во втором случае по тем же причинам rank(в^) = р, для некоторого делителя ц числа m . Второй случай хорошо иллюстрирует следующий пример. БЧХ-код С5 длиной 219 определен над полем GF(218) . 218 —1 = 7 • 9• 57 • 73 .

-D О 57^21 1197 п3 „ 57-21^3 „ 57^7^9

В этом случае матрица (2) задается элементом в = а = а , а элемент в = а = а имеет порядок 73. Но такой элемент должен принадлежать мультипликативной группе GF (29 )*, которая имеет порядок 29 — 1 = 7 • 73. В таком случае rank (в^) < 9.

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

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

Потенциал плюс-декодирования для БЧХ-кодов С5

Ранее проблема декодирования ошибок, выходящих за конструктивные рамки, имела частный характер, поскольку количество таких ошибок было незначительным (см. [7, 8]). В

случае не примитивных БЧХ-кодов картина резко меняется. БЧХ-код С5 конструктивно рассчитан на исправление одиночных и двойных ошибок в количестве Кконс1р = С + С2п = п(п + 1)/2 . Если у данного кода минимальное расстояние d = 7 (в табл. 1 отмечено пять таких кодов), то код должен исправлять и тройные ошибки в количестве Съп = п(п - 1)(п - 2) / 6 . Данное количество ошибок превосходит почти в п /3 раз Кконсгр и

составляет потенциал К плюс-декодирования для рассматриваемых кодов. Если же у кода С5 реальное значение d = 9 (в табл. 1 отмечено пять таких кодов), то К = Съп + С„4 = (п + 1)п(п - 1)(п - 2) / 24, что почти в п2 /12 раз превосходит Кконсгр и т.д. Точные

данные приведены ниже в табл. 1. Из нее следует, что на плюс-декодирование приходится в десятки тысяч раз больше векторов-ошибок, чем на конструктивное.

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

Конструктивные подходы к реализации в БЧХ-кодах С5 потенциала плюс-декодирования предоставляет теория норм синдромов [4, 5]. Данная теория опирается на цикличность БЧХ-кодов с проверочными матрицами (1) и (2). Группам автоморфизмов Aut (С) названных кодов С принадлежит подгруппа Г порядка п (длина кода) циклических сдвигов, которая состоит из степеней линейного преобразования о двоичного векторного пространства

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

ст

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

3 = {е, о

для произвольного фиксированного вектора е е 3. Здесь ц - наименьшее натуральное число с условием: оц(е) = е , делитель длины кода п . Чаще всего ц = п. В последнем случае Г-орбита содержит максимально возможное количество векторов и потому называется полной. Равенство (4) служит причиной для следующего, более точного обозначения Г-орбит: 3 =< е >. Отображение фн из двоичного пространства у в двоичное пространство У2т,

действующее по правилу у = Х  НТ, есть линейный оператор между названными пространствами. Согласно базовым результатам линейной алгебры, полный образ фя(У) есть подпространство пространства У1т размерностью п—&тКгН=п—к = 2т. Это означает, что ФН Уп ) = У2т .

Каждая вектор-ошибка е в БЧХ-коде С5 над полем ОГ

синдром 5(е) = Н  ёТ = (^, s2 )Т для некоторых ^, s2 е ОГ(2т ) . Из равенства фн (У ) = У1т

следует, что для любых я*, е ОГ (2т) найдется вектор е еУп, такой, что

5(е) = Н еТ =(я;, .

Действие оператора о на каждый вектор е однозначно отражается в коде С5 на синдромах по формуле [4, 5]:

5

Формула

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

Нормой синдрома £(е ) = (^ s2 )Т в БЧХ-коде С5 называется величина

N=аде»={ °2'^Ф°;

Норма синдрома не определена для единственного нулевого значения синдрома: £(е) = (0, °)Т . Нормы синдромов обладают рядом замечательных свойств. Очевидно, норма может быть любым элементом поля ОЕ (2т), а также имеет одно особое значение: +<». Всего, таким образом, норма принимает п + 2 = 2т +1 значений. Если две Г-орбиты / и /2 имеют различные нормы, то спектры синдромов этих орбит не пересекаются, иными словами, данные орбиты не могут содержать векторы с одинаковыми синдромами.

К наиглавнейшим свойствам норм синдромов относится следующее: у всех векторов, принадлежащих каждой отдельно взятой Г-орбите J норма синдрома одинакова. Это единственное значение естественно назвать нормой N(J) данной Г-орбиты J . Таким образом, N(/) = N(£(е )) для произвольного вектора е е J.

Приведем еще одно достаточно важное свойство норм синдромов - синдромы равномерно распределены по значениям норм синдромов: для каждого из п + 2 = 2т +1 значений N норм синдромов найдется в точности п = 2т — 1 различных синдромов, норма которых равна N. Действительно, если у синдрома £(е) = (51, s2 )Т компонента ^ Ф ° и N(£(е)) = N, то для примитивного элемента а поля ОЕ(2т) различные п синдромов (аг • ^, а3г • £2 ) , 0 < г < п—1, принимают то же самое значение нормы. Для всех п = 2т — 1

синдромов вида (0, s2 )Т , где я2 Ф °, ^ е ОЕ(2т) норма равна +<» . В целом, таким образом мы

учли уже п (п + 2) = (2т —1)-(2т +1) = 22т —1 синдромов. Добавив к ним нулевой синдром, мы

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

У примитивных БЧХ-кодов из равномерного свойства вытекает еще одно важное свойство норм синдромов - из равенства N(J1) = N(,/2) норм синдромов двух полных Г-орбит J и / с полными спектрами синдромов следует и равенство самих синдромов: для каждого вектора / е / найдется вектор ^ е /2, такой, что их синдромы равны £^) = £.

Для не примитивных БЧХ-кодов ситуация сложнее. Полная Г-орбита / с полным спектром синдромов £(/) содержит п = (2т — 1) / т векторов с п = (2т — 1) / т синдромами в

£(/). Отсюда и из сформулированного выше равномерного свойства следует, что существует т различных полных Г-орбит с попарно непересекающимися полными спектрами синдромов и с одинаковой нормой.

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

легко строятся действием группы Г - циклическими сдвигами координат вектора е .

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

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

Алгоритм 1 - математический алгоритм норменного декодирования с помощью Г-орбит

ТКС, получив очередное сообщение Х, в обязательном порядке вычисляет синдром 5(Х) = 5(е ) . Если 5(Х) = 5(е) Ф 0 , что однозначно свидетельствует о наличии неизвестной и подлежащей определению вектор-ошибки е , то вычисляем N * = N (5 (Х)) . Совпадение N * с N(5 (е)) из списка 3 резко сужает круг Г-орбит декодируемой совокупности, которые могут содержать искомую вектор-ошибку е из сообщения Х, до небольшой группы орбит 3, ,..., , 1 < 9 < т, с одинаковой нормой N *.

Синдром 5(Х) = 5(е ) = (^, £2) принадлежит спектру синдромов только одной Г-орбиты

, 1 < I < 9 . Пусть N является элементом поля Галуа ОГ(2т ) . Тогда у всех рассматриваемых синдромов первая компонента отлична от нуля. Пусть синдром образующей Г-орбиты имеет первую компоненту = а для некоторого целого V, 0 < V < п. Пусть у синдрома 5(Х) первая компонента ^ = а\ 0 < X < п . Тогда для подходящего целого 0 < ' < п, в силу

формулы (6), аХ = р'  а'у = ат '+V. Полученное равенство означает, что либо X—V (если X > V), либо 2т — 1 + X — V (если X < V) делится на т и частное ' однозначно определяет искомую вектор-ошибку: е = о' (^ ) . Величина же I и есть то единственное число из множества целых

{1, 2,..., 9}, для которого одна из величин X—V или 2т — 1 + X — V делится нацело на т .

Пусть N = . Тогда у всех рассматриваемых синдромов первая компонента равна нулю. Пусть синдром образующей Г-орбиты имеет вторую компоненту = ау для

некоторого целого V, 0 < V < п. Пусть у синдрома 5(Х) вторая компонента = а\ 0 < X < п . Тогда для подходящего целого ', 0 <' < п, в силу формулы (6), аX = р3'  ау = ат3'+у. Полученное равенство означает, что либо X—V (если X > V), либо 2т —1 + X — V (если X < V) делится на т . Величина I и есть то единственное число из множества целых {1,2,..., 9}, для

которого одна из величин X—V или 2т — 1 + X — V делится нацело на т . Очевидно, этим целым частным будет число 3' .

Пусть п не делится на 3. Для взаимно простых чисел п и 3 выполняется соотношение Безу, то есть существуют такие целые числа и и V, что 3и + «V = 1. Искомую вектор-ошибку е определяем формулой: е = о3"1 (ёу ).

Действительно, о3ш (^ ) = о3'™ (ё^ ) = о(3м+иу)" (ё^ ) = о" (ё^ ) = е . Ситуация: ^ = и п

делится на 3 - крайне редкая, присуща неполным Г-орбитам и рассматривается в индивидуальном порядке.

Итак, работа норменного декодера достаточно легко реализуется, если созданы списки 1 - 3, характеризующие Г-орбиты декодируемой совокупности векторов-ошибок.

Эффективность работы норменных декодеров особенно ярко наблюдается на примитивных БЧХ-кодах [5, 9]. Отличительным и несколько усложняющим фактором непримитивного случая является возможное наличие отдельных значений 9 > 1.

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

Следует признать, что при d > 7 списки 1 - 3 становятся достаточно обширными, а работа с ними - затруднительной - проблема «селектора» начинает проявлять себя на новом уровне. Эффективным в преодолении названных затруднений мог бы быть метод «сжатия» -преобразования исправляемых векторов-ошибок в ошибки с узким спектром значений норм синдромов [10]. Однако имеющиеся подходы рассчитаны на примитивные коды и ошибки конкретного веса, автоматически эти подходы не переносятся на ошибки других весов. Для не примитивных же кодов они попросту не применимы.

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

действие, свойства и применение частично уже рассматривались в [5].

Циклотомические подстановки составляют циклическую группу Ф порядка т с образующей ф, такой, что для каждого вектора-ошибки е с синдромом £(е) = (?, ) синдром £(ф(е)) = С?!2, s¡) . Тогда при условии N(£(е )) = N е ОF(2т) норма N(£(ф(е))) = N2. Вектор ф(е) получается из вектора е по правилу: для каждого целого г, 1 < г < п, г -я координата вектора е становится (2г — 1) -й координатой вектора ф(е), если 2/ — 1 < п, и (2г — 1 — п) -й координатой вектора ф(е), если 2/ — 1 > п .

Циклическая подстановка а и циклотомическая подстановка ф связаны соотношением: фа = а3ф [2, 5]. Вместе они образуют некоммутативную группу О порядка тп, подгруппу группы Лм(С5) . Если / — некоторая Г-орбита векторов-ошибок, то ф(/) — новая Г-орбита векторов-ошибок [5]. Таким образом, группа Ф действует на множестве Г-орбит Кс / Г декодируемой кодом С = С5 совокупности Кс векторов-ошибок, разбивая его на Ф-орбиты. Соответственно, множество Кс разбивается на О -орбиты, содержащие, как правило, по тп векторов-ошибок. Зафиксировав одну вектор-ошибку е , можно восстановить все вектор-ошибки О -орбиты < е >а. Таким образом, списки 1-3 можно сократить примерно в т раз, оставив по одной образующей каждой О -орбиты декодируемой совокупности (табл. 1).

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

№п/п 1 2 3 4 5 6

N 33 39 43 49 57 69

М 10 12 14 21 18 22

Б 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

№п/п 7 8 9 10 11 12

N 73 77 87 89 91 99

М 9 30 28 11 12 30

Б 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-орбит

Этот алгоритм является некоторой модификацией алгоритма 1. Если для принятого сообщения x с синдромом S(x) = S(e ) = (sj, s2 ) норма N*= N(S(x)) является элементом поля Галуа GF(2т), но не принадлежит третьему списку, то находим такое наименьшее целое i, 1 < i < т, что для А, = 2 величина (N* )х = N(S(Wj)) для одного или нескольких векторов e из списка 1 образующих G -орбит декодируемой совокупности. Полученное равенство норм означает, что для искомого вектора-ошибки е в сообщении х вектор ф1 (е) имеет синдром S(ф1 (е )) = (sf, s2 ), принадлежащий спектру синдромов S(< Wj >) одной Г-орбиты < Wj >, порожденной конкретным вектором-ошибкой из списка 1. Алгоритм 1 однозначно определяет вектор Wj и находит выражение вектора ф1 (е) через него: ф1 (е) = as(Wj) для подходящего целого s, 0 < s < n — 1. Далее, вектор e однозначно восстанавливается в соответствии с формулой: е = фт—1 (as (Wj )) .

Заключение

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

THEORY OF NORMAL SYNDROME AND PLUS-DECODING

V.A. LIPNITSKI, AO. ALIAKSIUK Abstract

The results of the study are not primitive BCH codes with decoding the guide, the potential is much greater than the design possibilities. The efficiency of automorphisms of codes, norms theory syndromes in the correction of all admissible-Mykh minimum distances errors in the above code is shown.

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

1 Шеннон, К. Работа по теории информации и кибернетике. М., 1963.

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

3 Колесник В.Д., Мирончиков Е.Т. Декодирование циклических кодов. М., 1968.

4 Конопелько В.К., Липницкий В.А. Теория норм синдромов и перестановочное декодирование помехоустойчивых кодов. М., 2004.

5 Липницкий В.А., Конопелько В.К. Норменное декодирование помехоустойчивых кодов и алгебраические уравнения. Минск, 2007.

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

7 Сагалович Ю.Л. // Тез. докл. IX Симпозиума по проблеме избыточности в информационных системах. Ленинград, 3-8 июня 1986 г. С. 135-138.

8 Давыдов А.А., Дрожжина-Лабинская А.Ю., Калинчева В.В // Вопросы кибернетики. Проблемы программного обеспечения супер-ЭВМ. 1990. С. 151-174.

9 Конопелько В.К. Устройство декодирования для коррекции двоичных ошибок / Патент СССР SU1833968 A1.

10 Липницкий В.А., Аль-Хайдар Е.К. // Докл. БГУИР. 2009. № 5 (43). С. 12-16.