О некоторых численных экспериментах над списочным декодером

УДК 519.725

DOI: 10.14529/^сг170318

О НЕКОТОРЫХ ЧИСЛЕННЫХ ЭКСПЕРИМЕНТАХ НАД СПИСОЧНЫМ ДЕКОДЕРОМ

В.Д. Кряквин, К.В. Крыжановский

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

Исследована принципиальная возможность осуществления успешного декодирования сообщений, количество ошибок в которых априори превосходит исправляющую способность пары (RS-код, GS-декодер), для некоторых типов кодов Рида - Соломона. Для проверки гипотезы о существовании такой возможности была построена модель и разработан специальный алгоритм, основанный на обработке стираний, проведены вычислительные эксперименты. Также было проанализировано изменение средней мощности выходного списка GS-декодера при использовании упомянутого алгоритма. Установлено, что с использованием разработанного алгоритма частота успешных декодирований возрастает, при этом статистически значимого изменения средней мощности выходного списка не наблюдается.

Ключевые слова: алгебраическое кодирование, RS-код, GS-декодер, исправляющая способность, декодирование.

Введение

Обмен информацией всегда задействует некоторый канал, обеспечивающий связь между отправителем и получателем. Зачастую канал находится в изменяющейся среде, которая неизбежно влияет тем или иным образом на его свойства, тем самым внося в сигнал, идущий по этому каналу, искажения и ошибки. Перед непосредственной отправкой сообщения по каналу связи отправляющая сторона применяет кодер и при необходимости модулятор. Принимающая же сторона пропускает при необходимости полученный сигнал через демодулятор и затем направляет его в декодер для восстановления и дальнейшего прочтения сообщения. При этом максимальное число ошибок, которое может исправить конкретная связка кодер-декодер, называется исправляющей способностью. На сегодняшний день широчайшее распространение получили коды из семейства кодов Рида - Соломона (РС-коды, RS-коды). РС-коды нашли свое применение во многих областях, вот лишь некоторые из них: защита данных на носителях информации, спутниковая связь (в частности, например, в сетях WiMAX), передача данных в оптических каналах связи. Для РС-кодов существует несколько типов декодеров (методов декодирования), из которых стоит особо выделить так называемый списочный декодер. Его коренное отличие от всех остальных декодеров заключается в том, что результатом его декодирования является не единственное сообщение, а список сообщений, в котором при выполнении определенных условий гарантированно содержится верное сообщение. Это фундаментальное отличие позволяет списочному декодеру исправлять большее количество ошибок, чем другие декодеры. Первый полиномиальный алгоритм, решающий задачу списочного декодирования для РС-кодов, был создан в 1997 году М. Суданом [1], а позднее модифицирован В. Гурусвами и М. Суданом [2] с целью снятия ограничений по эффективному применению, связанных с некоторыми характеристиками исходных РС-кодов. Этот алгоритм впоследствии стал известен как списочный декодер Гурусвами - Судана (GS-декодер). Далее слово «списочный» будет иногда опускаться.

В настоящей работе проверена гипотеза о наличии возможности успешного декодирования сообщений, количество ошибок в которых заведомо превышает исправляющую способность связки (RS-код, GS-декодер) для некоторых типов РС-кодов. Также проверялась возможность уменьшения объема выходного списка GS-декодера. Исследование проводилось при помощи специального алгоритма обработки стираний, который был разработан и реализован в виде отдельной надстройки к декодеру Гурусвами - Судана. Стиранием считается такая ошибка, позиция которой в сообщении априори известна, но чаще всего ошибки носят случайный характер, поэтому мы не можем знать позицию ошибки заранее, но можем попытаться «угадать» ее и, таким

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

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

Математическая постановка задачи

Приведем описание процедуры кодирования, изложенной в [3]. Пусть Wq - конечное поле, q = ps, где p - простое число, s - натуральное. Выберем длину кода n и размерность кода k, такие, что k < n < q. Из выберем некоторые а0 ... a„_i, такие, что: 1) at Ф aj, i Ф j; 2) at Ф (0) V i, где (0) - нуль в Wq. В дальнейшем будем называть эти а0 ...ап-1 базой кода. Сообщение - вектор m = (m0, ..., mk-1), 6 Wq; после составления сообщения формируется информационный полином m(x): m(x) = m0 + mix + m2x2 + ... + mk-1xk-1. Процесс кодирования сообщения m заключается в вычислении кодового вектора c = (c0, ..., cn-1) по правилу ci = m(at). Кодовый вектор передается по каналу связи, в котором к нему добавляется квазислучайная аддитивная ошибка e = (e0, ..., en-1), в результате из канала приходит вектор v = (v0,..., vn-±), где v 6 Fqn, и Vi = ci + ei, i = 0, ..., n - 1. Декодирование, согласно [3], осуществляется следующим образом: пусть Fq - поле Галуа мощности q, Fq[x] - кольцо полиномов переменной x над полем Wq, Fq[x, у] - кольцо полиномов двух переменных x и y над полем Fq, (а0, ...,ап_г) - база кода, (v0,..., vn^1) - пришедшее из канала слово. На первом шаге происходит построение многочлена от двух переменных Q(x,у) 6 Fq[x,y], который должен удовлетворять следующим приведенным в [3] условиям: 1) Q(ai,vi) = 0, V i = 0, ..., п — 1; 2) Q(x,y) Ф 0. На втором шаге производится факторизация полинома Q(x,y) на множители вида: у — т(х), deg(m(x)) < к и | [i • m(ai) = Vi} | > t (или | [i • m(ai) Ф vt} I < tm), где, согласно [4], tm = n — t - управляющий параметр, задающий радиус локации декодера. Множество таких т(х) формирует выходной список декодера. В [1] М. Судан предложил искать такой полином Q(x,y) в следующем виде:

Q

где й = к — 1, I = \^2(п + 1)/й ], т = \й/22\ — 1. Подставив в (1) элементы базы и компоненты пришедшего по каналу слова и учтя требования, накладываемые на полином Q (х, у) выше, получим СЛАУ относительно ц^] - коэффициентов полинома Q (х, у):

15=0V ,1 = 0.....п — 1.

В [4] приведено значение верхней границы исправляющей способности списочного декодера Гурусвами - Судана. Согласно ей GS-декодер способен исправлять вплоть до ошибок, где ^вБ = п — 1 — ^(к — 1)п . В рамках приведенных исходных данных была поставлена задача

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

Метод

В рамках исследования упор был сделан на методику обработки стираний. Если V = , - пришедшее по каналу слово, и мы точно знаем, что в р1, например, находит-

ся неверное значение, то вектор V преобразуется в вектор V = (р0, р2 ,  .,Рп_1). Так, если стираний произошло т штук, то из V удаляются т элементов, содержащие эти стирания. При декодировании подобное выкалывание элементов означает для нас укорочение исходного РС-кода. Укорочение или выкалывание - операция, состоящая в удалении одного проверочного символа аг (элемента базы кода). Длина кода п уменьшается на единицу, размерность k остается неизменной.

Кряквин В.Д., Крыжановский К.В. О некоторых численных экспериментах

над списочным декодером

Соответственно, кодовое расстояние й = п - k + 1, так же как и длина, уменьшается на единицу. Таким образом, если в пришедшем из канала слове V = (у0, ..,уп_1) мы детектировали т стираний в некоторых элементах у]о, х>^,..., V/ , то для исходного кода мы удаляем а]о, а^ ,..., Я/ из базы и учитываем это при декодировании. Также стоит упомянуть о том, что укороченный подобным образом РС-код так же является РС-кодом. Итак, система (2) трансформируется согласно принципу, изложенному выше:

4=оЕГ=о(1Ч0*(^ )* ¿ = 0.....п-1-т ,

где: т- число стираний; й = k- 1; I' = \^(2(п + 1 — т))/^]; т = \А/22\ — 1; V' = (р0, ...,рп-1-т) -вектор, полученный из вектора V = (у0, выкалыванием элементов, которые содержат

стирания; а = (а0, ...,ап_1_т) - новая база, полученная из а = (а0, ...,ап_1) выкалыванием соответствующих элементов. Теперь с помощью описанного выше метода продемонстрируем, как можно добиться декодирования за границей исправляющей возможности декодера, предварительно введя следующее основное предположение. Предположим, что существуют два РС-кода: RS-1 длины п и размерности ^ RS-2 длины п - 1 и размерности k, такие, что: 1) RS-2 получен из RS-1 укорочением на один проверочный символ; 2) > tGS[RS-1], т. е.

п — 2 — [^(к — 1 )(п — 1)] > п — 1 — ^(к — 1 )п . Пусть выполнено основное предположение.

Пусть исправляющая способность равна в точности tGs[RS-1]. Закодируем кодом RS-1 некоторое сообщение и внесем аддитивную ошибку е веса ^(е) = tGS[RS-1] + 1, таким образом, в векторе V = (у0, V], ..., vn-\) содержится + 1 ошибок. Пусть мы узнали или угадали хотя бы одну

позицию ошибочного элемента в векторе V, тогда мы можем произвести процедуру укорочения исходного кода и получить код RS-2. Стало быть, после проведения такой операции у нас остался вектор V1, полученный из V выкалыванием одного неверного элемента и содержащий теперь ошибок, и код RS-2, способный в силу второй части основного предположения восстановить исходное сообщение при условии, что вес ошибки не превосходит Таким образом, в силу того, что > код RS-2 восстановит невосстановимое для RS-1 сообщение. Следовательно, используя этот принцип для кода RS-1, мы осуществляем декодирование за границей его исправляющей способности. Покажем, что основное предположение выполняется, т. е. существуют РС-коды, удовлетворяющие его условиям. Эта задача сводится к вопросу существования таких параметров п и k, при которых выполняется условие

п — 2 — у

Легко убедиться, что RS(64,5) и RS(63,5) удовлетворяют этим условиям. Для них ^З^$(63,5)] = = tGS[RS(64,5)] = 47. Также этим условиям удовлетворяют коды (RS(64,10), RS(63,10)), ..., (Щ128,19), Щ127,19)), ..., (RS(256,32), RS(255,32)) и другие. Таким образом, факт существования таких кодов доказан.

Теперь приведем детальное описание численных экспериментов и разработанного для них алгоритма обработки стираний. Число для каждого РС-кода является верхней границей его исправляющей способности при применении GS-декодера. Точное максимальное количество гарантированно исправляемых ошибок для каждого РС-кода можно установить лишь экспериментально. Проверим гипотезу о том, что, используя описанный выше метод, порой можно добиться верного декодирования за границей корректирующей способности произвольного кода, для которого выполнено условие (3), проведя следующие численные эксперименты.

Численный эксперимент № 1: пусть есть некоторый РС-код RS-1, длины п и размерности k, известна его исправляющая способность ¿К8_ь причем t0 < < Кодом RS-1 закодиро-

вано некоторое сообщение т. В канале на вектор с наложилась аддитивная ошибка е, такая, что ^(е) = + 1. Теперь попытаемся произвести декодирование двумя способами. Способ первый: подадим пришедшее по каналу искаженное кодовое слово в GS-декодер для кода RS-1 и получим на выходе некоторый результат-список. Назовем его NC_LIST. Способ второй: проведем п процедур укорочения для исходного кода RS-1 с глубиной укорочения т = 1, каждый раз «вычеркивая» один элемент из вектора V (вычеркиваемые элементы выделены) и один элемент из базы а:

(\v^}vi,.,vn_i) ^ v'0 = (vi,.,vn_i),a'= (ai,.,an_i); (^o,[fi],.",^-i) ^ v'1 = (vo,v2,.",vn-i),a' = (a0,a2,.,an_i);

(y0lv1.....Г^ГЛ)^ v'n-i = (v0,...,vn_2),a'= (a0,...,an_2).

К каждому v'i будем применять GS-декодер согласно описанному ранее методу и получим множество списков, назовем его {C_LISTJ, i = 0, ..., n - 1. Теперь построим результирующий список, именуемый UN LIST, который будет представлять собой объединение списков C_LIST UN_LIST = (JfJo1 C_LISTj (под объединением списков здесь и далее понимается объединение множеств y-корней, которые их составляют). Сравним списки UN_LIST и NC_LIST, и тем самым оценим эффективность обоих способов. Результаты такого опыта описаны в разделе «Результаты».

Численный эксперимент № 2: пусть у нас есть некоторый РС-код RS-1, длины n и размерности k, для него известна его исправляющая способность tRS_b причем t0 < tRS_1 < tGS[RS-1]. Кодом RS-1 было закодировано некоторое сообщение m. В канале на кодовое слово с наложилась аддитивная ошибка e, такая, что w(e) = tRS_1, т. е. код RS-1 в сочетании с GS-декодером может ее исправить. Для кода RS-1 была проделана процедура, описанная в численном эксперименте № 1, и сформированы списки NC_LIST и UN_LIST. Теперь построим список INT_LIST как пересечение списков NC_LIST и UN_LIST: INT_LIST = NC_LIST П UN_ LIST (под пересечением списков здесь и далее понимается пересечение множеств y-корней, которые их составляют). Сравним объемы списков INT_LIST и NC_LIST, в частности, выясним, можно ли получить таким способом список, количество элементов которого меньше, чем в исходном списке NC_LIST, полученном для неукороченного кода. Результаты численного эксперимента № 2 представлены в разделе «Результаты».

Результаты

В результате численных экспериментов было выявлено, что использование специального алгоритма обработки стираний приводит к повышению частоты успешных декодирований (48 % успешных декодирований против менее 1 % для исследуемого кода) за границей исправляющей способности пары (RS-код, GS-декодер). В частности, для кода RS(128, 19) эта зависимость проиллюстрирована на рис. 1 и 2 соответственно (верхние перекрестия на графиках - успешное декодирование, нижние перекрестия - сообщение не было восстановлено). Вес вносимой ошибки - 65 при tRS(128,19) = 64; tRS(128,19) - максимальное количество ошибок, которое может гарантированно исправить исследуемый код при применении GS-декодера, значение получено экспериментальным путем.

Рис. 1. Распределение результатов декодирования с использованием специальной обработки стираний

Рис. 2. Распределение результатов декодирования без использования специальной обработки стираний

Кряквин В.Д., Крыжановский К.В.

О некоторых численных экспериментах над списочным декодером

Также наряду с RS(128, 19) исследовались и коды меньшей длины (RS(64, 5) и RS(16, 2)), результаты численных экспериментов для которых не имеют качественных отличий от результатов, полученных для RS(128,19). Численные эксперименты, направленные на уменьшение объема выходного списка GS-декодера, показали, что используемый алгоритм обработки стираний не позволяет значительно его (объем списка) сократить. Среднее уменьшение объема выходного списка составило менее 1 %. Полученные результаты являются новыми.

Заключение

Численные эксперименты показали, что использование описанной схемы и разработанного алгоритма приводит к повышению частоты успешных декодирований за границей исправляющей способности пары (RS-код, GS-декодер), а это значит, что корректирующая способность списочного декодера несколько увеличилась. Стоит отметить, что таким образом можно получить выигрыш в исправляющей способности связки кодер-декодер, не прибегая к смене кодера, что особенно важно, если параметры исходного кода ограничены на физическом уровне устройства, реализующем функции кодера. Численный анализ возможности уменьшения конечного объема выходного списка декодера показал, что статистически значимых изменений с применением специальной обработки стираний достичь не удается.

Литература

1. Sudan, M. Decoding of Reed Solomon codes beyond the error correction bound / M. Sudan // J. Compl. - 1997. - Vol. 13. - P. 180-193.

2. Guruswami, V. Improved decoding of Reed-Solomon and algebraic-geometry codes / V. Gurus-wami, M. Sudan //IEEE Transactions on Information Theory. - 1999, September. - Vol. 45. - P. 17571767. DOI: 10.1109/18.782097

3. Sudan, M. Lectures «Algorithmic Introduction to Coding Theory» / M. Sudan. - 2001.

4. McEliece, R.J. The Guruswami-Sudan Decoding Algorithm for Reed-Solomon Codes / R.J. McElie-ce // IPNProgress Report 42-153. - May 15, 2003. - P. 1-60.

Кряквин Вадим Донатович, канд. физ.-мат. наук, доцент кафедры алгебры и дискретной математики, Институт математики, механики и компьютерных наук им. И.И. Воровича, Южный федеральный университет, г. Ростов-на-Дону; vadkr@math.rsu.ru.

Крыжановский Константин Викторович, аспирант кафедры алгебры и дискретной математики, Институт математики, механики и компьютерных наук им. И.И. Воровича, Южный федеральный университет, г. Ростов-на-Дону; ccxq@yandex.ru.

Поступила в редакцию 30 апреля 2017 г.

DOI: 10.14529/ctcr170318

ABOUT SOME NUMERICAL EXPERIMENTS ON A LIST DECODER

V.D. Kryakvin, vadkr@math.rsu.ru, K.V. Kryzhanovskiy, ccxq@yandex.ru Southern Federal University, Rostov-na-Donu

This paper deals with the fundamental possibility of implementing successful decoding of messages the number of errors in which a priori exceeds the pair's correcting ability (RS-code, GS-decoder), for some types of Reed-Solomon codes. To test the hypothesis of the existence of such a possibility, a model was constructed and a special algorithm based on the processing of erasures

was developed, and computational experiments were carried out. The change in the average power of the output list of the GS decoder using this algorithm was also analyzed. It is shown that with the use of the proposed algorithm the frequency of successful decoding increases, while there is no statistically significant change in the average power of the output list.

Keywords: algebraic coding, RS-code, GS-decoder, error-correcting capability, decoding.

1. Madhu Sudan. Decoding of Reed Solomon Codes Beyond the Error Correction Bound. J. Compl, 1997, vol. 13, pp. 180-193.

2. Guruswami V., Sudan M. Improved Decoding of Reed-Solomon and Algebraic-Geometry Codes. IEEE Transactions on Information Theory, 1999, September, vol. 45, pp. 1757-1767. DOI: 10.1109/18.782097

3. Madhu Sudan. Lectures "Algorithmic Introduction to Coding Theory ", 2001.

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

References

Received 30 April 2017

ОБРАЗЕЦ ЦИТИРОВАНИЯ

FOR CITATION

Кряквин, В.Д. О некоторых численных экспериментах над списочным декодером / В.Д. Кряквин, К.В. Крыжановский // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». - 2017. - Т. 17, № 3. - С. 153-158. DOI: 10.14529/ctcr170318

Kryakvin V.D., Kryzhanovskiy K.V. About Some Numerical Experiments on a List Decoder. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics, 2017, vol. 17, no. 3, pp. 153-158. (in Russ.) DOI: 10.14529/ctcr170318