Научная статья на тему 'Перестановочный декодер для коррекции многократных ошибок непримитивными БЧХ-кодами'

Перестановочный декодер для коррекции многократных ошибок непримитивными БЧХ-кодами Текст научной статьи по специальности «Математика»

CC BY
208
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕОРИЯ НОРМ СИНДРОМОВ / БЧХ-КОДЫ / НЕ ПРИМИТИВНЫЕ БЧХ-КОДЫ / КОНСТРУКТИВНОЕ РАССТОЯНИЕ / МИНИМАЛЬНОЕ РАССТОЯНИЕ КОДА / Г-ОРБИТА

Аннотация научной статьи по математике, автор научной работы — Липницкий В.А., Олексюк А.О.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CORRECTION commute decoder for Multiple Errors WITH not primitive BCH-codes

It's proved that not primitive BCH codes with corrective opportunities that go beyond design, have effective microprocessor commutation algorithms error correction and can find its rightful place in developed and applied in practice ICS.

Текст научной работы на тему «Перестановочный декодер для коррекции многократных ошибок непримитивными БЧХ-кодами»

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

2015 № 3 (89)

УДК 004.056.55

ПЕРЕСТАНОВОЧНЫЙ ДЕКОДЕР ДЛЯ КОРРЕКЦИИ МНОГОКРАТНЫХ ОШИБОК НЕПРИМИТИВНЫМИ БЧХ-КОДАМИ

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

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

Поступила в редакцию 17 февраля 2015

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

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

Введение

Современные инфокоммуникационные системы (ИКС) вынуждены функционировать, как правило, в каналах с разного рода шумами и помехами. Для защиты информации, передаваемой в зашумленных каналах, от искажений и ошибок общепринято применять помехоустойчивое кодирование. Сущность кодирования заключается во введении специальным образом избыточных символов в каждую передаваемую информационную комбинацию [1].

В цифровых телекоммуникационных сетях наибольшей популярностью пользуются коды Боуза-Чоудхури-Хоквингема (БЧХ-коды) и их разнообразные модификации; данные коды широко используются в современной радиосвязи [2]. Тем не менее, многие вопросы, связанные со свойствами и применением БЧХ-кодов, требуют дальнейших исследований. Особенно сказанное относится к не примитивным БЧХ-кодам [3, 4], нередко имеющим корректирующие параметры, существенно превосходящие конструктивные. Данная статья посвящена алгоритмам декодирования подобных кодов и возможностям реализации предложенных алгоритмов на микропроцессорной технике.

Не примитивные БЧХ-коды, их перспективность

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

Й = (р ,р3г, ... ,Р(25-1)г )Т (1)

над полем Галуа ОЕ(2т) из 2т элементов, где Р - элемент этого поля, имеющий порядок п = (2т — 1)/т для некоторого делителя т числа 2т — 1, 0 < i < п. При т = 1 элемент Р = а является примитивным элементом поля Галуа ОЕ(2т), а поэтому соответствующий БЧХ-код называется примитивным. В случае, когда значение параметрра т больше 1, длина БЧХ-кода п < 2т — 1, элемент р = ат перестает быть примитивным, поэтому БЧХ-код называется не примитивным [3, 4].

К современным системам связи с каждым днем ужесточаются требования: к качеству передаваемой информации, к ее точности, к помехозащищенности, к скорости передачи информации. Попытки их усовершенствования приводят к увеличению длины применяемых

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

Перспективность не примитивных БЧХ-кодов

Новейшие исследования, проведенные в XXI веке белорусской школой помехоустойчивого кодирования показывают, что не примитивные БЧХ-коды обладают целым рядом эффективных свойств и, следовательно, перспективны для применения [3-7]. Дальнейшие обсуждения проводимых исследований ограничим не примитивными БЧХ-кодами с конструктивным расстоянием пять, проверочная матрица которых является частным случаем матрицы (1) и имеет вид

Н = (Р\Р3!)Т . (2)

Фактически, не примитивные БЧХ-коды получаются укорочением примитивных кодов длиной п = 2т — 1, т.е. выбрасыванием ряда столбцов проверочной матрицы примитивного БЧХ-кода. С различных точек зрения важно, чтобы укороченный БЧХ-код сохранял свойство

цикличности, иными словами, чтобы из проверочной матрицы Н = (а1, а3') примитивного

кода получалась матрица (2) укороченного циклического не примитивного БЧХ-кода. Процедура выбрасывания может только увеличить минимальное расстояние получаемого кода. И действительно, компьютерные расчеты при анализе не примитивных кодов на длинах в диапазоне от 9 до 99 показали [6], что около 30 % из них имеют минимальное расстояние йреш ,

существенно превышающее их конструктивное расстояние йК0НС1р = 5. Примеры некоторых перспективных БЧХ-кодов с проверочной матрицей (2) представлены в табл.1, данные для которой взяты из [7]. В табл. 1 Кко = С + С^ - количество векторов-ошибок весом 1, 2,

исправление которых гарантировано конструктивным расстоянием, К - количество реально корректируемых векторов-ошибок весом 1, 2,..., t, где t = (йреал —1)/2 для нечетных йреал (для четных t = (йреал — 2) / 2). Гдек - количество Г-орбит, на которые разбивается К .

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

к°ТОрЫх к > 1 и 4,еш > й^онстр

п т й реал. К констр Кдек Г дек

33 10 9 561 46937 1423

39 12 10 780 92170 2364

43 14 13 946 7195749 167343

49 21 7 1225 19649 401

57 18 9 1653 425923 7473

69 22 7 2415 54809 795

73 9 7 2701 64897 889

77 30 7 3003 76153 989

87 28 9 3828 2335718 26847

89 11 9 4005 2559195 28755

91 12 7 4186 125671 1381

99 30 9 4950 3926175 39659

Данные табл. 1 демонстрируют многократное количественное превосходство допустимых к исправлению ошибок над конструктивно допустимыми ошибками - явление, ранее не наблюдавшееся в практике помехоустойчивого кодирования (см. также [7]). Именно такие коды - не примитивные БЧХ-коды с конструктивным расстоянием пять, способные корректировать ошибки кратностью ю>3, представляют наибольший интерес и являются предметом исследований в данной работе.

Выбор метода декодирования

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

Весьма популярна реализация синдромного метода коррекции I -кратных случайных ошибок, сводящаяся к решению алгебраических уравнений степени t над полем ОЕ(2т) [8]. К сожалению, в кодах с проверочной матрицей (2) метод уравнений конструктивно невозможен для коррекции ошибок кратностью ю> 3.

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

Общий метод перестановочного норменного декодирования БЧХ-кодов заключается в следующем. Предварительно составляется список образующих е Г-орбит декодируемой совокупности Кдек, синдромов £(е) = (^1, ^) образующих и совокупность NKдl¡к норм N = №(8(Ц)) синдромов образующих. Действующая ТКС, приняв очередное сообщение х , вычисляет его синдром ошибок £(х) . Если £(х) = 0 , то сообщение не содержит ошибок и является правильным. Если же £(х) Ф 0, то х подлежит коррекции, так как содержит неизвестную вектор-ошибку е . Для нахождения этой вектор-ошибки вычисляется норма синдрома N = N(£(х)), данная норма сравнивается со списком NKдeк. Пусть N = N е №Кдек .

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

ошибок векторов х и е *, однозначно определяем вектор е [3]. Именно этот перестановочный метод будет адаптирован для коррекции ошибок не примитивными БЧХ-кодами.

Алгоритм перестановочного декодирования кратных ошибок для не примитивных

БЧХ-кодов на микропроцессорной базе

В монографии [3], глава 5, предложен ряд норменных перестановочных методов коррекции ошибок БЧХ-кодами. Некоторые из названных методов получили дальнейшее развитие в теоретических исследованиях и на практике. Особое внимание получил метод коррекции на интегральных схемах (см. рис. 5.5, глава 5, [3]).

Априори задача коррекции ошибок не примитивными БЧХ-кодами с 5 = 5 и ю>2 похожа на задачу коррекции ошибок, рассмотренную в [3]. Однако прямое применение названных методов к коррекции многократных ошибок в рассматриваемом случае невозможно. Основная причина - количество Г -орбит корректируемой совокупности, как минимум, на

порядок превосходит количество их, допустимое декодерами из [3].

Авторами разработана обобщенная структурная схема устройства декодирования кратных ошибок БЧХ-кодами с проверочной матрицей (2), представленная на рис. 1 . Схема включает в себя следующие блоки: блок вычисления синдрома (БВС), блок перестановочного нахождения вектора ошибки (БПНВО), блок корректирующих сумматоров по модулю два. Особенности данной схемы отражают следующие четыре момента.

1. Непосредственно в алгоритме отсутствует вычисление норм Г-орбит (так

необходимых при качественном исследовании качественных характеристик каждого не примитивного БЧХ-кода).

2. В блоке БПНВО все многообразие Г Кдек орбит корректируемой совокупности

разбивается на т< (2т — 1)/ п +1 групп, благодаря следующему рассуждению. В силу предложения 3.10 [3], если образующая е Г-орбиты 3 имеет синдром £(е) = (я, я2); Я, е 0¥(2т), то синдромы остальных векторов этой орбиты имеют вид: (а^, а3Ля2); 0п—1. Среди этих синдромов обязательно найдется синдром (я, s2), у которого 0 < deg(s2) < (2т — 1) / п, если ^ ^ 0, и 0 < deg(s2) < 3 х (2т — 1) / п , если я = 0 . Тогда вектор е" с синдромами £(е ) = я*) фиксируем в качестве образующего Г-орбиту 3. Такой выбор образующих Г-орбит естественным образом разбивает Г К на части или группы, в одну группу Т попадают Г-орбиты с одинаковым значением я = а'1. Априори предполагаем, что число таких групп максимально возможное: т = (2т — 1)/ п +1. Тогда Г Кдек есть непересекающееся объединение Т ^ - , для ^ = (2т — 1)/ п +1. Для целых 1 <' <т, в группе Т содержатся Г-орбиты < е* >, у которых первая компонента синдрома £(е*) = (я?*, я|2) имеет показатель deg(sn2) = а' 1; я1х* = 0 для Г-орбит группы Тх .

3. Почти в каждой группе Т могут содержаться ошибки разного веса.

4. Предлагается применение микроконтроллеров в качестве своеобразной интеллектуальной оболочки всего алгоритма. Микроконтроллеры позволяют конструктивно уменьшить размеры устройства за счет того, что они содержат в своей оболочке набор таких необходимых элементов, как счетчики, дешифраторы и другие элементы, в отличие от аналогичных устройств (см. рис. 5.1-5.4, глава 5, [3]), которые требуют применения названных элементов. Микропроцессор конструктивно адаптирует перестановочный алгоритм на интегральных схемах (рис. 5.5, глава 5, [3]). Вычислительные возможности микропроцессора допускают практически мгновенный переход в нужную группу Т на соответствующем этапе алгоритма.

Рис. 1. Обобщенная структурная схема устройства декодирования кратных ошибок

Обобщенный микропроцессорный перестановочный алгоритм (МПА) работы данного устройства заключается в следующем.

1. Принятое сообщение х поступает на входы блока вычисления синдрома, где формируются значения deg(s) и deg(s) показателей компонент я и я2 синдрома £(х), которые в бинарном виде поступают на входы блока перестановочного нахождения вектора ошибки.

Блок перестановочного нахождения вектора ошибки работает следующим образом.

2. Поступившие на входы микроконтроллера значения deg(s) и deg(s) в бинарном

виде, преобразуются к десятичному виду. Значение степени синдрома deg(£1) преобразуется по модулю (2т —1)/ п, а из значения степени синдрома deg(£2) вычитается число 3 х t х (2т — 1)/п по модулю 2т, где t - количество циклов, в течение которых, deg(£1) преобразуется к исходному значению г. Преобразованное deg(s1 )* примет некое значение г, 0<г < т — 1, а deg(s2) будет равняться некоторому г, 0 < г < 2т . Микроконтроллер автоматически обеспечивает дальнейший поиск вектора ошибки только в группе Тг+1, следуя вычисленному значению deg(.s,2) . В группе Тг+1 обязательно найдется Г-орбита < ё(г+1)^ >, у которой компоненты синдрома £(ё(*+1)})= (£1(г+1)'/\ э2г+1^*) имеют показатели deg(s1(г+1)■/*) = deg(s1)* и deg(s2г= deg(s2)*.

3 Полученное значение начального вектора ошибки ё0 = е*сдвигается на t позиций

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

В случае deg(s2) = 2т происходит только операция по преобразованию deg(s), deg(s2) - остается неизменным. В случае deg(s1) = 2т, как правило, данный случай применим для неполных Г-орбит ошибок - преобразований deg(s) не происходит, происходит только операция преобразования deg(s) по модулю 3х (2т — 1)/ п, в процессе преобразования производится подсчет р - количество циклов, в течение которых deg(s) преобразуется к исходному значению у, 0 < у < 3 х (т — 1) . Полученное значение вектора ошибки сдвигается на р позиций вперед.

Пример работы микропроцессорного перестановочного декодера

В качестве примера работоспособности выше описанного алгоритма коррекции многократных ошибок на базе микропроцессора разработано устройство, исправляющее ошибки весом ю, 1 < ю < 4. Устройство реализовано для не примитивного БЧХ-кода С5 длиной

п = 33, имеющего d = 9 согласно табл. 1, определенного над полем Галуа ОР(210); в качестве

порождающего полинома этого поля взят примитивный полином х10 + х3 +1. Структурная схема устройства коррекции четырехкратных ошибок представлена на рис. 2 и включает в себя следующие блоки: 1 - блок вычисления синдрома, 3 - блок корректирующих сумматоров по модулю два, 6 - блок перестановочного нахождения вектора ошибки. Здесь х = 32.

Рис. 2. Структурная схема декодера (33,13)-БЧХ-кода

Мощности групп Т, 1 < * < 32, на которые разбивается множество Г К корректируемых Г-орбит ошибок в рассматриваемом коде длиной 33 представлены в табл. 2.

Таблица 2. Мощности | Т | групп Т в коде С5 длиной 33

X 1 2 3 4 5 6

|Тт| 37 51 51 41 51 48

X 7 8 9 10 11 12

|Тх| 41 43 51 48 48 50

X 13 14 15 16 17 18

|Тх| 40 51 43 44 51 40

X 19 20 21 22 23 24

|Тх| 48 43 48 50 50 44

X 25 26 27 28 29 30

|Тх| 41 43 50 44 43 43

X 31 32

|тх| 44 1

Рассмотрим работу декодера на конкретных примерах.

Пусть на входы 4, 5 блока перестановочного нахождения вектора ошибки (6) поступают синдромы ошибок со значениями deg(а') = 77, deg(а3) = 175 . Так как ни одно из значений синдромов ошибок не равно бесконечности, то степень синдрома deg(a') = 77 преобразуется по модулю (2т — 1)/ п = 31, в результате чего deg(a') = 15 . Из deg(a3) = 175 число 93 хt по модулю 1024, где для данного случая t = 2, преобразованное deg(a3 )* будет равно 920. Полученные значения deg(a') = 15 и deg(a3) = 920 будут являться синдромами, определяющими начальный вектор ошибки, а значение t = 2 - количество циклов, в течение которых deg(s) преобразуется к значению 15. Следовательно, искомый вектор ё0 принадлежит группе Т16.

Составлена табл. 3 значений показателя deg(s2) второй компоненты синдрома

образующих е16. Г-орбит в группе Тб, т.е. образующих, у которых deg(s1) = 15 , а также самих

образующих е16.. Из табл. 3 следует, что группа Те состоит из 44 Г-орбит (согласно табл. 2), из

них: 1 состоит из двукратных векторов-ошибок; 5 - из трехкратных; 38 - из четырехкратных векторов-ошибок.

В табл. 3 под номером 10 находится Г-орбита < (е1610) >=< (6, 9, 15, 16) >, образующий вектор которой ё1610 = (6, 9, 15, 16) - вектор весом 4 с единицами в 6-й, 9-й, 15-й, 16-й координатах, у которого компоненты синдрома £ (е0) = (5°, имеют показатели deg(s1CI) = 15 и deg(s20)2 = 920.

Таблица 3. Значения показателя deg(.s2) второй компоненты синдрома образующих Г-орбит в Т16

3 е16 3 3 е16 3 3 е16 3

0 375 (23,28) 15 805 (17,19,22,26) 30 337 (1,7,24,26)

1 784 (18,19,27) 16 771 (3,15,21,30) 31 327 (11,22,24,32)

2 558 (1,12,28) 17 756 (8,18,27,30) 32 306 (9,10,14,27)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3 177 (7,9,11) 18 723 (1,8,11,15) 33 291 (0,10,21,24)

4 164 (0,24,32) 19 697 (1,10,20,30) 34 285 (5,16,18,19)

5 93 (6,17,23) 20 662 (2,15,22,27) 35 258 (3,7,10,17)

6 1002 (0,18,25,26) 21 649 (6,24,25,31) 36 213 (4,8,9,24)

7 959 (12,20,26,27) 22 602 (0,5,30,31) 37 210 (7,11,20,31)

8 956 (14,15,20,29) 23 564 (0,2,13,32) 38 182 (11,17,25,27)

9 942 (0,7,9,22) 24 553 (3,4,22,31) 39 166 (0,1,14,16)

10 920 (6,9,15,16) 25 478 (13,18,20,21) 40 105 (9,11,18,29)

11 885 (7,19,27,29) 26 449 (8,17,21,31) 41 102 (7,13,25,30)

12 848 (2,4,17,18) 27 430 (2,5,8,14) 42 89 (4,10,13,16)

13 846 (5,11,21,26) 28 424 (2,3,9,12) 43 1024 (1,6,12,17)

14 836 (1,25,29,32) 29 352 (3,16,24,29)

В силу проведенных выше вычислений полученный начальный вектор ошибки e0 = e1610

сдвигается на две позиции вперед. В результате получаем искомый вектор-ошибок ё = (9, 12, 18, 19). Полученный вектор ё складываем по модулю 2 с принятым сообщением x и получаем истинное сообщение c = x + ё .

Рассмотрим случай, когда deg(Sj) = 2m = 1024, т.е. Sj = 0 . Пусть, к примеру, на входы 4, 5 блока нахождения вектора ошибки (6) поступает сообщение x с синдромом S(x) = (s, s2) = (аг, aJ), у которого: deg(a!) = 1024, deg(aJ) = 186. Согласно второму этапу алгоритма МПА преобразуется только deg(s2) к исходному значению у, 0 < y < 92 по модулю 93. Очевидно, 186 = 93 х 2. Таким образом, при p = 2 получаем начальный вектор ошибки ё0 с синдромом S(ё0) = (Sj0, s°) , где deg(Sj0)* = 1024, deg(s°)* = 0 . Иными словами, S(ё0) = (0, 1) . Согласно табл. 2 в группе Г32 имеется единственная Г-орбита < (ё32) >=< (1, 12, 23) >, образующий вектор которой ё32 = (1, 12, 23) - вектор весом 3 с единицами в 1-й, 12-й, 23-й координатах. Вычисления показывают, что S(ё32) = (0, 1) [9], что совпадает с S(ё0). Полученный начальный вектор ошибки сдвигается на две позиции вперед, в результате получаем искомый вектор ё = (3, 14, 25). По результатам проведенных исследований подана заявка на изобретение устройства перестановочной коррекции ошибок не примитивными БЧХ-кодами на микропроцессорной основе [9].

Заключение

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

CORRECTION COMMUTE DECODER FOR MULTIPLE ERRORS WITH NOT PRIMITIVE BCH-CODES

V.A. LIPNITSKI, AO. ALIAKSIUK

Abstract

It's proved that not primitive BCH codes with corrective opportunities that go beyond design, have effective microprocessor commutation algorithms error correction and can find its rightful place in developed and applied in practice ICS.

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

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

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

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

4. Вернер Р. Основы кодирования. М., 2006.

5. Липницкий В.А., Спичекова Н.В. Прикладная математика и теория норм синдромов. Минск, 2011.

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

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

8. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М., 1986.

9. ОлексюкА.О., Липницкий В.А. Устройство декодирования для коррекции четырехкратных ошибок. Заявка на изобретение № A20130054.

i Надоели баннеры? Вы всегда можете отключить рекламу.