Научная статья на тему 'Списочное декодирование биортогональных вейвлет-кодов с заданным кодовым расстоянием в поле нечётной характеристики'

Списочное декодирование биортогональных вейвлет-кодов с заданным кодовым расстоянием в поле нечётной характеристики Текст научной статьи по специальности «Математика»

CC BY
94
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ВЕЙВЛЕТ-КОДЫ / КОДЫ С ЗАДАННЫМ КОДОВЫМ РАССТОЯНИЕМ / ДЕКОДИРОВАНИЕ СПИСКОМ / WAVELET CODES / CODE WITH PREDETERMINED CODE DISTANCE / LIST DECODING

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

Представлено теоретическое обоснование возможности списочного декодирования для биортогональных вейвлет-кодов W[n,n/2,d] с заданным кодовым расстоянием над полями нечётной характеристики. Для входного сообщения длины n задача списочного декодирования заключается в нахождении всех кодовых слов, расстояние Хэмминга до которых не превосходит заданного значения. Для кода W[n,n/2,d] эта задача сводится к задаче списочного декодирования для кода Рида Соломона RS[n, n d + 1] посредством преобразования входящего сообщения и последующего применения к его результатам улучшенной версии алгоритма Гурусвами Судана. Результаты декодирования для кода W[n,n/2,d] находятся путём решения системы линейных уравнений относительно коэффициентов информационного многочлена, полученной из преобразования Фурье кодового слова вейвлет-кода, для каждого найденного информационного слова кода RS[n, n-d+1], являющегося в решаемой системе столбцом свободных членов. Приведены примеры результатов списочного декодирования для кода W[26,13,12], на которых длина результирующего списка равна 2.

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

List decoding of the biorthogonal wavelet code with predetermined code distance on a field of odd characteristic

In the article, a list decoding algorithm for the biorthogonal wavelet codes W[n, n/2, d] with a predetermined code distance on a field of odd characteristic is presented. The “list decoding” problem the algorithm solves is the following: given an input message of the length n, compute all the codewords the Hamming distance to which does not exceed the given value. The list decoding algorithm for the code W[n, n/2,d] is based on the transformation of the list decoding problem for W[n, n/2, d] to the list decoding problem for the Reed Solomon code RS[n, n d + 1] by proper converting the incoming messages and on the subsequent solution of the second problem by the improved Guruswami Sudan algorithm. Decoding results for the code W[n,n/2,d] are found by solving a system of linear equations with respect to the coefficients of the information polynomial. The system is obtained from the Fourier transform of the code word of the wavelet code for each found information word of the code RS[n, n d + 1]. In the system, the symbols of this word are constant terms. Examples of the list decoding for the code W[26,13,12] are given. The algorithm has been implemented in the form of a computer program for which an author’s certificate has been received.

Текст научной работы на тему «Списочное декодирование биортогональных вейвлет-кодов с заданным кодовым расстоянием в поле нечётной характеристики»

2018 Прикладная теория кодирования №39

ПРИКЛАДНАЯ ТЕОРИЯ КОДИРОВАНИЯ

УДК 519.725

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

Д. В. Литичевский Челябинский государственный университет, г. Челябинск, Россия

Представлено теоретическое обоснование возможности списочного декодирования для биортогональных вейвлет-кодов W[n, n/2, d] с заданным кодовым расстоянием над полями нечётной характеристики. Для входного сообщения длины n задача списочного декодирования заключается в нахождении всех кодовых слов, расстояние Хэмминга до которых не превосходит заданного значения. Для кода W[n,n/2,d] эта задача сводится к задаче списочного декодирования для кода Рида — Соломона RS[n, n — d + 1] посредством преобразования входящего сообщения и последующего применения к его результатам улучшенной версии алгоритма Гурусвами — Судана. Результаты декодирования для кода W[n,n/2,d] находятся путём решения системы линейных уравнений относительно коэффициентов информационного многочлена, полученной из преобразования Фурье кодового слова вейвлет-кода, для каждого найденного информационного слова кода RS[n, n—d+1], являющегося в решаемой системе столбцом свободных членов. Приведены примеры результатов списочного декодирования для кода W[26,13,12], на которых длина результирующего списка равна 2.

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

DOI 10.17223/20710410/39/6

LIST DECODING OF THE BIORTHOGONAL WAVELET CODE WITH PREDETERMINED CODE DISTANCE ON A FIELD OF ODD CHARACTERISTIC

D. V. Litichevskiy Chelyabinsk State University, Chelyabinsk, Russia E-mail: litichevskiydv@gmail.com

In the article, a list decoding algorithm for the biorthogonal wavelet codes W[n, n/2, d] with a predetermined code distance on a field of odd characteristic is presented. The "list decoding" problem the algorithm solves is the following: given an input message of the length n, compute all the codewords the Hamming distance to which does not exceed the given value. The list decoding algorithm for the code W[n, n/2,d] is based on the transformation of the list decoding problem for W[n, n/2, d] to the list decoding problem for the Reed — Solomon code RS[n, n — d + 1] by proper converting

the incoming messages and on the subsequent solution of the second problem by the improved Guruswami — Sudan algorithm. Decoding results for the code W[n,n/2,d] are found by solving a system of linear equations with respect to the coefficients of the information polynomial. The system is obtained from the Fourier transform of the code word of the wavelet code for each found information word of the code RS[n, n — d + 1]. In the system, the symbols of this word are constant terms. Examples of the list decoding for the code W[26,13,12] are given. The algorithm has been implemented in the form of a computer program for which an author's certificate has been received.

Keywords: wavelet codes, code with predetermined code distance, list decoding.

Введение

В классической задаче декодирования требуется, чтобы исправление ошибки в принятом кодовом слове осуществлялось однозначно. В задаче декодирования списком допускается на выходе декодера иметь до L вариантов декодирования при некотором фиксированном L.

Будем говорить, что код допускает декодирование списком длины L с исправлением e ошибок, если любой шар радиуса e содержит не более L кодовых слов. Для кодов Рида— Соломона задача полиномиального декодирования списком решена В. Гурусвами и М. Суданом и [1].

В настоящей работе рассматривается возможность использования алгоритма списочного декодирования Гурусвами — Судана для построенных ранее вейвлет-кодов с заданным кодовым расстоянием [2].

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

Введём следующие обозначения: GF(q) — конечное поле из q элементов; n — длина кодовых слов; k — длина информационных слов; e — число возможных ошибок; d (d ^ n — k + 1) — кодовое расстояние (равное n — k + 1 для кодов Рида — Соломона).

Информационному слову v0, v\,... , vk-1 процедура кодирования кода Рида — Со-

k-1

ломона ставит в соответствие набор значений многочлена v(x) = Е Vjxj в n точках

j=о

поля. Пусть x1, x2,... , xn (xi = Xj при i = j) и y1,y2,... , yn — произвольные элементы поля GF(q). Построение списка кодовых слов алгоритм декодирования осуществляет в два этапа: интерполяционный и факторизационный.

На интерполяционном этапе выполняется поиск многочлена Q(x,y) Е GF(q)[x,y], такого, что Q(x, y) обращается в нуль во всех точках (xi, yi), i = 1,... , n.

Для натурального числа a > \J2(k — 1)n доказано, что если многочлен p(x) имеет степень меньше k и p(xi) = yi в s точках (xi,yi), причём s > a, то Q(x,p(x)) = 0 и многочлен Q(x,y) делится на y — p(x). Число делителей вида y — p(x) у многочлена Q(x, y) меньше числа a/(k— 1). Неизвестными являются коэффициенты auv многочлена

Q(x,y)= Е auv xuyv,

u+(k-1)v<a

которые находятся из системы линейных уравнений

Е auvxuyV = 0, i = 1,... ,n,

u+(k-1)v<a

при небольших значениях n, например методом Гаусса.

На факторизационном шаге выполняется поиск всех многочленов р(ж) Е СЕ(д)[ж], таких, что у — р(ж) делит ^(ж,у) и степень р(ж) меньше к. Найденные многочлены формируют искомый список кодовых слов. Эффективный алгоритм факторизации предложен в [3]. Подробное изложение алгоритма приводится в [4].

2. Схема полифазного кодирования

В поле СГ(^), где q = рт, т — натуральное и р = 2 — простое число, введём биорто-гональные вейвлет-коды длины п, п = ^ — 1, с информационными словами длины п/2.

Пусть

Н = е1Г2(^0, ^1, Н = е1г2(Л,0, Л-1,

,^=1), С = е1Г2(#0,#1, . . . , #га=1), ,Л,га-1), С = е1г2 (50, <71, ...,<7п-1)

— 2-циркулянтные матрицы, определяющие процедуры разложения и восстановления сигнала биортогонального кратномасштабного анализа и удовлетворяющие условию точного восстановления. 2-Циркулянтная матрица задаётся первой строкой, последующая строка получается из предыдущей циклическим сдвигом на две позиции вправо.

га—1

Последовательность }П=0 будем называть фильтром, многочлен Л,(ж) = ^ жк —

к=0

весовым многочленом. Представим Л,(ж) в виде суммы полифазных компонент

га/2—1

^(ж) = ^е(ж2) + Ж^0(Ж2),

га/2—1

где Л-е(ж) = ^ Л,2кжк и Л,0(ж) = ^ Л-2к+1жк. Аналогично поступим с весовыми много-

к=0

к=0

членами #(ж), /¿(ж), <(ж), которые соответствуют фильтрам {дк}П=1, {Л,к}П=1 и {<}П-1

Введём полифазные матрицы для пар весовых функций (Л,(ж),д(ж)) и (Л,(ж),<(ж)):

Р (ж) =

^е(ж) 0е(ж)

Л,0(ж) #0(ж)

и

Р(ж)

<е(ж) <е(ж) Л,0(ж) <0(ж)

Пара матриц Р(ж) и Р(ж) удовлетворяет условию точного восстановления тогда и только тогда, когда

Р(ж) Р(жп/2—1) = 12X2

(см. [2, 5]). Многочлены Л,(ж) и $(ж) называются комплементарными, если полифазная матрица имеет единичный определитель. Для многочлена Л,(ж), deg Л,(ж) ^ п — 1, комплементарный многочлен можно построить с помощью алгоритма Евклида нахождения наибольшего общего делителя и операции лифтинга. Для многочлена в (ж), deg в (ж) < п/2, определим операцию лифтинга как умножение полифазной матрицы Р(ж) на треугольную матрицу вида

1 в(ж) 0 1

Из условия точного восстановления следует, что Р(ж)-1 = Р(жга/2—1) и

0о(ж) = Мжп/2—1), £е(ж) = —/Г0(жп/2—1), Мж) = — < (жП/2—1), ^е(ж) = —50(жп/2—1).

Процедура кодирования определяется с помощью полифазных составляющих

Ce(x) he (x) ge(x) v(x)

Co(x)_ ho(x) go (x)_ av(x)

n/2-1

где v(x) = Е vjxj —информационный многочлен, a Е GF(q). Кодовый много-j=0

член c(x) имеет вид

c(x) = ce(x2) + xco(x2) = (h(x) + ax2g(x))v(x2) mod (xn — 1).

Построенный вейвлет-код является 2-циркулянтным. Многочлен F(x) = h(x) + x2g(x) будем называть порождающим.

Информационное слово восстанавливается по кодовому слову с помощью матрицы

h(xn/2-1) 5e(xn/2-1) .

Выберем d так, чтобы 0 < d < n/2. Будем считать, что многочлены h(x) и g(x) степени ^ n — 1 построены так (см. [2]), что имеют место равенства

h(aj) + a2jg(aj) = 0 при j = 0,..., d.

Здесь a — примитивный элемент поля GF(q). Тогда преобразование Фурье кодового многочлена c(x) = c0 + c1x + • • • + cn-1xn-1 запишется в виде

((V^o ,Cd+1,...,Cn-1).

d+1

В [2] доказано, что для любого d, 0 <d<n/2, среди построенных вейвлет-кодов над полем GF(q) найдётся код с заданным кодовым расстоянием d +2. Для C(x) = = Cd+1xd+1 + Cd+2xd+2 + • • • + Cn-1xn-1 обратным преобразованием Фурье находятся коэффициенты кодового многочлена: Cj = n-1C(a-j), j = 0,...,n — 1, где n-1 — элемент, обратный элементу n mod p в поле GF(q).

Так как a-1, как и a, —примитивный элемент поля GF(q), то обратное преобразование Фурье последовательности {Ci}n="01 является кодовой последовательностью кода Рида — Соломона с параметрами (n, n — d — 1). Поэтому построенный 2-циркулярный вейвлет-код является подпространством кода Рида — Соломона.

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

3. Декодирование списком вейвлет-кода

Пусть a — примитивный элемент поля GF(q). Обозначим через W[n,n/2,d + 2] вейвлет-код с заданным кодовым расстоянием d + 2, 0 < d < n/2. Обозначим через v(x) информационный многочлен и c(x) —кодовый многочлен вида

c(x) = v(x2)F(x) mod (xn — 1), (1)

где F(x) — порождающий многочлен кода. Согласно свойствам порождающего многочлена F(x), последовательность

F(a0), F(a1),..., F(an-1)

имеет непрерывный участок длины d +1, состоящий из нулевых элементов. Тогда спектральный многочлен

га- 1

С (у) = Е С у., .=0

где С. = с(а7), 3 = 0,... , п — 1, — коэффициенты преобразования Фурье для кодового слова, имеет не более п — d — 1 ненулевых коэффициентов и может быть представлен в виде

га—й-2

С(у) = у7* Е у., . =0

где 3* —номер первого ненулевого С.. Тогда представим сг = п-1С(а-г) в виде

га—й-2

С = п—1С(а-г) = а-.*п—1 Е а-., г = 0,...,п — 1,

.=0

или

га-2

Е С.+7* а-. = с па7*. (2)

.=0

Полученное в (2) преобразование соответствует коду Рида — Соломона И,8(п, п — d — 1), в котором кодовое слово з получается из информационного слова в по формулам

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

Зг = Е в.а-7, г = 0,..., п — 1, (3)

.=0

что допустимо, поскольку а-1 является примитивным элементом поля ОЕ(д). Таким образом, для получения списка возможных спектральных многочленов С (у) можем воспользоваться декодером Гурусвами — Судана, применённым к коду И,8(п, п — d — 1) с процедурой кодирования (3), на вход которого подаётся кодовое слово = с па4'*, г = 0,..., п — 1.

Согласно процедуре кодирования (1) вейвлет-кода Ш[п, п/2^ + 2], ненулевые значения С., 3 = 3 *,... ,3 * + п — d — 2, могут быть найдены как

^(а27 (а.) = С..

Значит, должны выполняться соотношения

^(а.'*))^(а^*) = в., 3 = 0,..., п — d — 2. (4)

Равенства (4) задают систему линейных уравнений относительно коэффициентов информационного многочлена вейвлет-кода, содержащую п/2 неизвестных и п — d — 1 > > п/2 уравнений. Поэтому рассматриваемый вейвлет-код Ш[п, п/2^ + 2] является подпространством кода И,8[п,п — d — 1] и не всякому информационному слову в из списка, возвращённого декодером Гурусвами — Судана, будет соответствовать информационное слово V вейвлет-кода, которое находится из системы (4).

4. Результаты численных экспериментов

Описанный подход проверялся в эксперименте с вейвлет-кодом Ш[26,13,12] и соответствующим ему кодом КБ [26,15] над полем СЕ(27) с неприводимым многочленом 2 + 2х + х3 и порождающим элементом 2а, где а — корень выбранного неприводимого многочлена. В качестве фильтра Л,(ж) был произвольным образом выбран многочлен

h(x) = 22 + x3 + 2x4 + 3x5 + 4x6 + x7 + 6x8 + 7x9 + 8x10 + 9xn + x12 + 10x13 + x14 + 12x15 + + x16 + 14x17 + x18 + 17x19 + x20 + 19x21 + 20x22 + x23 + x24 + x25, на основании которого был построен порождающий многочлен кода W[26,13,12].

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

(1,1, 8,14,15,16, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0), (0,0,1, 0, 0,0,1, 0, 8,0, 0, 0, 0, 0, 0,14, 2, 0, 0, 0,0, 0, 4, 0, 0, 0)

список содержит только нулевое кодовое слово. Вместе с тем для зашумленного кодового слова (0, 0,1,0, 0, 0,1,0,12, 0,0, 0, 0, 0,0,12, 4, 0, 0, 0, 0,0, 3, 0, 0,0) список во временной области содержит два информационных слова:

(0,0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0) и (25, 22, 2, 6,4,11, 20, 25,12, 8,13, 22,14).

Заключение

В работе описана процедура списочного декодирования биортогональных вейвлет-кодов с заданным кодовым расстоянием на примере вейвлет-кода W[26,13,12]. Предложенная процедура списочного декодирования может быть применена к любому коду, являющемуся подпространством кода Рида — Соломона. Алгоритм программно реализован (свидетельство №2017619148).

Работа выполнена под руководством проф. А. А. Соловьева.

ЛИТЕРАТУРА

1. Guruswami V. and Sudan M. Improved Decoding of Reed — Solomon and Algebraic — Geometric Codes. Electronic Colloquium on Computational Complexity. 1998. Report No. 43.

2. Соловьев А. А., Черников Д. В. Биортогональные вейвлет-коды с заданным кодовым расстоянием // Дискретная математика. 2017. Т. 29. №2. С. 96-108.

3. Ruth R. and Ruckenstein G. Efficient decoding of Reed — Solomon codes beyond half the minimum distance // IEEE Trans. Inform. Theory. 2000. V. 46. No. 1. P. 246-257.

4. McEliece R. J. The Guruswami — Sudan Decoding Algorithm for Reed — Solomon Codes. IPN Progress Report 42-153. May 15, 2003.

5. Черников Д. В. Полифазная схема помехоустойчивого кодирования над полями нечетной характеристики // Челябинский физико-математический журнал. 2016. Т. 1. №3. С. 77-85.

REFERENCES

1. Guruswami V. and Sudan M. Improved Decoding of Reed — Solomon and Algebraic — Geometric Codes. Electronic Colloquium on Computational Complexity, 1998, Report no. 43.

2. Soloviev A. A. and Chernikov D. V. Biortogonal'nye veyvlet-kody s zadannym kodovym rasstoyaniem [Biorthogonal wavelet codes with predetermined code distance]. Diskr. Mat., 2017, vol.29, no. 2, pp. 96-108. (in Russian)

3. Ruth R. and Ruckenstein G. Efficient decoding of Reed — Solomon codes beyond half the minimum distance. IEEE Trans. Inform. Theory, 2000, vol.46, no. 1, pp. 246-257.

4. McEliece R. J. The Guruswami — Sudan Decoding Algorithm for Reed — Solomon Codes. IPN Progress Report 42-153. May 15, 2003.

5. Chernikov D. V. Polifaznaya skhema pomekhoustoychivogo kodirovaniya nad polyami nechetnoy kharakteristiki [Polyphase scheme of noise-immune encoding over fields of odd characteristic]. Chelyab. Fiz.-Mat. Zh., 2016, vol.1, no.3, pp. 77-85. (in Russian)

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