Реализации LDPC-декодера низкой сложности с использованием алгоритма min-sum

УДК 621.3.049.77

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

АЛГОРИТМА MIN-SUM

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

Эта статья представляет собой ресурсоэффективную архитектуру декодера на основе низкоплотностных кодов. Алгоритм, используемый для LDPC-декодирования, является min-sum алгоритмом. Декодер уменьшает сложность внутренних соединений путем ограничения внешней длины сообщения на 2 бита, а также упрощает работу проверочного узла. Проведено моделирование алгоритма и полученные результаты показывают, что производительность лучше, чем у других алгоритмов. Этот алгоритм может быть введен в частично параллельные архитектуры аппаратных средств, чтобы получить значительную экономию в аппаратных ресурсах при реализации в ПЛИС. Алгоритмы были смоделированы с использованием MATLAB и приведено сравнение BER производительности различных алгоритмов. Модифицированный алгоритм min-sum (MMS) обеспечивает более высокую производительность, а также может обеспечить значительное снижение аппаратных ресурсов при реализации. Были изучены различные типы аппаратной архитектуры. Общее время декодирования может быть уменьшено путем более быстрой сходимости алгоритма декодирования и простых вычислений. Полностью параллельная архитектура требует большого количества аппаратных ресурсов по сравнению с частично параллельной аппаратной архитектурой. MMS алгоритм при реализации в частично параллельной аппаратной архитектуре требует значительно меньших аппаратных средств для реализации

Ключевые слова: итеративное декодирование, LDPC-декодер, min-sum алгоритм, аппаратная архитектура, ПЛИС реализация

Введение. Матрица проверки на четность LDPC кода может быть представлена либо в виде матрицы, либо с помощью графе Таннера. Два набора узлов в графе Таннера называются контрольными узлами и переменными узлами. Проверочные узлы представляют строки матрицы и переменные узлы представляют собой столбцы матрицы. Матрица проверки на четность и соответствующий граф Таннера показаны на рис.1.

Проверочный узел а подключен к переменному узлу b тогда и только тогда, если Hab=1. Проверочные узлы f0.. .f5 представляют шесть строк матрицы, тогда, как v0...vn являются столбцами. Число ребер в каждом проверочном узле равно весу столба. Веса строк и столбцов являются четыре и два, соответственно, в этом примере. Цикл в матрице контроля по четности формируется путем через '1' записи с чередованием, перемещается между строками и столбцами. В графе Таннера цикл формирует путь, начинающийся от узла и заканчивается в том же узле. Длина цикла определяется как число ребер в пути. Самый маленький цикл на графе Таннера или матрицы контроля по четности называется его обхватом. Минимально возможный обхват - четыре. Двудольный граф имеет минимальный цикл длины четыре и даже продолжительность цикла.

Код LDPC называется регулярным, если каждая строка и каждый столбец имеют одинаковое

Башкиров Алексей Викторович - ВГТУ, канд. техн. наук, доцент, тел. 8-952-543-99-88, e-mail: kipr@vorstu.ru Хорошайлова Марина Владимировна - ВГТУ, аспирант, тел. 8-920-415-15-65, e-mail: pmv2205@mail.ru Борисов Василий Иванович - АО «Концерн «Созвездие», д-р техн. наук, научный руководитель, тел. 8(473)252-12-13, e-mail: bvi@sozvezdie.su

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

Н -

1 ! ] 1 0 Ü 0 0 0 0 0 0

0 0 Ü 0 1 0 1 1 1 0 0 0

1 0 0 1 ] 1) 0 0 1 0 0

0 I 0 0 о ] 1 0 0 ] 1)

0 0 ! 1) 0 0 0 1 0 1 0 ]

« 0 0 1 0 0 и 0 1 0 1 ]

ш  п (1 п f4 F5

СП С1 С2 СЗ С4 С5САС7СЙ С9С10СП

Рис. 1. Матрица контроля по четности и ее представление в виде графа Таннера

Построение LDPC кодов. Существует два пути построения LDPC кодов: Галлагера и Макея.

Галлагер коды - регулярные коды LDPC с Н-матрицей вида

Ну

Н

Н

Каждая субматрица Hd - ^ х ^wr с весом строки wr и весом столбца 1. ^ и wr - целые числа. Для i = 1, 2, ... ц, i-ая строка содержит все свои wr 1 в столбцах (i-1) wr+1 к wr для Ну.

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

Динамика и сложность. Производительность LDPC кодов лучше только для больших длин блоков. Большие длины блоков приводят к большой матрице контроля по четности и порождающей матрице. Редкую матрицу контроля по четности можно представить в виде [PTI] через исключения Гаусса. Из этого порождающая матрица может быть вычислена как G = [I P]. Матрица Р не разрежена и, следовательно, сложность кодирования будет высокой. Так сложности строк с увеличением длины блока. Для уменьшения сложности используются итерационные алгоритмы декодирования.

Декодирование LDPC кодов. Наиболее распространенный способ для декодирования LDPC-кодов является алгоритм распространения доверия. Он также называется алгоритмом передачи сообщений или алгоритмом суммы продукта (SPA).

Учитывая передаваемое слово с={с0,С1,...,сп-1} и принимаемое слово v={v0,vi,...,vn-i} необходимо вычислить логарифмическое отношение правдоподобия (LLR) принятого символа. LLR определяется формулой (1).

L(v,) = log

Pr

Если сигнал считается антиподальным и канал АБГШ, LLR для принятого символа канала задается формулой

L(v) = 2 y U

Здесь у1 - принятый символ и с - напряжение шума. Эти сообщения передаются проверочными узлами становятся L(q1J) от переменного узла 1 к проверочному узлу знак и величина L(q1J) есть ац и Ру соответственно.

На проверочных узлах эти сообщения обрабатываются и получается сообщение от проверочного узла к переменному узлу дается формулой (3).

) =

П a,

i'eVj \i

ф( x) _ log

!ф

( ex +1 ^

X 1

v e -1 У

Сообщение L(riJ) не зависит от сообщения, которое пришло из i-ого проверочного узла.

Переменный узел обрабатывает сообщение, полученное в соответствии с заданным уравнением

4?У Ь l

j'eC, \ j

Выше приведенное уравнение показывает, что сообщение из переменного узла к проверочному узлу является простым суммированием сообщений, приходящих из всех узлов, кроме проверочного узла j. Обработка сообщений обоими проверочным узлом и переменным узлом процессором эквивалентно одной итерации SPA.

После некоторого определенного количества итераций символы декодируются путем сравнения L(Qj) с порогом.

L

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

C _ (1 если(ЬQ < 0) 0 иначе

Алгоритм min-sum. Алгоритм Min-Sum (MSA) является модифицированной версией алгоритма Sum-продукта (SPA). Здесь операция проверочного узла упрощается, чтобы уменьшить сложность алгоритма. В MSA, квантованное внутреннее сообщение, также известное как логарифмического отношение правдоподобия (LLR) и внешнее сообщение (между переменными и проверочными узлами) равны по длине. Следовательно, сложность аппаратной реализации увеличивается по мере увеличения длины квантованных сообщений. Уравнение обновление проверочного узла задается

L(j) _

П

min В.,

i'eVj \i '

Квантование канала данных. Так как декодер не может работать на реальных значениях, необходимо квантовать их и квантованные значения импортируются в декодер.

На эффективность алгоритма влияет квантование мягких входных сообщений. Чем выше уровень квантования, тем выше будет требование аппаратных ресурсов. Когда уменьшаем уровень квантования, что приводит к снижению производительности BER. Квантование мягких входных сообщений влияет на производительность алгоритма т1п^ит. Квантование данных канала при LDPC

v ieVj \i У

i eV; \i

2

декодировании представлено на блок-схеме, показанной на рис. 2.

L

Квантова-  LLR шш LDPC

тель К БЫЧИСЛИ- Щ тель ш декодер

Рис. 2. Блок-диаграмма системы

Модифицированный алгоритм mш-sum (MMS). MMS алгоритм использует более высокие точность LLR сообщений и более низкую точность (2-разрядная версия) внешних сообщений. Операции проверочного узла и переменного узла алгоритма ММБ являются следующие:

1) Работа переменного узла. Этот алгоритм практически аналогичен алгоритму т1п^ит. Единственное отличие состоит в том, что переменный узел выполняет более высокую точность операций квантуется LLR и отображает результат на 2-битового сообщения. 2-битовое сообщение передается к контрольному узлу для последующей обработки. Операция переменного узла задается формулой (9).

V _ g

LLRn +Z f

где n=1, 2, ..., N

g(y)_

01 y > Tm 00 0 < y < Tm

10 0 > X >-Tm

11 X <-T

f (x)_

+ W x _ 01 + w x _ 00

- w x _ 10

- W x _ 11

где Tm - это порог для отображения, W является верхней целочисленной константой, а w нижней целочисленной константой.

2) Работа проверочного узла. В этом шаге XOR операция (Mk) используется, чтобы найти произведение знака входящих сообщений. Операция AND (Sk) используется для определения минимумов. Выходное сообщение (Ск) получается за счет объединения бит знака и бит величины.

Sk _ V

Mk _ V

Ck_{SkMk}

Сравнение производительности алгоритмов. Программная модель для алгоритмов SPA, min-sum (MSA) и модифицированного min-sum алгоритма (MMS) была создана и производительность BER каждого алгоритма строится с использованием MATLAB. Алгоритм прогрессивного роста ребер (PEG) используется для генерации LDPC ко-

дов. Коды были модулированы с использованием двоичной фазовой манипуляции (BPSK). Канал, используемый для передачи, является аддитивным белым гауссовым шумом (АБГШ). Расчеты были выполнены для 1200 длины битного кода при максимальной итерации 10. Рис.3 показывает сравнение производительности BER всех трех алгоритмов. Как видно из графика, что производительность алгоритма MMS лучше, чем MSA, но меньше, чем SPA. Сложность реализации алгоритма MMS намного меньше. Таким образом, это дает лучшую производительность, чем MSA и более низкую сложность аппаратной реализации, чем SPA.

BER Performance comparison

Ж

Рис. 3. Сравнение производительности алгоритмов декодирования

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

Полностью параллельные архитектуры напоминают граф Таннера матрицы контроля четности. Каждый узел графа Таннера отображается на узел обработки (проверочный узел и переменный узел) вместе со всеми соединениями, которые необходимы для передачи сообщений между ними. Узлы контрольные и переменные обрабатываются параллельно, и, таким образом, каждая итерация декодирования может быть сделана всего за один тактовый цикл. Преимущество полностью параллельной архитектуры является высокая пропускная способность, и она не нуждается в памяти для хранения промежуточных результатов. Полностью параллельная архитектура также является энергоэффективной. Проблема полностью параллельной конструкции является сложность, вызванная большим количеством длинных глобальных проводов между контрольными и переменными узлами. Он также требует большой площади контура. Полностью параллельная архитектура декодера показана на рис. 4.

В частично параллельной архитектуре, подмножество переменных узлов и проверочных узлов реализовано в виде аппаратных средств, а также

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

Рис. 4. Архитектура полностью параллельного LDPC-декодера

Большинство LDPC кодов, принятых в последних стандартах относятся к квазициклическая классу кодов. Матрицы проверки четности этих кодов блок-структурированы, что делает их пригодными для частично параллельных реализаций. Матрица контроля по четности для этого класса кодов строится меньшими суб матрицами; каждая представляет собой либо суб матрицу со всеми нулями или перестановочную единичную матрицу. Частично параллельная архитектура декодера показана на рис. 5.

Рис. 5. Архитектура частично параллельного LDPC-декодера

Аппаратная реализация. Есть ряд вопросов, которые необходимо учитывать при проектировании аппаратной архитектуры для LDPC-декодера. В частично параллельной аппаратной архитектуре

большой объем памяти требуется для хранения промежуточных результатов. Несколько методов было предложено для уменьшения памяти декодера. Большинство методов используют MPA алгоритм или его приближения. Алгоритм min-sum снижает сложность за счет упрощения обновления проверки узла.

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

Заключение. В данной работе представлены различные алгоритмы для декодирования LDPC кодов. Алгоритмы были смоделированы с использованием MATLAB и приведено сравнение BER производительности различных алгоритмов. Алгоритм MMS обеспечивает более высокую производительность, а также может обеспечить значительное снижение аппаратных ресурсов при реализации. Были изучены различные типы аппаратной архитектуре. MMS алгоритм при реализации в частично параллельной аппаратной архитектуре требует значительно меньших аппаратных средств для реализации.

Литература

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

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

Воронежский государственный технический университет АО «Концерн «Созвездие», г. Воронеж

IMPLEMENTATION A LDPC DECODER OF LOW COMPLEXITY USING

AN ALGORITHM MIN-SUM

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

V.I. Borisov, Doctor of Technical Sciences, scientific adviser JSC Concern «Sozvezdie», Voronezh, Russian Federation, e-mail: bvi@sozvezdie.su

This article is a resource-efficient decoder architecture based on low density codes. The algorithm used for the LDPC decoding algorithm is the min-sum. Decoder reduces complexity by limiting the internal connection posts on the outer circumference of 2 bits, and simplifies node checks. The simulation algorithm and the results show that the performance is better than the other algorithms. This algorithm can be introduced in a partially parallel architecture hardware to obtain significant savings in the hardware resources when implemented in a FPGA. The algorithms were simulated using MATLAB and compares BER performance of different algorithms. The modified algorithm min-sum (MMS) provides better performance, and can provide a significant reduction in the hardware resources in implementation. various types of hardware architectures have been studied. The total decoding time can be reduced by a more rapid convergence of the decoding algorithm and simple calculations. The fully parallel architecture requires a large amount of hardware resources, compared with a partially parallel architecture hardware. MMS algorithm when implemented in a partially parallel architecture hardware requires much less hardware for implementation

Key words: iterative decoding, the LDPC decoder, min-sum algorithm, hardware architecture, FPGA implementation

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.