Научная статья на тему 'Аналог списочного декодера В. М. Сидельникова для БЧХ-кодов'

Аналог списочного декодера В. М. Сидельникова для БЧХ-кодов Текст научной статьи по специальности «Математика»

CC BY
86
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
помехоустойчивое кодирование / списочный декодер / коды БЧХ / декодер Сидельникова / вероятностный декодер / error correction codes / List decoding / BCH-codes / Sidelnikov decoder / probabilistic decoder

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

Получено распространение вероятностного декодера В. М. Сидельникова на семейство кодов Боуза-Чоудхури-Хоквингема, построен соответствующий алгоритм декодирования. Для построенного алгоритма декодирования выполнена программная реализация.

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

Похожие темы научных работ по математике , автор научной работы — Бибов Александр Юрьевич, Деундяк Владимир Михайлович

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

The distribution of probabilistic Sidelnikov decoder to BCH-codes family had been obtained, the respective decoding algorithm had been built and implemented In the paper.

Текст научной работы на тему «Аналог списочного декодера В. М. Сидельникова для БЧХ-кодов»

УДК 004.021

АНАЛОГ СПИСОЧНОГО ДЕКОДЕРА В.М. СИДЕЛЬНИКОВА ДЛЯ БЧХ-КОДОВ

© 2011 г. А.Ю. Бибов, В.М. Деундяк

Южный федеральный университет, ул. Мильчакова, 8, г. Ростов-на-Дону, 344090

Southern Federal University, Milchakov St., 8, Rostov-on-Don, 344090

Получено распространение вероятностного декодера В. М. Сидельникова на семейство кодов Боуза—Чоудхури—Хоквингема, построен соответствующий алгоритм декодирования. Для построенного алгоритма декодирования выполнена программная реализация.

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

The distribution of probabilistic Sidelnikov decoder to BCH-codes family had been obtained, the respective decoding algorithm had been built and implemented In the paper.

Keywords: error correction codes, list decoding, BCH-codes, Sidelnikov decoder, probabilistic decoder.

В работе [1] рассмотрен вероятностный метод декодирования кодов Рида-Соломона, который позволяет исправлять ошибки в случае, когда их число превосходит половину кодового расстояния. Указанный декодер можно понимать как разновидность списочного, в [2] он обобщен А.Ю. Серебряковым на некоторый класс одноточечных алгебро-геометрических кодов на эллиптических кривых. Программная реализация декодера Серебрякова рассмотрена в [3]. Цель настоящей работы - распространение метода Сидельникова на семейство кодов БЧХ, построение соответствующего алгоритма декодирования и его программная реализация на основе библиотеки вБЬ, представленной в [4].

Предварительные сведения

Приведем необходимые сведения о БЧХ-кодах [5, гл. 5]. Пусть N - множество натуральных чисел; д > 2 -

степень простого числа; Ядп (с Гд [х]) - кольцо многочленов над полем Галуа Гд степени, не превосходящей

п(е N), с умножением по модулю х -1. Известно, что Яд п является кольцом главных идеалов. Кольцо Яд п естественно изоморфно как линейное пространство пространству Хемминга Г^ . Если а(х) е Яд п, то соответствующий вектор коэффициентов из ГП будем обозначать а . Идеалу кольца Яд п соответствует инвариантное подпространство оператора правого циклического сдвига, которое называется циклическим кодом. Порождающий многочлен всякого идеала в Яд , п называется

порождающим многочленом соответствующего циклического кода.

Пусть ё е N и ё > 3. Рассмотрим последовательность И^ (а,Ъ,ё)= {хЪ,аЪ+\...,аЪ+ё-2} где аеР г ,

г е N, а все элементы различны. Циклический код, построенный по элементам N^ (а, Ъ, ё) как по нулям,

называется кодом БЧХ, а параметр ё - конструктивным кодовым расстоянием, или расстоянием Боуза. Для кодового расстояния Б построенного таким образом кода известна оценка Б > ё ; длина п равна порядку элемента а . Размерность к и порождающий многочлен g (х) определяются по формулам: к = п-2¿е§(та(х)), g(х) = Пта(х), где та - минимальный многочлен элемента а над полем Р.

q •

суммирование и произведение ведутся по всем попарно несопряженными элементам последовательности N г (а, Ъ, ё).

Алгоритм декодирования при t >

d -1

Рассмотрим последовательности элементов из по-

лей р. и F r соответственно:

q q

X

(1)

^n,r

1

ßl ßl2

1

ßr

mb mb+1 ß2 mb+2

ßn ... ßn mb+n

где r < n и n e N ^ {o};

mb+n - r mb+n - r+1 mb+n-r+2

mb+2n-r

(2)

DU (уь-.у ) =

У1

У2

У1

Уг 2

mb mb+1

Уг mb+2

yU

mb+U -1

mb+u-r mb+u-r+1

mb+u-r+2 mb+2u-r

-1

Ou (Ух,...Уг )= n(y - yj )l Du (Уъ...,Уг ) l i > j )

(3)

(4)

Отметим, что при Ъ = 0 обозначения (2)-(4) совпадают с соответствующими обозначениями из [1].

Приведем леммы, составляющие теоретическую основу списочного декодера для БЧХ-кодов. Заметим, что эти леммы являются обобщением соответствующих лемм из [1], а их доказательства проводятся по схеме доказательств из [1].

Лемма 1. Если Д пг - детерминант, определенный

в (2), и е N, то:

1) Ди-1 г Ф 0 и Дпг = 0 при п > и ;

2) если 0' = {сй1,®2,...,юг-1}с Р г \ {0}, где г <и,

ч

то рациональная функция Ои(у,ю1,й2-..,йг-1) является многочленом. Кроме этого, справедливо равенство

Ou (у, ß1, ß2,...,ßr-1 ) = С П (у-ß j ).

J=r

Лемма 2. Пусть Q' = {coi,ro2,---,c°r-i}cFr \{ü},

причем r < u, тогда:

1) если Ou (y, юь ®2...,®r-1) -

ненулевой много-

а

член степени и - г + 1, разложимый в поле Р^г,

О" = (юг,юг+1,...,сои) - его корни, О'п>О" = 0 и О' ^ О" с Р^г, то найдутся такие элементы hj (е Р г)

формуле

что

г

ф q моменты

u

вычисляются по

тъ+1 = 2 hjюЪ+1, 1 = 0,...2и - г, причем hj Ф 0, когда j=1

]' = г,...и. Если ненулевой многочлен Ои (у, й2:...,®г-1) имеет степень, меньшую и - г + 1, то моменты тъ+1 не могут быть представле-

и ,

ны в виде тъ+1 = 2 hj ю- 1, 1 = 0,...2и - г для

j=1

где и < ч -1 и р1 ф р j при 1Ф ] . Отметим, что элементы Р1,...,Р„ должны быть ненулевыми, в то время как среди к1,...,ки могут встречаться нули.

Введем некоторые новые конструкции. Пусть Ъ е N ^{0}, обозначим

юг,юг+1,...,юи и hl,h2,....hu из произвольных расширений полей Р г и Р. соответственно;

2) многочлен Ои(у,Ю1,Ю2,...,юг-1) является нулевым тогда и только тогда, когда моменты могут быть

представлены в виде mb+¡ = Z h ю

b+i

j=1

j j

где

1 = 0,...2и - г и V < и .

Леммы 1, 2 позволяют построить вероятностный алгоритм декодирования в случае, когда число ошибок известно и превосходит половину кодового расстояния Боуза.

Алгоритм 1

Вход: / - число ошибок; VN - вектор, искаженный ровно / ошибками.

Выход: VR - кодовый вектор.

1. Вычислить синдром « по формуле:

а „6+1

а 2b „2(b+1)

1 ab+d - 2 а 2(b+d-2)

a(n-1)b (n-Ф+1)

(n-1)(b+d - 2)

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

Vn . (5)

2. Сгенерировать случайное число r < u, затем выбрать случайным образом r - элементное подмножество Q' = {ci,®2,...,cor} множества N^ (a,b,d).

3. Построить определитель Dt (y, oi,...,cor) в соответствии с (3).

4. Найти множество Q'' корней многочлена Ou (y, oi,...,cor), определяемого в соответствии с (4).

2

1

1

s =

5. Проверить, выполнены ли условия:

6. Если

= 0, Q'^Q'cFr, |Q"| = t - r . Если

эти

условия выполнены, перейти на шаг 6, иначе перейти на шаг 2.

6. Решить систему уравнений

2. r := 0, K := 0, C := 0, n :=

d -1 + r 2

. Выбрать слу-

чайным путем подмножество (jßi, ß2 ,...,ßr ) c И. 3. C := C +1. Сформировать определитель:

А n,r =

1

ßl ß2

ßn

i

тъ

ßr mb+l ß2 тЪ+2

ßn тЪ+n

тЪ+n - r тЪ+n-r+1 тЪ+n-r+2

тЪ+2n - r

A„,r * 0

n <

d -1 + r 2

положить

2 кУ+' = тъ+1, I = 0,.../-1.

уеО ' иО "

Если решение принадлежит полю Гд , перейти на

шаг 6, иначе - перейти на шаг 2.

7. С помощью множества позиций ошибок О" и О" и множества соответствующих им значений ошибок {ку} вычислить вектор ошибок е .

8. Вычислить Уя := VN - е. Возвратить Уя и выйти из алгоритма.

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

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

Алгоритм 2

Вход: УN - вектор, искаженный ошибками; 0 < е < 1 - затравочный коэффициент; параметр Q определяет порог прерывания алгоритма.

Выход: / - оценка количества ошибок в векторе УN, или ошибка зацикливания.

1. Вычислить синдром « вектора Уы по формуле (5).

/ := п + 1 и выйти из алгоритма.

7. Если С > Q, выдать ошибку зацикливания и выйти из алгоритма.

8. Если К > 0, перейти на шаг 11; если К = 0, перейти на шаг 9.

9. Если г = 0, то положим г = 1, если ё -1 - нечетное; или г = 2, если ё -1 - четное число. В противном случае г := г + 2 .

10. Вычислить p :=

Cr

Cn

Cr

C и

K := ln(1 -s)

' : ln(1 - p) '

4. Если Апг = 0 и п > г, то п := п -1 и перейти на шаг 3.

5. Если Апг = 0 и п = г, положить / := г и выйти из алгоритма.

11. Выбрать случайным образом множество (ß1 ,ß2, ...ßr)c«. K := K-1. Перейти на шаг 3.

Описанные в настоящей работе алгоритмы реализованы с использованием библиотеки GFL, предназначенной для вычислений в конечных полях [4].

Выводы

Коды БЧХ, вообще говоря, не являются MDS-кодами и поэтому уступают с точки зрения числа исправляемых ошибок кодам Рида-Соломона. Однако благодаря конструктивному построению БЧХ-коды не имеют столь жестких ограничений на длину и размерность. Ввиду этого они находят применение в тех случаях, когда использование кодов Рида-Соломона оказывается затруднительным [5]. Таким образом, представленный в настоящей статье декодер имеет в некотором смысле более широкий спектр применения, нежели декодер Сидельникова.

Литература

1. Сидельников В.М. Декодирование кодов Рида-Соломона

при числе ошибок, большем (d-1)/2, и нули многочленов нескольких переменных // Проблемы передачи информации. 1994. Т. 30, вып. 1. С. 51-69.

2. Серебряков А.Ю. Декодирование кодов на эллиптиче-

ских кривых при числе ошибок, большем половины конструктивного кодового расстояния // Проблемы передачи информации. 1997. Т. 33, вып. 3. С. 29-38.

3. Деундяк В.М., Харченко Д.В. О реализации помехо-

устойчивых кодеков на эллиптических кривых с использованием алгоритмов декодирования Серебрякова // Вестн. ДГТУ. 2005. Т. 5, № 1 (23). С. 14-119.

4. Бибов А.Ю. О новой библиотеке для вычислений в конеч-

ных полях и ее применении в реализации кодека Сидель-никова // Уравнения смешанного типа и родственные проблемы анализа и информатики: материалы Междунар. Российско-Абхазского симп. 2009. Нальчик, С. 261-262.

5. Сидельников В.М. Теория кодирования. М., 2008. 175 с.

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

7 сентября 2010 г.

и

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