Научная статья на тему 'Недвоичные низкоплотностные коды: алгоритмы декодирования и их вычислительная сложность'

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

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

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

УДК 621.396

Башкиров А.В., Климов А.И., Науменко Ю.С.

ФГБОУ ВПО «Воронежский государственный технический университет»,

НЕДВОИЧНЫЕ НИЗКОПЛОТНОСТНЫЕ КОДЫ: АЛГОРИТМЫ ДЕКОДИРОВАНИЯ И ИХ ВЫЧИСЛИТЕЛЬНАЯ СЛОЖНОСТЬ

Аннотация. В работе рассматриваются алгоритмы, применимые для декодирования недвоичных кодов с малой плотностью проверок на четность (алгоритм распространения доверия (belief propagation (BP), «sum-product» (SPA)), его модификация log-BP, обобщение Q-ary sum-product algorithm (SPA-QSPA), модификация fast Fourier transform Q-ary sum-product algorithm (FFT-QSPA); алгоритмы «min-sum», extended Min-Sum Algorithm (EMS)). Приводятся краткое описание их недостатков и способов улучшения, а также оценка их вычислительной сложности.

Ключевые слова: недвоичные LDPC коды, алгоритмы декодирования, помехоустойчивое кодирова-

ние, вычислительная сложность.

Постоянное повышение требований к устройствам обработки, приема и передачи цифровой информации обуславливает необходимость привлечения значительных ресурсов, в первую очередь интеллектуальных, к решению задач повышения эффективности средств, методов и конкретных алгоритмов, реализующих технологии обработки, приема и передачи информации такими устройствами. Одним из самых динамично развивающихся направлений решения затронутой проблемы является теория кодирования, в частности помехоустойчивого кодирования. С точки зрения энергетических затрат, одними из самых эффективных помехоустойчивых кодов являются турбокоды и коды с малой плотностью проверок на чётность (LDPC-код от англ. Low-density parity-check code, LDPC-

code, низкоплотностный код, 1963 [1]), также относящиеся к «турбо-подобным» кодам, ввиду допу-

стимости применения для их декодирования итеративных алгоритмов.

Проблема квадратичной зависимости сложности кодирования от длины GF(2)-LDPC кода и сложности аппаратной реализации достаточно остра, однако нерегулярные LDPC коды могут превосходить турбокоды при примерно одинаковых длинах и скоростях, с учетом достаточно большой длины блока [2, 3] . Достижение той же помехоустойчивости, при меньшей длине GF(qi-LDPC-кода может быть достигнуто за счет увеличения значения q [4]. Так, в [5] приводятся зависимости вероятности битовой ошибки (Bit Error Rate (BER)) для нерегулярных кодов с малой плотностью проверок на четность и регулярных недвоичных низкоплотностных кодов, от отношения сигнал-шум, изображенные на рисунке 1.

Рисунок 1. - Зависимость вероятности битовой ошибки от отношения сигнал-шум для двоичных и

недвоичных низкоплотностных кодов

На рис. 1. зависимости представлены для двоичного канала с АБГШ для LDPC кодов длины 3008, скорости 1/2, также представлена нижняя граница сферической упаковки (SP59, [6]). Таким образом, открывается перспектива использования недвоичных LDPC-кодов (NB-LDPC), связанная с серьезными сложностями реализации процедур декодирования. Несмотря на это, сегодня уже разработан ряд алгоритмов декодирования недвоичных кодов с малой плотностью проверок на четность, некоторые из которых претендуют на эффективную аппаратную реализацию.

Для мягкого декодирования (GF(2p)-LDPC decoding) применялся алгоритм распространения доверия (англ. belief propagation (BP), также алгоритм «sum-product» (SPA)). Основной проблемой, как упоминалось ранее, явились квадратичная зависимость сложности декодирования от размерности поля и большие расходы памяти. По оценкам [5] на элементарную операцию с битовыми узлами (графа Таннера) приходится q умножений, q-1 сложений; для проверочного узла: q2 умножений, q делений, q(q-1) сложений. Первой модификацией BP алгоритма явилось использование в нем логарифма отношения правдоподобия вместо вероятностей, что позволило убрать масштабирование при вертикальном проходе. Модификация была предложена в [7]. Вместо вычисления логарифма было предложено использование его табличного представления (look-up tables (LUT)), что также накладывало ограничения на возможности декодирования в полях высоких порядков при больших длинах сообщений.

Первым алгоритмом, предложенным для декодирования недвоичных LDPC кодов, был обобщенный алгоритм SPA-QSPA (Q-ary sum-product algorithm) [8]. Число операций для вычисления вектора мягкого выхода для этого алгоритма экспоненциально зависит от порядка поля - q и кодового расстояния dc, с чем связана его высокая вычислительная сложность. В работе [9] была предложена его модификация - FFT-QSPA, заключающаяся в использовании быстрого преобразования Фурье вместо свертки, что позволяло значительно снизить вычислительную сложность (до O(dcq2) ), практически без потерь производительности. Однако для полей очень большого порядка, вычислительная сложность остается достаточно высокой, вследствие чего применение алгоритма для q>16 нецелесообразно [4]. На элементарное вычисление битовыми узлами приходится q умножений, q-1 сложений; для проверочного узла: q(dcP + 1) умножений, q(q-1) сложений.

Еще одна модификация, существовавшая для двоичного декодирования по алгоритму распространения доверия, заключающаяся в упрощении операции, используемой при формировании сообщений от проверочных узлов к битовым - алгоритм «min-sum», корректирующая способность которого незначительно хуже, был обобщен для декодирования LDPC кодов над GF(q). Хотя алгоритм состоит только из сложений, его сложность остается порядка O(q2). Его модификация названа EMS (Extended Min-Sum Algorithm) [4]. Как упоминалось выше, алгоритм уступает алгоритму «Belief Propagation» в корректирующей способности, однако значительное снижение вычислительной сложности декодирования (O(qnm)) LDPC кода над GF(q) делает его серьезным претендентом на аппаратную реализацию.

В таблицы 1,2 сведены значения количества операций (сложений, умножений, делений) требуемых для элементарного вычисления в битовом узле (табл. 1) и проверочном узле (табл. 2).

Таблица 1. Число операций на элементарное вычисление в битовом узле.

Алгор. Умножений Целений Max* Max Сложений

BP q - - - q-1

FFT-BP q - - - q -1

log-BP - - q-1 - q

EMS - - - nm (2nm) nm

Таблица 2. Число операций на элементарное вычисление в проверочном узле.

Алгор. Умножений Целений Max* Max Сложений

BP q2 q - - q(q-1)

FFT-BP q(dcP + 1) q - - dcqp

log-BP - - q(q-1) - q2

EMS - - - nmnop nm + nop (real) nm + nop (в GF(q))

Фактически, самым эффективным и перспективным с точки зрения аппаратной реализации оказывается алгоритм Extended Min-Sum, несмотря на то, что с точки зрения корректирующей способности он уступает алгоритму «Belief Propagation». Однако выигрыш в вычислительной сложности по сравнению с алгоритмом BP характерен для алгоритма EMS только для значений длины ограничения nm << q (nop - количество операций, необходимое для вычисления наибольшего Пт, как правило, nop=2nm), что также ограничивает его применимость.

ЛИТЕРАТУРА

1. Gallager R.G. "Low Density Parity Check Codes". - Cambridge:M.I.T. Press, 1963. - P. 90.

2. Морелос-Сарагосса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. / Р.Морелос-Сарагосса. - М.:Техносфера, 2005 - 320с.

3. Золотарев В.В., Овечкин Г.В. Обзор исследований и разработок методов помехоустойчивого

кодирования (по состоянию на 2005 год). URL:

http://www.mtdbest.ru/articles/obzor po kodir2.pdf.

4. D. Declercq, M. Fossorier, "Decoding Algorithms for Nonbinary LDPC Codes over GF(q)," IEEE Trans. on Commun., vol. 55(4), pp. 633-643, April 2007.

5. Bilal Shams. «Les codes LDPC non-binaire du nouvelle generation», Digital Solutions for Innovative IPs Team - STMicroelectronics Crolles. pp 52-53, 08-12-2010.

6. C. E. Shannon, "Probability of error for optimal codes in a Gaussian channel" Bell System Technical Journal, vol. 38, pp. 611-656, May 1959.

7. R. G. Gallager, «Low-Density Parity-Check Codes, «IRE Trans Info Theory, vol 8, no 1, pp 21-28, Jan 1962

8. Воробьев К.А. Методы построения и декодирования недвоичных низкоплотностных кодов // Теория и практика системного анализа. 2010. т. II. С. 96-102

9. L. Barnault and D. Declercq, "Fast Decoding Algorithm for LDPC over GF(2q)," The Proc. 2003 Inform. Theory Workshop, Paris, France, pp. 70-73, Mar. 2003.

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