Научная статья на тему 'VERILOG-ОПИСАНИЕ И РЕАЛИЗАЦИЯ НА ПЛИС LDPC-ДЕКОДЕРА ДЛЯ ВЫСОКОСКОРОСТНОЙ ПЕРЕДАЧИ ДАННЫХ'

VERILOG-ОПИСАНИЕ И РЕАЛИЗАЦИЯ НА ПЛИС LDPC-ДЕКОДЕРА ДЛЯ ВЫСОКОСКОРОСТНОЙ ПЕРЕДАЧИ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
180
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОДЫ ИСПРАВЛЕНИЯ ОШИБОК / НИЗКОПЛОТНОСТНЫЕ КОДЫ / АЛГОРИТМ РАСПРОСТРАНЕНИЯ ДОВЕРИЯ / ЯЗЫК VERILOG / ПЛИС

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

В этой работе представлен проект ПЛИС и реализация параллельной архитектуры LDPC-декодера с низкой степенью сложности для приложений с высокой скоростью передачи данных. Описано создание регулярного кода низкой плотности и изучение его характеристик с точки зрения сложности, скорости передачи данных, задержки и BER по сравнению с отношением сигнал/шум (SNR) для различных итераций и количественных оценок. Выбранный код является обычным (3, 4) LDPC-кодом. Verilog-модель и синтез такой архитектуры используют декодирование по алгоритму распространения доверия (Believe propagation), упрощенного «Min-Sum». Изучена сложность предлагаемой архитектуры - это 6335 LE со скоростью передачи данных 2,12 Гбит/с для квантования 8 бит на второй итерации. Также представлена реализация платформы, основанная на совместном моделировании на Simulink, для проверки производительности в BER (Bit Error Rate) описанной архитектуры. Выполненные результаты моделирования показывают, что разработанная модель декодера имеет высокую скорость передачи данных, низкую задержку и очень низкую сложность. BER и SNR могут быть дополнительно улучшены за счет увеличения размера кода и сохранения того же принципа параллелизма

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

VERILOG-DESCRIPTION AND IMPLEMENTATION ON THE FPGA LDPC-DECODER FOR HIGH-SPEED DATA TRANSMISSION

This paper presents the FPGA project and the implementation of a parallel low-complexity LDPC architecture for high data transfer rate applications. This article describes the creation of a regular low density code and the study of its characteristics in terms of complexity, data transfer rate, delay, and BER as compared to the signal to noise ratio (SNR) for various iterations and quantitative estimates. The selected code is the usual (3, 4) LDPC code. Verilog model and synthesis of such architecture uses decoding by the belief propagation algorithm, simplified "Min-Sum". The complexity of the proposed architecture has been studied, it is 6335 LE with a data transfer rate of 2.12 Gbit/s for quantizing 8 bits at the second iteration. Also the article presents a platform implementation based on Simulink's joint simulation to verify the performance in the BER (Bit Error Rate) of the architecture described. The performed simulation results show that the developed decoder model has a high data transfer rate, low latency and very low complexity. BER and SNR can be further improved by increasing the code size and maintaining the same concurrency principle

Текст научной работы на тему «VERILOG-ОПИСАНИЕ И РЕАЛИЗАЦИЯ НА ПЛИС LDPC-ДЕКОДЕРА ДЛЯ ВЫСОКОСКОРОСТНОЙ ПЕРЕДАЧИ ДАННЫХ»

УДК 621.3.049.77

VERILOG-ОПИСАНИЕ и реализация на плис LDPC-ДЕКОДЕРА ДЛЯ ВЫСОКОСКОРОСТНОЙ ПЕРЕДАЧИ ДАННЫХ

© 2018 М.В. Хорошайлова Воронежский государственный технический университет, г. Воронеж, Россия

Аннотация: в этой работе представлен проект ПЛИС и реализация параллельной архитектуры LDPC-декодера с низкой степенью сложности для приложений с высокой скоростью передачи данных. Описано создание регулярного кода низкой плотности и изучение его характеристик с точки зрения сложности, скорости передачи данных, задержки и BER по сравнению с отношением сигнал/шум (SNR) для различных итераций и количественных оценок. Выбранный код является обычным (3, 4) LDPC-кодом. Verilog-модель и синтез такой архитектуры используют декодирование по алгоритму распространения доверия (Believe propagation), упрощенного «Min-Sum». Изучена сложность предлагаемой архитектуры - это 6335 LE со скоростью передачи данных 2,12 Гбит/с для квантования 8 бит на второй итерации. Также представлена реализация платформы, основанная на совместном моделировании на Simulink, для проверки производительности в BER (Bit Error Rate) описанной архитектуры. Выполненные результаты моделирования показывают, что разработанная модель декодера имеет высокую скорость передачи данных, низкую задержку и очень низкую сложность. BER и SNR могут быть дополнительно улучшены за счет увеличения размера кода и сохранения того же принципа параллелизма

Ключевые слова: коды исправления ошибок, низкоплотностные коды, алгоритм распространения доверия, язык Verilog, ПЛИС

Введение

Коды LDPC были обнаружены Галлаге-ром [1 - 3] в начале 1960 года. Это замечательное открытие в значительной степени игнорировалось исследователями почти 20 лет, вплоть до работы Таннера в 1981 году, в котором он представил новую интерпретацию LDPC кодов с графической точки зрения. Работа Таннера также была проигнорирована теоретиками примерно 14 лет до конца 1990-х годов, когда некоторые исследователи по кодированию начали изучать графические коды и итеративное декодирование. Их исследования привели к повторному открытию кодов Галлагера. Они показали, что длинный LDPC код с итеративным декодированием, основанный на алгоритме распространения доверия (Believe Propage), позволяет получить ошибку производительности, представляющую только часть децибела от предела Шеннона. Это открытие делает LDPC-коды мощными конкурентами относительно турбокодов для контроля ошибок, когда требуется высокая надежность. Коды LDPC имеют преимущество турбокодов - для достижения хорошей производительности ошибок не требуется длительное чередование. Таким образом, в 2004 году код LDPC был впервые стандартизован в спутниковой трансляции DVB-S2 [3].

Принцип LDPC-кодов

Код LDPC может быть представлен его матрицей проверки на четность (отмечено H) или двудольным графом (граф Таннера). В примере на рис. 1 строки матрицы представлены квадратами и называются проверочными узлами (check nodes), столбцы матрицы представлены кружками и называются переменными узлами (variable node), а «1» представляют собой ребра на графе.

0 0 1 1 0 0 0

1 1 0 0 1 0 0

0 1 L 0 0 1 0

1 0 0 0 0 0 1

Рис. 1. Пример матрицы проверки на четность и ей соответствующая диаграмма Таннера

Кодирование LDPC-кодов

Операция кодирования сначала заключается в нахождении генераторной матрицы G

такой, что G.HT = 0. Работа Т. Дж. Ричардсона и Urbanke R.L [4] показала, что контрольная матрица должна пройти предварительную обработку перед операцией кодирования. Цель этой предварительной обработки состоит в том, чтобы поместить эту матрицу в более низкую псевдотреугольную форму, как показано на рис. 2, используя только перестановки строк или столбцов. Эта матрица состоит из 6 разреженных подматриц, обозначенных A, B, C, D, E, и нижней треугольной T-подматрицы.

Н=

А В 0 т

с D Е

ш-в

п-т- -•>

Рис. 2. Матрица проверки четности, представленная в нижней псевдотреугольной форме

Размер субматрицы Т (т^) х (т^), где g меньше, по возможности. Как только предварительная обработка Н завершена, принцип кодирования основан на разрешении системы, представленной уравнением (1) [4].

С • НТ = 0Т, (1)

где С - кодовое слово.

Декодирование LDPC-кодов

Декодирование кодов LDPC выполняется с использованием итеративного алгоритма. Чаще применяется алгоритм распространения доверия (ВР). В данной работе используется ВР «Мт^ит», адаптированный к аппаратной реализации. Алгоритм состоит в том, чтобы обновить сначала узлы данных, после проверить узлы на каждой итерации и в конце сделать декодирование «жесткое» решение, кото-

рое является наиболее вероятным кодовым словом [5 - 7].

Реализация LDPC-декодера на ПЛИС

LDPC-код, представленный в этой статье, характеризуется матрицей четности Н, приведенной в (2), после того, как были сделали необходимые преобразования на Н, чтобы определить матрицу генератора G.

1111000000000000 000011110000000000 00000000111100000000 0000000000001 1 1 1 00000000000000001 1 10001000100010000000 0100010001000000 H = 00100010000

00 00 1 0 0 0 1 1 0 0 0 0

0 0 0 0 0 0

0 0 0 0 1 1

0 0 0 0 0 0 0 1 0 0

(2)

0001000000 00000001 00 1000010000 0100001000 001 00001 00 00010000100001 00001000010000

10 0 0

1

0 0

1 0 0 0 0 0 0 1 0 0 0 0 001

1

1 0 0 1 0 0 0 0 0 0

01

0 0

1 0 0 0 0 1

01

00

Матрица G является основой кодера LDPC, который вычисляет код слова С из информации и следующим образом:

C = u ■ G .

(3)

Декодер LDPC разработан в Verilog и реализован на EPP4CE115F29C7 типа FPGA Altera с использованием упрощенного BP «Min-Sum». Операторы, используемые для обновления переменных узлов и проверочных узлов, показаны на рис. 3 и рис. 4 соответственно [8].

Схема декодера приведена на рис. 5. Таблица суммирует сложность (в логических элементах logic element, LE), скорость передачи данных и задержку декодера для 2, 10 и 20 итераций, квантованных на 5, 6, 7, 8 и 11 бит.

Декодерные исполнения для различных итераций и числа бит квантования

Итерации Характеристики Квантование

5 бит 6 бит 7 бит 8 бит 11 бит

2 Сложность (ЬЕ) 3817 4715 5515 6335 8595

Макс. Частота (МГц) 109,06 108,1 106,6 106,1 99,82

Задержка (нс) 9,17 9,25 9,38 9,43 10,02

Пропуск. способн. (Гб/с) 2,18 2,16 2,13 2,12 2,00

10 Сложность (ЬЕ) 20881 26035 30595 35151 47755

Макс. Частота (МГц) 106,94 105,6 104,9 103,8 97,96

Задержка (нс) 9,35 9,47 9,53 9,63 10,21

Пропуск. способн. (Гб/с) 2,14 2,11 2,10 2,08 1,96

Продолжение таблицы

20 Сложность (ЬЕ) 42126 52685 61945 71171 96705

Макс. Частота (МГц) 105,85 104,8 103,6 102,1 95,79

Задержка (нс) 9,45 9,54 9,65 9,80 10,44

Пропуск. способн. (Гб/с) 2,12 2,10 2,07 2,04 1,92

Рис. 3. Оператор обновления переменных узлов

з

к

lJMs Ü

Рис. 4. Оператор обновления проверочных узлов

Функциональное моделирование на инструменте Quаrtш II (рис. 6) показывает реали-зованые параллельные вычисления, позволяющие обновлять выходы после первого активного фронта тактового сигнала, где максимальное время ожидания составляет один такт.

Clock -

SOr-f/t.-п-Т]

S<'VT rrvtj

S'J■ ■ft.'n-)]

frvtj

fTVtJ

3 *n.t]

и е S<T¡<rn rrvl]

Я WTJ

си П-11

а i¿ SÍ'H«« r/%1] HD[19..01

1 S.H[w/ti rw-1]

г-1 S-q-e« ,r*ts1]

&l!¡<ni rrr-IJ

.WNlJ

.r*MJ

SilTJ*/» r/r-l}

&Ü5-VB wrvlj

WT.1J

Жесткие выходы

Рис. 5. Блок-схема разрабатываемого LDPC декодера

Изменение сложности по сравнению с итерациями и числом бит квантования показано на рис. 7: сложности 10-й и 20-й итераций умножаются соответственно на 5 и 10 по отношению ко второй итерации независимо от количества квантования битов.

После функционального моделирования на Quartш II проверили декодер в цифровой цепи передачи, разработанной на инструменте Simulink (рис.8). Эта цепочка со-моделирования также позволила нам измерить

эффективность BER на основе SNR для различных итераций и различных бит квантования.

На рис. 9 показаны характеристики BER декодера для реальных данных (2-я, 10-я и 20-я итерации), где можно увидеть, что значение SNR, выигранное в 10-й и 20-й итерациях, по сравнению со второй итерацией для данного BER пренебрежимо мала по сравнению со сложностью, умноженной соответственно на 5 и 10.

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

100ns

20 0 П!

н

a so

□ Sil

а 5!2 а аз

□ S>4

И S¡5

a s£

EJ Si7

и ss

S S3 El SUD El Siii El S¡12

□ S.13 El Si14 El S¡15 El S:16 El Sil7 El Sil 8

□ Si19 EJ HD

í 1 1 1 1 1

< 19 ZD¡_ -s X

'< 11 X •1 X

'( -1 X 3 ZDd

'< 31 X 26 ~XT~

k -n HXH 28 Ud

< '8 X -1 X

< Л * 21 X

< 30 _X 1 x

( -s X 12 X

f 20 X 2 X

k 27 X -30 X

< '2 X 25 X

k -1 X 5 X

< -a * -1 X

< 8 * 1G X

i( 2¿ X -1 X

< '7 X 11 X

k 23 X -31 X

X 17 X

< -ib X X

WOWJOOKWИ100115111111131 ¡<0t W1C1111 00000331)

Рис. 6. Пример функционального моделирования декодера

7

О

15 о

5 «

э i

i

^^^Я 2-ая втер.

| 10-ая втер, j-j 20-ая нтер.

5 6 7 Ь 9 10 11

Квантованпе (опты)

Рис. 7. Изменение сложности в зависимости от количества итераций и количества бит квантования

На рис. 10 показана характеристика BER для реализации Уеп^ для второй итерации (с квантованием 5 бит, 6 бит, 7 бит и 8 бит). Количественная оценка 8 бит дает результаты BER очень близкие к показателям реальных данных.

Рис. 8. Проверка платформы схемы декодера на Matlab / Simulink

LDPC Декодер

_______j____.JS^Jbsi^.-—__j_______j_______ _

: N. :

X

\Ч N. tin iiiii i i|i|| : is:» --

> —;------------.SQS^JS c:----------

... —10 бит 20 бит

! \

О 1 2 3 I 5 5

SNR(dB)

Рис. 9. Производительность BER по сравнению с SNR декодера для 2-й, 10-й и 20-й итераций

LDPC декодер на 2-й итерации

: ^^

-f- пс ■> Verilog 2iit.5 бт <) Verilog 2iit.6 бт

::::::::::::::::::: Q Verilog 2ит.7 бт

О ■ Verilog 2ит S бт

iiiii

0 12 3)56

SKTR (<ffi)

Рис. 10. Показатели BER для реальных данных, и реализация Verilog для 2-й итерации

Заключение

В этой статье был разработан в Verilog и реализовали на ПЛИС-схеме LDPC-декодер, начиная с его матрицы проверки на четность, и определили все необходимые средства для его реализации, а именно матрицы генератора и декодирования с использованием упрощенного алгоритма декодирования BP " Min-Sum». Затем произведено тестирование и проверка его на платформе, разработанной в программном обеспечении Simulink для совместной имитации с программным обеспечением Dsp Builder.

Результаты показывают, что разработанная модель имеет высокую скорость передачи данных, низкую задержку и очень низкую сложность. BER и SNR могут быть дополнительно улучшены за счет увеличения размера кода и сохранения того же принципа параллелизма.

Литература

1. Gallager R. G. Low-density parity-check codes// IRE Trans. Inform. Theory. 1962. Vol. IT-8. pp. 21-28.

2. Хорошайлова М.В. Анализ сложности алгоритмов декодирования недвоичных LDPC кодов // Актуальные проблемы энергосбережения и эффективности в технических системах: тез. докл. 3-й Междунар. конф. с элементами науч. шк. 2016. С. 155-156.

3. Башкиров А.В., Хорошайлова М.В. Использование вынужденной конвергенции для снижения сложности LDPC-декодирования // Вестник Воронежского государственного технического университета. 2017. Т. 13. № 1. С. 69-73.

4. Richardson T.J., Urbanke R.L. Efficient Encoding of Low-Density Parity-Check Codes// IEEE Trans. Inform. Theory. 2001. Vol. 47. pp. 638-656.

5. FPGA Implementation of HIHO and SIHO Decoders for DSC Codes/ A. Boudaoud, E. Abdelmounim, A. Baraz-zouk, J. Zbitou and M. Belkasmi// IEEE explorer. 2014. pp. 1461 -1464.

6. Digital Video Broadcasting (DVB) ; Second Generation framing structure, channel coding and modulation systems for broadcasting, Interactive services, news gathering and other broadband satellite applications, ETSI EN 302 307 Std. v1.1.1, (2004).

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

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

Поступила 13.02.2018; принята к публикации 26.03.2018 Информация об авторах

Хорошайлова Марина Владимировна - аспирант, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: pmv2205@mail.ru, тел. 8-910-732-66-13, ORCID: http://orcid.org/0000-0001-9167-9538

VERILOG-DESCRIPTION AND IMPLEMENTATION ON THE FPGA LDPC-DECODER FOR HIGH-SPEED DATA TRANSMISSION

M.V. Horoshaylova

Voronezh State Technical University, Voronezh, Russia

Abstract: this paper presents the FPGA project and the implementation of a parallel low-complexity LDPC architecture for high data transfer rate applications. This article describes the creation of a regular low density code and the study of its characteristics in terms of complexity, data transfer rate, delay, and BER as compared to the signal to noise ratio (SNR) for various iterations and quantitative estimates. The selected code is the usual (3, 4) LDPC code. Verilog model and synthesis of such architecture uses decoding by the belief propagation algorithm, simplified "Min-Sum". The complexity of the proposed architecture has been studied, it is 6335 LE with a data transfer rate of 2.12 Gbit/s for quantizing 8 bits at the second iteration. Also the article presents a platform implementation based on Simulink's joint simulation to verify the performance in the BER (Bit Error Rate) of the architecture described. The performed simulation results show that the developed decoder model has a high data transfer rate, low latency and very low complexity. BER and SNR can be further improved by increasing the code size and maintaining the same concurrency principle

Key words: error correction codes, low-density codes, belief propagation algorithm, Verilog language, FPGA

References

1. Gallager R.G. "Low-Density Parity-Check Codes," IRE Transactions on Information Theory, 1962, vol. 8, no. 1, pp. 21-28.

2. Horoshaylova M.V. "Analysis of the complexity of decoding algorithms for non-binary LDPC codes", Actual problems of energy saving and efficiency in technical systems. Proc. of the 3rd International Conference with Elements of a Scientific School (Aktual'nye problemy energosberezheniya i effektivnosti v tekhnicheskikh sistemakh Tezisy dokladov 3-ey Mezhdunarodnoy konfer-entsii s elementami nauchnoy shkoly), Tambov, 2016, pp.155-156.

3. Bashkirov A.V. "Using forced convergence to reduce the complexity of LDPC decoding", Ibe Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2017, vol. 13, no. 1, pp. 69-73.

4. Richardson T.J., Urbanke R.L. "Efficient Encoding of Low-Density Parity-Check Codes", IEEE Trans. Inform. Theory, 2001, vol. 47, pp. 638-656.

5. Boudaoud A., Abdelmounim E., Barazzouk A., Zbitou J., Belkasmi M. "FPGA Implementation of HIHO and SIHO Decoders for DSC Codes", IEEE explorer, 2014, pp. 1461 -1464.

6. "Digital Video Broadcasting (DVB), Second Generation framing structure, channel coding and modulation systems for broadcasting, Interactive services, news gathering and other broadband satellite applications", ETSI EN 302 307 Std., 2004, vol. 1.1.1.

7. Bashkirov A.V. "The model of a scalable low-power LDPC decoder using high-level algorithmic synthesis", Ibe Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta) 2016, vol. 12, no. 1, pp. 65-69.

8. Bashkirov A.V. "Implementation of LDPC decoder on massively parallel computing devices", !he Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2015, vol. 11, no. 6, pp. 97-99.

Submitted 13.02.2018; revised 26.03.2018

Information about the author

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

Marina V. Horoshaylova, Graduate Student, Voronezh State Technical University (14 Moscovskiy prospekt, Voronezh 394026, Russia), e-mail: pmv2205@mail.ru, tel. 8-910-732-66-13, ORCID: http://orcid.org/0000-0001-9167-9538

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