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
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.