Научная статья на тему 'Норменное декодирование помехоустойчивых кодов на основе циклотомических перестановок'

Норменное декодирование помехоустойчивых кодов на основе циклотомических перестановок Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
84
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЧХ-код / проверочная матрица / синдром / норма / норменный циклокласс / норменный циклотомический класс

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

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

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

NORMING DECODING OF NOISEPROOF CODES ON A BASIS CYCLOTOMIC SHIFTS

It is offered norming decoding noiseproof of codes on a basis cyclotomic shifts which allows reducing quantity of determinated combinations in units-tens times depending on length of a code and number of corrected errors, and also a method of step-by-step processing the cyclotomic classes, reducing determinated set to one element

Текст научной работы на тему «Норменное декодирование помехоустойчивых кодов на основе циклотомических перестановок»

2008

УДК 621.391.(075.8)

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

№ 4 (34)

НОРМЕННОЕ ДЕКОДИРОВАНИЕ ПОМЕХОУСТОЙЧИВЫХ КОДОВ НА ОСНОВЕ ЦИКЛОТОМИЧЕСКИХ ПЕРЕСТАНОВОК

В.К. КОНОПЕЛЬКО, О.Г. СМОЛЯКОВА

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 11 июля 2008

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

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

В телекоммуникационных системах широко используются БЧХ-коды, которые задаются с помощью проверочной матрицы. Проверочная матрица кодов, исправляющих однократные ошибки, задается в следующем виде: двукратные — Я = [а';а3']г, трехкратные —

Я = [а';а3';а5']г, и ¿-кратные — Н = ;а3' ;а5' ;...;а 2,-1 ^ , где а1 является элементом поля Га-

луа, который определяется с помощью примитивного полинома поля g(x) [1]. Например, проверочная матрица Н для кодов длиной «=31, исправляющих двукратные случайные ошибки (1=2), имеет вид

Н =

а°а}а2а3 ...а30

а0 а3аба9...а28

Процедура синдромного декодирования помехоустойчивых кодов состоит в вычислении синдрома S=A • НТ, где А =А+Е — принятое слово, Нт — транспонированная проверочная матрица его селектирования для нахождения вектора ошибок Е. При увеличении длины кода количество селектируемых комбинаций увеличивается и, как следствие, возрастает сложность декодирования. Так при 1=2, «=31, 255, 511, 1023, 2047 число селектируемых комбинаций соответственно равно 496, 32640, 130305, 522753, 2094081. Из-за высокой сложности селектора в существующих системах связи декодирование по синдрому применяется при коррекции ошибок малой кратности (¿<3).

Предложенный в [2] метод норменного декодирования позволяет уменьшить сложность этой процедуры в п раз путем классификации векторов ошибок, разбиения их норменные цик-локлассы (НЦ) и определения норм синдромов. Под норменным циклоклассом понимается группа векторов ошибок, члены которой представляют собой циклические сдвиги друг друга. Норма N синдрома S является числовым признаком, постоянным для всех синдромов векторов ошибок, которые входят в норменный циклокласс, и его идентифицирующим.

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

где Л-(а' а1) для кода с <3=5 и для кода с с!=1 ,Ч=(а' а: а2), N = ^.Л^.Л'., , где Ы2 Зпос1и; Иъ С ^пос1и .

В табл. 1 приведены значения количества норменных циклоклассов для кодов с d=5 и

d=7.

Таблица 1. Количество норм, циклотомических классов и элементов циклоклассов

для кодов с й=5 и й=1

Длина кода, N Количество НЦ, г=2 Количество НЦ, Г=3 Количество циклотомических классов Количество элементов в циклотомическом классе

31 15 145 6 5

121 63 2625 18 1

2041 1023 691345 186 11

Анализ данных табл. 1 показывает, что, несмотря на уменьшение сложности декодирования, проблема сложности селектора остается. Применение циклотомических перестановок позволяет уменьшить число селектируемых комбинаций. Рассмотрим это подробнее.

Циклотомическими перстановками по модулю п над О¥(р) называется множество

Г 2 т,-1 тс 1

Множество целых чисел 0 < / < п — 1 разбивается на подмножество циклотомических классов. Так, для п=31 в поле ОЕ (2) существует шесть циклотомических классов (рис. 1).

1) 1,2,4,8,16

2) 3,6,12,24,17

3) 5,10,20,9,18

4) 7,14,28,25,19

5) 11,22,13,26,21

6) 15,30,29,27,23

Рис. 1 Циклотомические классы по модулю 31 над полем GF(2)

В [2] показано, что количество норм синдромов двойных ошибок на длине 31 равно 15. В табл. 2 приведены значения норм синдромов двойных ошибок кода на длине «=31

для х5 +х3 + х2 + х + 1.

Анализ данных табл. 2 и рис. 1 показывает, что нормы синдромов двойных ошибок БЧХ-кода принадлежат трем циклотомическим классам ({3, 6, 12, 24, 17}, {1, 14, 28, 25, 19}, {15, 30, 29, 27, 23}), полностью покрывая все множество элементов, входящих в них, и образуя норменные циклотомические классы. Для кодов с 1=2, задаваемых иными g(x), наблюдается распределение по трем, но по другим циклотомическим классам.

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

№ Меоб„) Вектора ошибок еобр

1 3 1100000000000000000000000000000

2 6 1010000000000000000000000000000

3 14 1001000000000000000000000000000

4 12 1000100000000000000000000000000

5 30 1000010000000000000000000000000

6 28 1000001000000000000000000000000

7 19 1000000100000000000000000000000

8 24 1000000010000000000000000000000

9 23 1000000001000000000000000000000

10 29 1000000000100000000000000000000

11 27 1000000000010000000000000000000

12 25 1000000000001000000000000000000

13 15 1000000000000100000000000000000

14 7 1000000000000010000000000000000

15 17 1000000000000001000000000000000

Выберем образующие норменных циклотомических классов и обозначим их как Nобр, ^.обр, N.о6р. В качестве образующей норменного циклотомического класса может выступать любое число в него входящее, например, N^¡,=3, N.06=7, N^¡,=15. Далее производятся следующие вычисления.

1. Вычисляется синдром S и норма Nвыч принятого слова.

2. Сравнивается вычисленная норма Nвыч с каждой из образующих Nа.о6р, Nb.о6р, N0.^; совпадение нормы N^1ч с одним из значений Naо6р, Nb.о6р, N.6 указывает на циклотомический класс, в котором находится вычисленная норма.

3. Если ^¡ч не совпадает ни с одним из значений Naо6р, Nb.о6р, N.^¡1, то осуществляется циклотомический сдвиг нормы и происходит сравнение Nвыч с образующими норменных циклотомических классов.

4. Определяется циклотомический класс, к которому принадлежит норма Nвыч. По числу совершенных сдвигов определяется значение нормы N^„=N¿1,; по таблице истинности находится соответствующий ей образующий вектор ошибки Ео6р.

5. По вычисленному синдрому S и с учетом Nвыч и Ео6р вычисляется текущий вектор ошибок [2].

Алгоритм декодирования представлен на рис. 2, где N6 — образующая определенного норменного циклотомического класса, ^ — функция вычисления исходного значения N1,^ ¥2 — функция вычисления образующего вектора ошибок Ео6р, — функция вычисления текущего вектора ошибок.

Видно, что количество селектируемых комбинаций уменьшается до числа норменных циклотомических классов без учета неиспользуемых норменных циклотомических классов. Если через z=5 сдвигов вычисленной нормы Nвыч циклотомический класс, которому она принадлежит, не найден, то это означает, что произошла некорректируемая нашим кодом ошибка. В [2] показано, что это свойство можно использовать для коррекции некоторых ошибок большей кратности.

Увеличение числа корректируемых ошибок до 1=3 для кодов длиной «=31 приводит к увеличению числа норменных циклоклассов: 145 — для тройных ошибок, 15 — для двойных, а число норменных циклотомических классов составляет 29 и 3 соответственно (табл. 3).

Рассмотрим применение циклотомических классов для кодов с й=7 и «=31. Для этого выберем образующие норменных циклотомических классов и обозначим их как

КбР = Ъ1обр,Кобр,Щобр1, / = 1^2. например. ЛЛ,/; = «,30,13~ К2обр = <1ДЗД5> т.д. Количество селектируемых комбинаций также можно сократить в пять раз, если для кодов, исправляющих тройные случайные ошибки, использовать правило, аналогичное применяемому для кодов с ё=5. В этом случае вычисленная норма имеет вид N= ^У', пыч. Л\ пыч. А', пыч ; равенство

Кеыч и Кбр определяется выражениями М1еыч=М'1обр, м2.выч=м1бр, МЪвыч = Щобр, / = Сз2,ацик-

лотомический сдвиг нормы означает циклотомический сдвиг каждой из ее компонент Nt еыч, ^2выч' N'Звыч. Например, если Nebt4 — С4,12,9 , то циклотомический сдвиг значения приводит

к Ы'выч = <7,24,18:

Для кодов длиной «=127 и 2047 при t=2 количество селектируемых комбинаций уменьшается в 7 и 11 раз (по числу элементов в циклотомическом классе) (табл. 1), однако в этом случае увеличивается число используемых норменных циклотомических классов до 9 и 93 соответственно, что приводит к росту сложности селектора.

Сложность декодирования при использовании норменных циклотомических классов можно уменьшить, применяя правило декодирования на основе метода пошаговой обработки норменных циклотомических классов. Рассмотрим этот метод на примере кода с «=31, t=2.

Выражение Nco6p = ^Ъобр - Ajnod« = 4?аобр -2Ajnod« определяет правило перехода

из одного циклотомического класса в другой, Д — число. Выберем в качестве образующей трех норменных циклотомических классов один из элементов в них входящих и обозначим его как No6p . Тогда правило декодирования с пошаговой обработкой норменных циклотомических классов может осуществляться следующим образом.

A'

Nem =Fl(Nae,x)

eo6p=F2\No6p)

Етек - ^ Nau4 > Еобр )

E_

Рис. 2. Алгоритм декодирования кодов n=31, t=2 на основе циклотомических классов

Меобр) Образующие векторы ошибок норменных циклотомических классов (еобр)

N1 Ы2 N3

3 30 13 1100000000000000000000000000000

11 13 15 1110000000000000000000000000000

21 23 26 1101000000000000000000000000000

4 19 6 1100100000000000000000000000000

6 25 14 1100010000000000000000000000000

29 4 22 1100001000000000000000000000000

8 9 18 1100000001000000000000000000000

28 11 17 1100000000100000000000000000000

13 6 15 1100000000000000010000000000000

7 - - 1100000000000000001000000000000

14 12 28 1001000000000000000000000000000

3 20 14 1001100000000000000000000000000

2 4 2 1001010000000000000000000000000

9 2 23 1001001000000000000000000000000

30 6 23 1001000100000000000000000000000

- - 6 1001000010000000000000000000000

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

13 11 30 1001000000010000000000000000000

16 23 20 1001000000001000000000000000000

6 18 24 1001000000000000000100000000000

9 11 19 1001000000000000000010000000000

5 30 3 1001000000000000000001000000000

27 28 11 1001000000000000000000100000000

30 25 18 1000010000000000000000000000000

14 9 19 1000011000000000000000000000000

- 3 - 1000010100000000000000000000000

10 10 11 1000010010000000000000000000000

12 6 20 1000010001000000000000000000000

18 21 4 1000010000100000000000000000000

19 2 4 1000010000001000000000000000000

26 28 16 1000010000000100000000000000000

2 27 9 1000010000000010000000000000000

23 8 2 1000010000000000000001000000000

1. Вычисляется синдром и норма Nеыч принятого слова.

2. Выбираем Ыобр = Ыа обр .

3. Сравниваем норму ч = Nобр (совпадение нормы Nвыч со значением Nобр указывает на циклотомический класс, в котором находится вычисленная норма).

4. Если Nвыч не совпадает со значением Nобр, то осуществляется циклотомический

сдвиг нормы и происходит сравнение Nвыч с образующей Nобр.

5. Если Nвыч не совпадает ни с одним элементом циклотомического класса, то значение образующей норменного циклотомического класса Nобр увеличивается на А и происходит

сравнение Nвыч с Nобp.

6. Определяется циклотомический класс, к которому принадлежит норма Ывыч. По числу совершенных сдвигов определяется значение нормы Ывыч=Ысдв; по таблице истинности находится соответствующий ей образующий вектор ошибки Еобр.

7. По вычисленному синдрому 5 и с учетом Ывыч и Еобр вычисляется текущий вектор ошибок [2].

Значение Д выбирается в зависимости от используемых кодом норменных циклотоми-ческих классов и осуществляется по модулю п (табл. 4).

Используемые норменные циклотомические классы д ^а.обр Мхобр Мс.обр

{1,2,4,8,16}{3,6,12,24,17}{5,10,20,9,18} 1 16 17 18

{1,2,4,8,16}{3,6,12,24,17}{7,14,28,25,19} 1 6 7 8

{1,2,4,8,16}{3,6,12,24,17}{11,22,13,26,21} 5 6 11 16

{1,2,4,8,16}{3,6,12,24,17}{15,30,29,27,23} 1 15 16 17

{3,6,12,24,17}{5,10,20,9,18}{7,14,28,25,19} 1 17 18 19

{3,6,12,24,17}{5,10,20,9,18}{11,22,13,26,21} 1 10 11 12

{3,6,12,24,17}{5,10,20,9,18}{15,30,29,27,23} 19 10 29 17

{5,10,20,9,18}{7,14,28,25,19}{11,22,13,26,21} 1 19 20 21

{5,10,20,9,18}{7,14,28,25,19}{15,30,29,27,23} 5 20 25 30

{7,14,28,25,19}{11,22,13,26,21}{15,30,29,27,23} 1 13 14 15

{1,2,4,8,16}{3,6,12,24,17}{11,22,13,26,21} 18 16 3 21

{3,6,12,24,17}{5,10,20,9,18}{15,30,29,27,23} 3 12 15 18

{5,10,20,9,18}{7,14,28,25,19}{15,30,29,27,23} 9 5 14 23

{1,2,4,8,16}{5,10,20,9,18}{7,14,28,25,19} 2 14 16 18

{1,2,4,8,16}{5,10,20,9,18}{11,22,13,26,21} 20 5 26 16

{1,2,4,8,16}{5,10,20,9,18}{15,30,29,27,23} 20 27 16 5

{1,2,4,8,16}{7,14,28,25,19}{11,22,13,26,21} 3 16 19 22

{1,2,4,8,16}{7,14,28,25,19}{15,30,29,27,23} 1 14 15 16

{1,2,4,8,16}{11,22,13,26,21}{15,30,29,27,23} 18 11 29 16

Из табл. 4 видно, что число селектируемых комбинаций сокращается до одной. Алгоритм декодирования по этому правилу представлен на рис. 3.

Рис. 3. Алгоритм декодирования на основе пошаговой обработки норменных циклотомических классов кодов с d=5, n=31

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

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

NORMING DECODING OF NOISEPROOF CODES ON A BASIS CYCLOTOMIC SHIFTS

V.K. KONOPELKO, O.G. SMOLYAKOVA Abstract

It is offered norming decoding noiseproof of codes on a basis cyclotomic shifts which allows reducing quantity of determinated combinations in units-tens times depending on length of a code and number of corrected errors, and also a method of step-by-step processing the cyclotomic classes, reducing determinated set to one element.

Литература

1. Конопелько В.К., Липницкий В.А., Дворников В.Д. и др. Теория прикладного кодирования / Под ред. В.К. Конопелько. Минск, 2004. Т. 2.

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

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