Использование вынужденной конвергенции для снижения сложности ldpc-декодирования

УДК 621.3.049.77

Радиотехника и связь

ИСПОЛЬЗОВАНИЕ ВЫНУЖДЕННОЙ КОНВЕРГЕНЦИИ ДЛЯ СНИЖЕНИЯ СЛОЖНОСТИ LDPC-ДЕКОДИРОВАНИЯ

А.В. Башкиров, М.В. Хорошайлова

В этой статье представлена архитектура декодирования на основе кодов с низкой плотностью проверок на четность, в которой используется пороговое правило, чтобы решить, должен ли переменный узел LDPC-декодера обновить свою информацию в последующих итерациях процесса декодирования, или рассматриваться как сходимость (конвергенция). Показано, что при выборе этого порога соответствующим образом сложность декодирования может быть значительно снижена только с незначительным ухудшением характеристик коррекции ошибок. Здесь вводится метод «принудительного сближения» ^С), чтобы уменьшить количество активных узлов на итерацию, который в свою очередь, уменьшает общую сложность декодирования. Представлена новая архитектура LDPC-декодера, придуман подход "принудительной конвергенции". Говоря о понятии, что большое число узлов сходится очень быстро в процессе передачи сообщений, используем пороговое правило для идентификации узлов, которые уже имеют сильную "уверенность" в их вероятности нахождения в состоянии 0 или 1. Эти узлы отключены, и их соответствующие сообщения больше не обновляются, что приводит к снижению сложности декодирования. Полученные результаты показывают, что принудительная конвергенция является мощным средством уменьшения вычислительной сложности LDPC-декодирования

Ключевые слова: высокая пропускная способность, LDPC-декодер, низкая сложность, алгоритм передачи сообщения

Введение. Коды с низкой плотностью проверок на четность (ЬБРС) в последнее время используются как возможный вариант для прямого исправления ошибок ^ЕС) в будущих системах беспроводной связи. Одним из факторов, влияющих на решение о том, чтобы использовать специфическую FEC технику в системе, является ее пригодность для реальных систем времени и, следовательно, ее вычислительная сложность. В этой статье мы представляем архитектуру декодирования LDPC-кода, в котором мы используем пороговое правило, чтобы решить, должен ли переменный узел LDPC-декодера обновить свою информацию в последующих итерациях процесса декодирования или рассматриваться как узел сходимости. Показано, что при выборе этого порога соответствующим образом сложность декодирования может быть значительно снижена только с незначительным ухудшением характеристик коррекции ошибок.

Коды LDPC определены разреженной матрицей контроля по четности Н. Галлагера, рассматривающей только регулярные коды, т.е. коды с фиксированным числом ненулевых элементов в строках и столбцах Н соответственно. Тем не менее значительное улучшение битовых ошибок может быть достигнуто путем использования нерегулярных кодов [3]. Различные алгоритмы, используемые для декодирования LDPC (распространения доверия (BP), декодирование тш^ит и их различные вариации) итеративно приближают решения максимального правдоподобия проблемы декодирования, т.е. задач нахождения кодового слова с

Башкиров Алексей Викторович - ВГТУ, канд. техн. наук, доцент, тел. 8-952-543-99-88, e-mail: kipr@vorstu.ru Хорошайлова Марина Владимировна - ВГТУ, аспирант, тел. 8-920-415-15-65, e-mail: pmv2205@mail.ru

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

LDP-декодирование осуществляется путем передачи сообщений по ребрам между узлами двудольного графа Таннера, который представляет собой матрицу проверки на четность LDP-кода (рис. 1). Средняя сложность процесса декодирования, следовательно, зависит от трех факторов:

1) число операций на узел,

2) среднее число итераций, и

3) количество активных узлов в каждой итерации.

Рис. 1. Граф Таннера, представление длины блока 8, (3,6) регулярного LDPC-кода

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

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

Стандартное LDPC декодирование. Граф Таннера LDPC кода (рис. 1) содержит два типа узлов - переменные узлы представляющие биты кодового слова (обычно с левой стороны) и с контрольными узлами, представляющие ограничения, налагаемые путем проверки четности (обычно на правой стороне). Два типа узлов V! и с соединены, если ^ ^0, то есть бит кода 1 проверяется при _|-й проверке. Узлы на левой стороне представляют собой кодовые биты, узлы на правой стороне -проверочные ограничения. На протяжении всего процесса декодирования узлы обмениваются сообщениями и Я^ с соседними узлами по ребрам графа Таннера.

В начале процесса декодирования каждый переменный узел инициализируется с соответствую-

га

щим мягким выходом Ji от детектора канала, где

обозначает апостериорную вероятность, что

переменная 1 находится в состоянии а, обусловле-ном наблюдаемым выходом канала. Затем выполняется последовательное декодирование с передачей сообщения от одной стороны графа Таннера к другой.

В течение первой половины итерации каждый переменный узел v1 передает «доверие», что находится в состоянии а, учитывая входы от всех соседних контрольных узлов с -,, - * - (обозначим как

0>а-) к проверочному узлу с -. В течение второй половины итерации каждый проверочный узел с -посылает свою вероятность, что «удовлетворен» (обозначается как Ra- ), принимая во внимание

доверие Qa - всех других смежных переменных

узлов Уг, i * i к переменному узлу V Нетрудно убедиться, что для двоичного LDP-кода

+ й1, - = 1 и + Я1 - = 1. Отсюда вероятность

сообщений домена определяется следующим образом:

Я = 1 +1 2 2

П(1 - I Я, =1 - Я

о

йа- = k:J /а П яа»

у*-

где

К- =

используется для соответствующей нормализации.

Эти вычисления также можно определить для логарифмической области, преобразуя умножение и деление на сложение и вычитание, которые, как правило, желательны для осуществления целей (с

точки зрения циклов процессора, а также требуемой точности).

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

1_ОРС Мах. 10<1ес ЮРС. Мах 20 <3ес йаг.

-о- мах. 30с]ес ш.

ЮРС. мах 40 ¿ее ш

(,РРС. Мах 50аес

Е0УМ0ЮВ1

Рис. 2. Частота кадров ошибки со скоростью 1/2, длина блока 4000, (3,6) регулярным LDPC кодом на канале АБГШ. Производительность явно улучшается за счет увеличения числа максимальным числом итераций

Влияние максимального числа итераций на показатели ошибок представлены на рис. 2 для блока длиной 4000, (3,6) регулярного LDP-кода. Ограничение количества итераций (только 10) приводит к недопустимой производительности - практически никакие ошибки кадра не будут исправлены. С другой стороны, увеличение числа итераций более, чем 50 не дает значимой выгоды для выбранного режима. Поэтому будем ограничивать максимальное количество итераций на это значение на протяжении всей оценки.

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

вило используется для идентификации этих узлов. С этой целью определяем

FC decoding, No pushing. t=2 97 FC decoding, No pushing. 1=2 99 Standard LOPC decoding

в: =ХQaij, в: < N

ч

как «доверие» переменного узла находящегося в состоянии а. N - число соседних проверочных узлов V Обратите внимание, что В: = Nv - В]. Всякий раз, когда В: превышает определенный порог ^ то «отключаем» узел для следующих итераций, т.е. больше не обновляются сообщения, которые этот узел посылает в соседние узлы. На данный момент есть два различных варианта для отключения узла:

- можно просто взять текущие значения ,

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

- можно попытаться заставить процесс декодирования сходиться еще быстрее выбирая доверие в узлах в направлении 0 (или 1, соответственно). Это, очевидно, вводит искусственные шумы в процессе декодирования и, следовательно, можно ожидать, что приведет к повышению частоты появления ошибок.

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

вычислении при передаче сообщений.

Результаты моделирования. Оцениваем производительность алгоритма для (3,6) регулярного LDPC-кода (следовательно, N = 3 для всех переменных узлов) с размером блока 4000 битов, используя передачу BPSK (двоичная фазовая модуляция) по каналу с АБГШ. Для того, чтобы оценить сложность декодирования различных методов декодера, определяем относительную сложность фактор 0D как:

©п =

= N" £ Pr(N > i),

N D

где NB - число переменных узлов, NAi - число активных узлов на шаге i итерации и Pr (N > i) -вероятность достижения шага итерации i. 0D = 1 является, следовательно, сложностью одного шага итерации, где все переменные узлы активны и, очевидно, является функцией от SNR (англ. signal-to-noise ratio, отношение сигнал/шум).

ЕЛ[ЧВ]

Рис. 3. Производительность кадра ошибки вынужденной конвергенции LDPC декодирования без «нажатия» доверия по сравнению со стандартным LDPC декодированием

На рис. 3 показана производительность кадра ошибки вынужденной конвергенции LDPC декодирования без «нажатия» доверия в зависимости от отношения сигнал/шум и выбранного порога 1 Используется (3,6) регулярный LDPC код, размер блока 4000 бит и передача BPSK по каналу АБГШ. Производительность погрешности обоих алгоритмов одинакова. Видим, что до тех пор, пока не вносятся искусственные шумы путем нажатия доверия в узлах, производительность ошибки не ухудшается.

е- FC decoding. No pushing, t = 2 97 FC decoding. No pushing. I = 2 99 -*- FC decoding. No pushing. I  2 999  - Standard LOPC decoding_

Итерация

Рис. 4. Сложность вынужденной конвергенции ЫЭРС декодирования без нажатия доверия по сравнению со стандартным LDPC декодированием (пунктирная кривая), с точки зрения среднего соотношения активных узлов в зависимости от количества итераций i

На рис. 4 показано, как сложность уменьшается с помощью вынужденной конвергенции в интересующем режиме при SNR = 1,8 дБ. Среднее количество активных узлов распадается очень быстро, как t уменьшается. Тем не менее кривые FC все сходятся на 15 итерациях, что является явным показателем того, что среднее число итераций не зависит от 1

Рис. 5. Ошибка производительности вынужденной конвергенции LDPC-декодирования с использованием нажатия доверия, и стандартное LDPC-декодирование (пунктирная кривая) для длины блока 4000 бит (3,6) регулярного LDPC-кода, и передачи BPSK по каналу АБГШ

На рис. 5 показана ошибка производительности вынужденной конвергенции LDPC декодирования с использованием нажатия доверия. Для очень низких значений ^ таких как t = 2,9, производительность становится неприемлемой, в то время как при t = 2,999, ухудшение производительности незначительно - потеря только 0.025 дБ относительно использования стандартного LDPC декодирования. Для промежуточных значений t = 2,97, t = 2,99 потери в производительности ошибок по-прежнему приемлемы на уровне 1,8 дБ, и сравнительно высокая частота ошибок кадров 10-2. Тем не менее процент ошибок начинается на этом уровне, и можем ожидать значительные потери SNR для низких частот целевых ошибок.

LDPC-декодирования с использованием нажатия доверия

по сравнению со стандартным LDPC-декодированием (пунктирная кривая), с точки зрения среднего соотношения активных узлов в зависимости от количества итераций 1

Улучшение снижения сложности FC в сочетании с нажатием доверия в узлах показано на рис. 6 для = 1,8 дБ. При больших значениях t результаты практически идентичны случаю без нажатия доверия. Тем не менее видим, что при t = 2,97

сложность для большего числа итераций уменьшается быстрее. Среднее число итераций немного снижается (от 11,5 до 10,9), эта тенденция, которая продолжается по мере понижения t (в среднем 9 итераций при t = 2,9). В настоящее время исследуем, как может быть дополнительно снижен порог без уменьшения возможности коррекции ошибок до неприемлемой степени. Число активных узлов распадается очень быстро, как t уменьшается. При малых значениях [, среднее число итераций декодера уменьшается.

Получив необходимые статистические данные по среднему количеству активных узлов, теперь можем перейти к вычислению средней сложности различных реализаций декодера, в интересующем режиме при = 1,8 дБ. Определяя ©о, ожидаемое снижение сложности теперь можно легко вычислить:

Порог ©В,Р Снижение сложности Снижение сложности

- 12.5 - 12.5 -

2.999 8.4 33 % 8.6 31 %

2.99 5.7 54 % 6.2 50 %

2.97 4.1 67 % 4.9 61 %

Здесь ©др обозначает среднюю сложность, когда допускаем нажатие доверия, в то время как ©Ь,от является сложностью, когда только фиксируем доверие в узлах. Видим, что даже при сравнительно больших значениях ^ сложность декодера может быть значительно снижена. В частности, можем добиться снижения сложности на 61%, сохраняя при этом первоначальную производительность ошибки, если выберем t = 2,97 и не используя нажатия доверия. Глядя на небольшие различия в снижении сложности между двумя представленными вариантами, а также с учетом ухудшения производительности при использовании нажатия доверия, необходимо рассмотреть вопрос об использовании только простой вынужденной конвергенции LDPC декодера, то есть, только отключив переменные узлы и сохраняя свои первоначальные значения для .

Заключение. Представлена новая архитектура LDPC декодера, придуман подход «принудительной конвергенции». Говоря о понятии, что большое число узлов сходится очень быстро в процессе передачи сообщений, используем пороговое правило для идентификации узлов, которые уже имеют сильную "уверенность" в их вероятности нахождения в состоянии 0 или 1. Эти узлы отключены, и их соответствующие сообщения больше не обновляются - что приводит к снижению сложности декодирования. Полученные результаты показывают, что принудительная конвергенции является мощным средством уменьшения вычислительной сложности LDPC декодирования.

Показано, что при соответствующем выборе порога, характеристики ошибок могут быть сохра-

нены и сложность будет снижена до 60% для блока длиной 4000, (3,6) регулярного LDP-кода, при SNR = 1,8 дБ. Кроме того, заставляя доверие дезактивированных узлов 0 или 1, кажется, не будет жизнеспособным вариантом, так как вводится искусственный шум, таким образом, значительно снижает возможности коррекции ошибок декодера, и несущественно дополнительное снижение сложности.

Литература

1. Gallager, R.G. (1962):Low density parity check codes,IRE Trans.Info.Theory, Vol. IT-8,pp.21-28.

2. Gallager, R.G. (1963):Low-Density Parity-Check codes,MIT press,Cambridge,MA.

3. Davey, M;Mackay, D. (1998):Low-density parity-check codes over GF(q),IEEE communication letter., vol.2, no.1, pp. 165-167,January.

Воронежский государственный технический университет

USE FORCED TO REDUCE THE CONVERGENCE COMPLEXITY LDPC DECODING

A.V. Bashkirov, Ph.D., assistant professor of design and manufacture of radio, Voronezh State Technical University, Voronezh, Russian Federation, e-mail: kipr@vorstu.ru

M.V. Horoshaylova, postgraduate of design and manufacture of radio, Voronezh State Technical University, Voronezh, Russian Federation, pmv2205@mail.ru

In this article, we show the architecture of the decoding on the basis of codes with low-density parity-check that utilizes threshold rule to decide whether the variable node LDPC decoder to update its information in subsequent iterations of the decoding process, or be regarded as convergent-superconductivity (convergence). It is shown that when choosing the threshold accordingly, decoding complexity can be significantly reduced with only a slight deterioration of correction performance oshi-side. There is introduced a method of "Forced convergence» (FC), to reduce the number of active sites per iteration, which in turn, reduces the overall complexity of decoding. A new architecture of LDPC decoder, coined approach "forced convergence". Talking about the concept that a large number of nodes converges very quickly during the transmission of messages using the threshold rule for the identification of sites that already have a strong "confidence" in their probability of being in state 0 or 1. These nodes are disabled and their corresponding messages are no longer updated - which reduces the complexity of decoding. The results show that the forced convergence is a powerful tool for reducing the computational complexity of LDPC decoding

Key words: high throughput, the LDPC decoder, low-complexity algorithm for message transmission

References

1. Gallager, R.G. (1962):Low density parity check codes,IRE Trans.Info.Theory, Vol. IT-8,pp.21-28.

2. Gallager, R.G. (1963):Low-Density Parity-Check codes, MIT press, Cambridge, MA.

3. Davey, M;Mackay, D. (1998):Low-density parity-check codes over GF(q),IEEE communication letter., vol.2, no.1, pp. 165-167,January.

4. Mackay, D.J;Neal, R. (1996):Near Shannon-Linit performance of low density parity-check codes,"vol. 32,pp. 1645-1646.

5. Bashkirov A. V. Model macshtabiruemogo LDPC - decoder nizkoy mochnosti s ispolzovaniem algo-ritmicheskogo sinteza vusokogo yrovnj [Model Low power LDPC-scalable decoder using the high-level algorithmic synthesis] Voronezh, VSTU 2016. 65-69 pp.

6. Bashkirov A. V. Realizachij LDPC - decoder na massivno-parallelnix vichislitelnix ystroystvah [Implementation of the LDPC-decoder on the massively parallel computing devices] Voronezh, VSTU 2015. 9799 pp.

4. Mackay, D.J;Neal, R. (1996):Near Shannon-Linit performance of low density parity-check codes,"vol. 32,pp. 1645-1646.

5. Башкиров, А.В. Модель масштабируемого LDPC-декодера низкой мощности с использованием алгоритмического синтеза высокого уровня [Текст] / А.В. Башкиров, Л.Н. Коротков, М.В. Хорошайлова // Вестник Воронежского государственного технического университета. - 2016. - Т. 12. - № 1. - С. 65-69.

6. Башкиров, А.В. Реализация LDPC-декодера на массивно-параллельных вычислительных устройствах [Текст] / А.В. Башкиров, А..Ю. Савинков, М.В. Хоро-шайлова // Вестник Воронежского государственного технического университета. - 2015. - Т. 11.- № 6. - С. 97-99.