Научная статья на тему 'Использование стохастического вычисления для реализации недвоичного LDPC-декодера на ПЛИС'

Использование стохастического вычисления для реализации недвоичного LDPC-декодера на ПЛИС Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
249
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕДВОИЧНЫЙ LDPC КОДЫ / СТОХАСТИЧЕСКОЕ ВЫЧИСЛЕНИЕ / АРХИТЕКТУРА ДЕКОДЕРА / ПРОВЕРОЧНЫЕ И ПЕРЕМЕННЫЕ УЗЛЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Башкиров А. В., Хорошайлова М. В., Белецкая С. Ю.

В данной статье представлена модель эффективной аппаратной архитектуры для декодера, построенного на недвоичных блоковых кодах с низкой плотностью проверок на четность на основе стохастического вычисления. Разработанная архитектура ориентирована на устройства Xilinx Virtex и отчеты синтеза сведены в таблицу. Разработанная архитектура включает в свой состав три основных блока: недвоичный поток, переходящий в генератор стохастических чисел (преобразователь из недвоичного в стохастическое представление), декодирование алгоритмических модулей, а именно блок контрольных узлов и блок проверочных узлов, и обратное преобразование стохастического потока к соответствующему недвоичному числу. Разработанные блоки интегрированы в качестве верхнего модуля. Верхний модуль синтезируется, ориентирован на Xilinx Vertex и его метрики сведены в таблицу, произведен анализ мощности. Сделаны выводы о возможной дальнейшей оптимизации для модифицированной недвоичной архитектуры с использованием стохастического вычисления, и данная оптимизация также может быть использована для более высоких порядков поля Галуа с анализом различных параметров. Приведено моделирование в виде графиков зависимостей мощности, используемой различными логическими элементами в архитектуре, и зависимости температуры кристалла от мощности

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

USING STOCHASTIC CALCULATIONS FOR IMPLEMENTATION NON-BINARY LDPC DECODER FPGA

This article presents a model of efficient hardware architecture for the decoder, built on non-binary block codes, low density parity check based on stochastic calculations. The developed architecture is focused on Xilinx Virtex devices and synthesis reports are summarized in the table. Once-worked architecture includes in its membership three main blocks: non-binary stream turns into a generator of stochastic numbers (converter of non-binary in stochastic representation), decoding al-algorithmically modules, namely a block control nodes and block check nodes, and the inverse transformation of the stochastic stream to the corresponding non-binary number. Designed as blocks integrated upper module. The top module is synthesized, it is focused on Xilinx Vertex and its metrics are summarized in the table, and produced power analysis. Conclusions about possible further optimization of the modified non-binary architecture using stochastic computing, and this optimization can also be used for higher-order Galois field with the analysis of the different parameters. Powered by modeling in a power dependency graphs used different logic elements in the architecture and the temperature dependence of the crystal of power

Текст научной работы на тему «Использование стохастического вычисления для реализации недвоичного LDPC-декодера на ПЛИС»

УДК 621.3.049.77

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

ИСПОЛЬЗОВАНИЕ СТОХАСТИЧЕСКОГО ВЫЧИСЛЕНИЯ ДЛЯ РЕАЛИЗАЦИИ НЕДВОИЧНОГО LDPC-ДЕКОДЕРА на плис

А.В. Башкиров, М.В. Хорошайлова, С.Ю. Белецкая

В данной статье представлена модель эффективной аппаратной архитектуры для декодера, построенного на недвоичных блоковых кодах с низкой плотностью проверок на четность на основе стохастического вычисления. Разработанная архитектура ориентирована на устройства Xilinx Virtex и отчеты синтеза сведены в таблицу. Разработанная архитектура включает в свой состав три основных блока: недвоичный поток, переходящий в генератор стохастических чисел (преобразователь из недвоичного в стохастическое представление), декодирование алгоритмических модулей, а именно блок контрольных узлов и блок проверочных узлов, и обратное преобразование стохастического потока к соответствующему недвоичному числу. Разработанные блоки интегрированы в качестве верхнего модуля. Верхний модуль синтезируется, ориентирован на Xilinx Vertex и его метрики сведены в таблицу, произведен анализ мощности. Сделаны выводы о возможной дальнейшей оптимизации для модифицированной недвоичной архитектуры с использованием стохастического вычисления, и данная оптимизация также может быть использована для более высоких порядков поля Галуа с анализом различных параметров. Приведено моделирование в виде графиков зависимостей мощности, используемой различными логическими элементами в архитектуре, и зависимости температуры кристалла от мощности

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

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

Коды низкой плотности проверки на четность (LDPC) стали одними из наиболее привлекательных кодов коррекции ошибок из-за их отличной производительности [1] и используются в приложениях с высокой скоростью передачи данных. С точки зрения производительности, двоичные коды LDPC начинают показывать свои слабые стороны, когда длина кодового слова мала или умеренная, или используется для передачи при модуляции более высокого порядка. Для этих случаев недвоичные LDPC (NB-LDPC) коды, разработанные с использованием полей Галуа высокого порядка показали большой потенциал. LDPC-коды могут быть итеративно декодированы с использованием из-

Башкиров Алексей Викторович - ВГТУ, канд. техн. наук, доцент, тел. 8-952-543-99-88, e-mail: [email protected] Хорошайлова Марина Владимировна - ВГТУ, аспирант, тел. 8-920-415-15-65, e-mail: [email protected] Белецкая Светлана Юрьевна - ВГТУ, д-р техн. наук, профессор, тел. 8 (473)243-77-06, e-mail: [email protected]

вестного алгоритма SPA или его приближений, алгоритма min-sum (MSA). SPA является алгоритмом передачи сообщений, в котором два типа узлов обработки, известные как переменные узлы (VNs) и проверочные узлы (CNs) итерационно обмениваются сообщениями и вероятностями правильности символов, принятых из канала. Стохастическое декодирование [2] является недавно предложенным подходом к помехоустойчивым кодам низкой сложностью итеративного декодирования. Стохастические результаты представления простой структуры аппаратных средств для VNs и CNs. Что еще более важно, из-за его последовательно двоичной природы стохастическое представление значительно уменьшает количество соединений между VNs и CNs, что приводит к снижению сложности межсоединений архитектуры.

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

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

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

Защелкивание. Когда передаваемые символы в узле коррелируют, то можно сделает это и для группы узлов, чтобы быть в состоянии покоя. Это состояние поддерживается только сообщением в пределах цикла. Ни одна модель независимых сообщений не является достаточным для восстановления цикла для правильной работы. Это явление называется запорное.

NB-LDPC-декодер. Производительность стохастического декодирования имеет сравнимую производительность для различных значений SNR в отношении алгоритма декодирования SP (SPA). Проблема защелкивания описывается для стохастического декодирования. Этот метод имеет значительный потенциал для высокой пропускной способности или низкой сложности итеративного декодирования.

Для каждой итерации i, должны быть выполнены следующие шаги:

Инициализация. Для каждого m и n иниции-

0 a (0) г a

шп к Jn , т.е.

ö*0) = fa = ^m ga

^ mn J n J^ J^j= о п^ >

где ai - i-й бит двоичного представления a. Обновление проверочного узла:

Ra(i) = у P(z = 0|c) Пq"(i)

mn v m l ' J^ J^ J mn

c:cn = x n'eN (m)\n

декодирования однако EMs занимает значительную площадь кремния при реализации в СБИС.

Вносимые изменения. Архитектура недвоичного LDPC-декодера изменяется в процессе преобразования. Начальный блок является недвоичным стохастическим преобразователем. Ввод недвоичных GF(4) данных сначала преобразуется в стохастический поток недвоичных символов. Следующий модуль декодирования состоит из блока проверочных узлов (СЫЦ) и группы переменных узлов СУЫЦ), где происходит процесс декодирования и, наконец, стохастический поток преобразуется в недвоичные данные.

Блоки преобразования. Преобразование от недвоичного числа к стохастическому числу является преобразованием, которое преобразует недвоичное число в стохастическом потоке символов. Для примера конечное поле для GF (4) работает над {0, 1, 2, 3}, соответственно. Генератор случайных чисел генерирует число случайным образом для каждого цикла синхронизации, для генерации случайных чисел линейного обратного сдвигового регистра (LFSR), который используется. LFSR представляет собой регистр сдвига, входом которого является линейная функция текущего состояния, зависящей от предыдущего состояния. В основном используется линейная функция одного бита XOR, таким образом, как правило, он представляет собой регистр сдвига, вход которого приводится в движение XOR некоторыми битами по всем значениям регистра сдвига. Различные применения LFSR счетчики, шифрование, сжатие, и генерации псевдослучайных битовых последовательностей.

Обновление переменного узла: Обновление для каждого т и п

а") = а Г ПRaП

1 тп тп п ^ ^ т п

т'еМ ( п)

Предварительное декодирование: Для каждого п, сделать предварительное декодирование

qa(i) = a fа ПR"(

-in nJn J^ J^ mi

m'eM (n)

max

' = arg * qa

Если Н' x , декодирование завершается. В противном случае, повторяем итерационный процесс до тех пор, как декодирование не будет успешным или по достижении фиксированного максимального количества итерации.

Краевая память (от англ. Edge Memorie, EMs) является конечной глубиной буферов, вставленные между переменными и контрольными узлами. Выход, полученный из переменного узла принимается, когда ограничения равенства удовлетворяются, в противном случае символ случайным образом выбирается из сохраненного восстановленного символа. Этот метод имеет хорошую производительность

Входной символ

Вычислительный блок Декодирование олова

Преобразователь из недвоичного в стохастическое

L LFSR J

Преобразователь га с-оис-ичного в двоичный

Счетчик

а

Рис. 1. Блок-схема для NB-LDPC-декодера с использованием стохастического вычисления

Блоки декодера. Блок проверочного узла (СЫЦ) в недвоичных LDPC выполняет операцию сложения. Так как эквивалентное представление операции сложения в стохастической вычисление на вентилях XOR. Поток недвоичных символов задается в качестве входных данных для СЫи, в котором делается добавление и хранится в триггере.

Рс = Ра I1 - Рь )+ Рь I1 - Ра )

Рис. 2. Блок проверочного узла

Операция умножения происходит в блоке переменного узла (VN). Блок переменного узла недвоичного LDPC-декодера состоит из блока памяти и вентилей, таких как AND и XNOR соответственно.

Рис. 3. Блок переменного узла

Случайный адрес задается в памяти в зависимости от того, какие данные извлекаются из ячейки памяти. Это блок образуют переменный узел в недвоичной архитектуре.

Использование устройства и анализ мощности. Верхний модуль для NB LDPC-декодера GF (4) 504 бит смоделирован и синтезирован в Vertex семейства Xilinx с использованием Xilinx ISE инструмента. Отчет представлен в табл. 1.

Таблица 1

Область NB LDPC-декодера GF (4) 504

Используемая логика Исполь- До-

зуемая ступ-ная

Количество регистров среза 4 301440

Число ШТ-х 5 150720

Количество связанных ЮBs 177 400

Количество ВОТ О/ВОТО 2 32

CTRLS

Количество занятых частей 4 37,680

Мощность рассчитана на синтезированном NB-LDPC-декодере конечного поля GF (4) с длиной кода 504 с использованием ХШпх, техническое описание представлено в табл. 2. На рис. 4 показан график для различных логик, используемых в проектируемой архитектуре и рис. 5 показывает график зависимости мощности от температуры перехода.

Таблица 2

Краткое описание анализа мощности для NB LDPC-декодера GF (4) 504_

Итого по мощности микросхемы 2,729 Вт

температура перехода 28,1 °С

Тепловой запас 71,9° 62,2 Вт

U ' 1.0' * j m л г Г 04 2 0 2' 1. 1.1

V р t

Рис. 4. Мощность, используемая различными логиками в архитектуре

Общая мощность Статическая мощность

10 25 40 56 70 85 IX

Температура кристалла С О

Рис. 5. Темперетура кристалла по сравнению с мощностью

Заключение. Стохастическое вычисление моделируется на основе архитектуры недвоичного LDPC-декодера. Разработанная архитектура включает в себя недвоичный поток, переходящий в генератор стохастических чисел, декодирование алгоритмических модулей, а именно CNU и VNU, а обратное преобразование стохастического потока к соответствующему недвоичному числу. Разработанные блоки интегрированы в качестве верхнего модуля. Верхний модуль синтезируется, ориентирован на Xilinx Vertex и его метрики сведены в таблицу и произведен ее анализ мощности. Может быть сделана оптимизация для модифицированной недвоичной архитектуры с использованием стохастического вычисления, и оно также может быть

распространен на более высокие порядки поля Га-луа с анализом различных параметров.

Литература

1. D. E. Hocevar, «A reduced complexity decoder architecture via layered decoding of LDPC codes,» in IEEE Workshop Signal Process. 2004.

2. J. Huang, S. Zhou, and P. Willett, "Nonbinary LDPC coding for multicarrier underwater acoustic communication," IEEE J. Sel. Areas Commun., 2008.

3. V. Savin, "Min-Max decoding for non binary LDPC codes," in Proc. (IEEE) International Symposium on Information Theory, Toronto, Canada, 2008.

4. Ali Nandrei, Shie Mannor, Mohamad Sawan Warren J.Gross 2011."Relaxed stochastic decoder of LDPC codes" IEEE transaction on signal processing vol 59 pp5617-5626.

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

5. Башкиров, А.В. Полностью параллельный недвоичный LDPC-декодер с динамическим изменением частоты стробирования [Текст] / А.В. Башкиров, А.В. Муратов, М.В. Хорошайлова // Вестник Воронежского государственного технического университета. - 2016. - Т. 12. - № 4. - С. 48-53.

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

7. Низкоплотностные коды малой мощности декодирования [Текст] / А.В. Башкиров, А.В. Муратов, М.В. Хорошайлова, А.В. Ситнтков, С.А. Ермаков // Радиотехника. - 2016. - №5. - С. 32-37.

USING STOCHASTIC CALCULATIONS FOR IMPLEMENTATION NON-BINARY LDPC

DECODER FPGA

A.V. Bashkirov, Ph.D., assistant professor of design and manufacture of radio, Voronezh State Technical University, Voronezh, Russian Federation, e-mail: [email protected]

M.V. Horoshaylova, Postgraduate of design and manufacture of radio, Voronezh State Technical University, Voronezh, Russian Federation, [email protected]

S.Yu. Beletskaia, Doctor of Technical Sciences, professor, Voronezh State Technical University, Voronezh, Russian Federation, e-mail: [email protected]

This article presents a model of efficient hardware architecture for the decoder, built on non-binary block codes, low density parity check based on stochastic calculations. The developed architecture is focused on Xilinx Virtex devices and synthesis reports are summarized in the table. Once-worked architecture includes in its membership three main blocks: non-binary stream turns into a generator of stochastic numbers (converter of non-binary in stochastic representation), decoding al-algorithmically modules, namely a block control nodes and block check nodes, and the inverse transformation of the stochastic stream to the corresponding non-binary number. Designed as blocks integrated upper module. The top module is synthesized, it is focused on Xilinx Vertex and its metrics are summarized in the table, and produced power analysis. Conclusions about possible further optimization of the modified non-binary architecture using stochastic computing, and this optimization can also be used for higher-order Galois field with the analysis of the different parameters. Powered by modeling in a power dependency graphs used different logic elements in the architecture and the temperature dependence of the crystal of power

Key words: non-binary LDPC codes stochastic calculation, the architecture of the decoder, checking and variable nodes

References

1. D. E. Hocevar, A reduced complexity decoder architecture via layered decoding of LDPC codes,» in IEEE Workshop Signal Process. 2004.

2. J. Huang, S. Zhou, and P. Willett, Nonbinary LDPC coding for multicarrier underwater acoustic communication, IEEE J. Sel. Areas Commun., 2008.

3. V. Savin, Min-Max decoding for non binary LDPC codes, in Proc. (IEEE) International Symposium on Information Theory, Toronto, Canada, 2008.

4. Ali Nandrei, Shie Mannor, Mohamad Sawan Warren J.Gross 2011.Relaxed stochastic decoder of LDPC codes IEEE transaction on signal processing vol 59 pp5617-5626.

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

5. Bashkirov A. V. Polnosty parallelnyi nedvoichnyi LDPC-decoder s dinamichescim ismeneniem chastoti strobirovanij [A fully parallel LDPC-binary decoder with a dynamic change in sampling frequency] Voronezh, VSTU 2016. 48-53 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.

7. Bashkirov A. V. Niscoplotnostnie codi maloy moshnosti decodirovaniia [Low-density low-power code decoding] Radio engineering. 2016, pp 32-37.

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