УДК 621.3.049.77
АРХИТЕКТУРА ДЛЯ СТОХАСТИЧЕСКИХ LDPC-ДЕКОДЕРОВ C ИСПОЛЬЗОВАНИЕМ ЭФФЕКТИВНОЙ ПЛОЩАДИ КРИСТАЛЛА
НА ОСНОВЕ ПЛИС
© 2018 М.В. Хорошайлова Воронежский государственный технический университет, г. Воронеж, Россия
Аннотация: в этой статье исследована сложность и производительность стохастических декодеров низкой плотности проверки на четность (LDPC) на основе ПЛИС. Представлен новый мощный алгоритм декодирования с использованием метода низкой плотности проверки на четность (LDPC) на основе программируемой логической интегральной схемы (ПЛИС) для реализации полностью параллельных LDPC-декодеров. Предлагаемый метод предназначен для оптимизации использования логики ПЛИС и уменьшения времени задержки декодирования. Чтобы уменьшить сложность, выходной счетчик переменных узлов (У^ удаляется и каждая внутренняя память ууМ отображается только в одном распределенном ОЗУ. Кроме того, для повышения конвергенции декодера выполняется эффективная инициализация переменных узлов (У^ с использованием вероятности входного канала, без необходимости дополнительных ресурсов. Реализация ХДтх ПЛИС показывает, что предлагаемый подход к декодированию достигает высокой производительности наряду с сокращением использования логики даже для коротких кодов. Для проверки преимущества предлагаемого подхода ПЛИС реализуется с использованием ХДтх Уи!ех-6 УЬХ240Т. В результате для (200, 100) правильных кодов 57% сокращение средних циклов декодирования достигается с улучшением частоты ошибок в битах, при отношении ЕЬ / N0 = 5,5 дБ. Кроме того, достигается значительное сокращение аппаратного обеспечения
Ключевые слова: полностью параллельная архитектура, LDPC-декодер пропускная способность, алгоритм передачи сообщения
Введение
Разработанные различные реализации LDPC декодирования для достижения высоких результатов пропускной способности, показывающие, что более высокая пропускная способность достигается при использовании полностью параллельной архитектуры декодирования; тем не менее, она увеличивает сложность аппаратного обеспечения. Чтобы преодолеть этот недостаток, разработано несколько алгоритмов декодирования с уменьшенной сложностью и стохастикой LDPC. Нынешний алгоритм стохастического декодирования подтвердил их адаптивность к полностью параллельному декодированию. Кроме того, для дополнительного уменьшения площади кристалла предлагаются разнообразные архитектуры и стратегии на основе стохастического LDPC-декодирования.
Тем не менее, эффективная по площади архитектура для стохастического LDPC-декодера на базе ASIC не может систематически создавать эффективное использование логики ПЛИС. Понятно, что реализация ASIC с шестибитным счетчиком требует меньшей площади кристалла по сравнению с 32-битной памятью. Тем не менее, обратный результат получается при реализации на ПЛИС. Реализация памяти 32-битной Xilinx ПЛИС может
быть маршрутизирована с использованием только одного LUT, в отличие от использования логики счетчика. В этой статье представлен новый и мощный алгоритм декодирования с параллельным контролем четности с низкой плотностью (LDPC) на основе программируемых логических интегральных схем (ПЛИС) для реализации полностью параллельных LDPC-декодеров. Предлагаемый метод предназначен для оптимизации использования логики ПЛИС и уменьшения задержки декодирования в дополнение к улучшению конвергенции даже для коротких кодов. Чтобы проверить преимущества предлагаемого подхода, ПЛИС реализуется с использованием Xilinx Virtex-6 VLX240T.
Стохастический LDPC декодер
Конструкция декодера LDPC основана на Н матрице контроля четности M х N. N определяет количество переменных узлов (VN), а M определяет количество проверочных узлов (CN). Для кодирования k информационных битов (N, K) LDPC-код использует N закодированных битов, где N> K. Декодер LDPC может быть представлен фактор-графом, который использует N VNs и (N-K) CN. У dv-степени VN есть (dv + 1) порты, один из которых получает вероятность канала, а другой dv подклю-
чен к различным CN двунаправленными портами. Точно также dc степень CN имеет двунаправленные порты, которые подключены к различным VN и одному порту вывода проверки на четность. Обычный параллельный декодер LDPC использует операнды с фиксированной точкой для представления вероятностей, обмениваемых между VN и CN фактор-графа. Стохастические декодеры LDPC функционируют с помощью битово-последовательного итерационного процесса. В этой архитектуре полученные вероятности РЛ из канала преобразуются в последовательности Бернулли как последовательности случайных битов. Для той же вероятности могут быть сгенерированы различные кодированные стохастические последовательности. В последовательности {а!} Бернули из т бит, в которой ai е {0,1} , оцененное значение вероятности
I'
вычисляется как Рск (т) = -
(1)
Пусть Сои; Рсоий и Рсш - выход проверки на четность, выходы CN и входы вероятности CN соответственно, где Рсш! = Рг (сш = 1) - вероятность каждого входа СК, в котором } е {1,2,..., dc} и dc - степень СК Вероятность выхода Pcouti может быть вычислена как
Рсои^ = Рс1п2 ©.........® Рстс
Рсоиг1 = Рсщ ©.. © Рсщч © Рст,+1 ©. ® Рсщс
Рс0и^с = РсЩ ©.......................® Р<СЩс-1
(2)
Выход Сои; контроля четности, dc степень СК, может быть вычислена согласно (3). На рис. 1 показана структура dc = 4 СК, используемая в традиционном стохастическом декодере.
СоШ = Рсгп1 ©.... ® Рстс . (3)
Рси1(3:0)
1
РснЛ,
:ЗЕ>И
РС01Йг
■ЭТУ1
РССК!^
Рми(4
Пусть Pvin1 и Рут2 - вероятность двух входных битов в dv = 2 "К Вероятность выходного сигнала переменного узла Pvout может быть вычислена как
Pvout =--(4)
Рут\•Рут 2 +(1-Рут\)(1-Рут 2 )
Если входы "К одинаковы, это состояние называется условием согласования, один из входных битов будет передан на выход. Когда входы не идентичны, переменному узлу требуется расширенный метод для генерации выходного бита. Это состояние называется состоянием удержания или состоянием разногласия. Можно использовать один из усовершенствованных генераторов бит-стохастического метода (ASMBG).
Стохастический алгоритм декодирования LDPC может быть представлен следующим образом:
Инициализация
1. Загрузите соответствующие LLR вероятности РЛ для каждого переменного узла (один DC) и преобразуйте РЛ в последовательность Бернули а! (каждый DC).
2. Инициализировать переменные узлы внутренней памяти (от 16 до 32 для РС 32 бита памяти) или внутренний насыщенный счетчика (один DC]).
Итерации
3. От переменного к проверочному узлу: в каждом цикле декодирования вычисляется переменный узел, который вводит биты и отправляет туда выходы в соответствующие контрольные узлы.
4. От проверочного к переменному узлу: в каждом цикле декодирования контрольный узел вычисляет входные биты, используя (2), и отправляет туда результаты для соответствующего переменного узла. Одновременно контрольные узлы отправляют свои состояния выходов, используя (3), для проверки синдрома.
5. Если достигнуто хНТ = 0 или максимум DC, прекращается процесс декодирования. В противном случае перейти к шагу 3.
На рис. 2 показана основная структура стохастического переменного узла.
Рис. 1. Структура узла проверки четности 4 степени
т
Входы для CN
Процессор проверки правил ьн о етн
равных ст ох а стнч е сккх переменных
"U
■i. 1
But три пазшть счетчжь эшш VN / VN
N
riFF
Рис. 2. Структура последнего стохастического переменного узла
Предлагаемая стохастическая LDPC структура
Как упоминалось во введении, эффективный алгоритм архитектуры на основе ASIC не может систематически обеспечивать наилучший подход для эффективной реализации ПЛИС. В этом разделе мы представляем новый метод стохастического декодирования LDPC, целью которого является улучшение производительности декодера и сокращение использования ресурсов ПЛИС.
Было показано, что стохастический LDPC-декодер, в котором проверочные узлы (VN) используют самые последние выходные биты в качестве кодовых битов, обеспечивает аналогичную производительность BER для версии с насыщающими счетчиками вверх/ вниз в качестве механизма решения выходных данных VN. Кроме того, было продемонстрировано, что инициализация первого выходного бита VN, передаваемого в блок жестких решений в соответствии с принятой каналом вероятностью, помогает улучшить конвергенцию стохастического декодера. Предлагаемый переменный узел (VN) применяет две упомянутые характеристики, помимо того, что использует подход, основанный на внутренней памяти. Преобразованные последовательности Бер-нулли используются как вход переменных. Все выходные переменные узлы инициализируются одним битовым кодированным вероятностным каналом во время загрузки соответствующих вероятностным логарифмическим отношениям правдоподобия (LLR). Каждая внутренняя память VN отображается в одном FPGA LUT RAM.
Вероятность выходного переменного узла будет вычисляться как
Pvout(t) =
Pst если t = 1 Pa или Pb если t Ф 1& Pa = Pb Иначе бит из ПЛИС LUT RAM
(5)
где Pst =
(6)
1,если Pch > 0.5 10 в противном случае Pvout(1) - первая итерационная вероятность VN выхода. В состоянии разногласия (t^1) предложенная архитектура генерирует новый бит на основе случайного выбора бита из внутренней памяти VN (IM). Длина IM может быть увеличена до размера FPGA LUT RAM. Основываясь на (5), аппаратная реализация нового улучшенного подхода к декодированию не требует дополнительной аппаратной сложности для устройств ПЛИС. Кроме того, проецируемый метод вычисляет полученную вероятность без какого-либо дополнительного цикла декодирования.
Сигнал Pch(k-1) передается на VN выход DFF в течение первого цикла процесса. После первой итерации и до последней мультиплексор отправляет выходной бит процессора переменного узла в VN выход DFF. Таким образом, идентично процессу CSS, большинство выходных переменных узлов начинаются с правого бита и обходят случайную стохастическую инициализацию.
На рис. 3 представлена основная структура предлагаемого переменного узла. Подобно схеме EM и DS, цикл декодирования (DC) соответствует одной из итераций для предлагаемого стохастического LDPC декодирования.
Входы для CN
Р.1К1Л
Процессор зроверкн зравнлъностн равных
ггохастнческнз временных
~ц
\
\
MUX —►
них
И
—► [/
Рис. 3. Структура предлагаемого стохастического переменного узла
Проверка выходного состояния контроля четности с постоянной dc степенью СК вычисляется таким же образом (3) и может быть записана следующим образом
Стгаге = I© СЫ1п1, (7)
1=1
где I© - побитовая операция XOR, а dc
- степень узла проверки на четность.
Каждый сигнал СК выдает сигналы СКои; использует сигналы С№п и сигналы State1 для получения сигналов СКои; согласно (8). Результат С№;а;е, полученный в (7), может быть использован.
CNout =
(CNstate)
л
dc
^ statet i= 1
Л
© CNin
(8)
где ^ - побитовая операция NOR, а Л - побитовая операция И.
Новый стохастический алгоритм декодирования LDPC можно представить следующим образом
Инициализация.
1. Загрузка соответствующих вероятностей LLR Pch одновременно с инициализацией выхода с переменным узлом (один DC) и преобразование Pch в последовательность Бер-нулли ai (каждый DC).
Итерации 2. и 3. Аналогично шагу 3 и 4-му алгоритму 1.
4. Если достигнуто xHT = 0 или максимум DC, прекращение процесса декодирования. В противном случае переход к шагу 2.
Производительность и представление результатов
Было продемонстрировано, что увеличение размера внутренней памяти VN увеличивает сходимость стохастического LDPC-декодирования. Однако, главным образом, до-
бавление дополнительной емкости памяти подразумевает дополнительную аппаратную сложность и ресурсы. Для организации и реализации ПЛИС требуются особые доработки. В дополнение к ресурсам срезов память может быть отображена с использованием блоков RAM или с использованием распределенных ОЗУ (LUT RAM).
Основной целью предлагаемой структуры является улучшение производительности LDPC-декодирования на основе ПЛИС без использования дополнительных ресурсов ПЛИС. Для подтверждения усовершенствования новой модели на Xilinx Virtex-6 VLX240T для программируемых логических интегральных схем реализованы средние (1024, 512) и короткие (200, 100) коды LDPC различными методами.
На рис. 4 представлена блок-схема нового узла с переменной степенью 3 предложенных (1024, 512) и (200, 100) кодов LDPC. Переменный узел степени 3 состоит из 3-х подузлов 3-й степени. Большинство состояний и случайные адресные сигналы подключены ко всем подуз-лам. Один из входов 3-го уровня-3 подключается к сигналу вероятности компаратором. Остальные два входа суб-узлов подключены к выходу контрольного узла. Три сигнала S объединяются для получения сигнала состояния большинства. Реализация ПЛИС внутренней памяти VN достигается за счет использования распределенных ОЗУ (LUT) фрагмента ПЛИС.
Реализованные CNs используют структуру, аналогичную структуре CNs, принятых DS и CSS декодеров. На рис. 5 представлена основная структура CN степени 6.
BPth
Pch(K-l:0)
S1
S2
S1
Obitl
Obit2
Obitî
В Pch
MajState
DFF
VNout
Рис. 4. Блок-схема предлагаемого переменного узла 3 степени
Рис. 5. Блок-схема предлагаемого проверочного узла 6 степени
Версия EM дает результат реализации FPGA, близкой к версии DS. Реализация бит 2 х 1 до 64 х 1 бит использует только один LUT в FPGA Virtex-6 Xilinx. Таким образом, предлагаемая версия декодера LDPC может быть реализована с использованием внутренней памяти до 64 бит VN, не требуя дополнительных ресурсов FPGA. Как мы видим, реализация ПЛИС одноэтапного инициализированного декодера на основе счетчика требует дополнительных ресурсов по сравнению с версиями EM и DS. Этот недостаток вызван использованием инициализирующих счетчиков вместо внутренних запоминающих устройств VN, используемых в DS. Дополнительное сокращение использования логики ПЛИС, видимое для нового предлагаемого декодера, в основном достигается в результате простоя выходного насыщенного VN счетчика.
Заключение
В этой работе исследовали сложность и производительность стохастических LDPC-декодеров на основе ПЛИС. Поэтому был представлен новый полностью параллельный стохастический подход к декодированию LDPC, который может превосходить все состояния версий. Улучшение было достигнуто за счет введения эффективного стохастического переменного узла.
Уменьшение латентности декодирования и сложности, в дополнение к мелиорации BER, достигаются даже для коротких кодов. Результаты реализации FPGA Xilinx Virtex-6 VLX 240T подтвердили продвижение нового метода. Среднее сокращение 35% и 85% использования логики и средних циклов декодирования, соответственно, по сравнению с методом DS. Производительность BER нового (200, 100) декодера превышает версии DS, CSS и EM. Зазор усиления 0,5 дБ по сравнению с EM наблюдается при BER 10-5.
Литература
1. Башкиров А.В., Коротков Л.Н., Хорошайлова М.В. Модель масштабируемого LDPC-декодера низкой мощности с использованием алгоритмического синтеза высокого уровня // Вестник Воронежского государственного технического университета. 2016. Т. 12. № 1. С. 6569.
2. Gallager R.G. (1963): Low-Density Parity-Check codes, MIT press, Cambridge, MA.
3. Tehrani S. S., Mannor S. and Gross W. Fully parallel stochastic LDPC decoders// IEEE Trans. Signal Process. Nov. 2008. Vol. 56. No. 11. Р. 5692-5703
4. Di Wu, Yun Chen, Qichen Zhang, Yeong-luh Ueng and Xiaoyang Zeng. Strategies for Reducing Decoding Cycles in Stochastic LDPC Decoders// IEEE Trans. Circuits and Systems II. Sept. 2016. Vol. 63. No.91. Р. 873 - 877
5. Башкиров А.В., Савинков А.Ю., Хорошайлова М.В. Реализация LDPC-декодера на массивно-параллельных вычислительных устройствах // Вестник Воронежского государственного технического университета. 2015. Т. 11. № 6. С. 97-99.
Поступила 11.12.2017; принята к публикации 29.01.2018 Информация об авторах
Хорошайлова Марина Владимировна - аспирант, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), тел. 8-920-415-15-65, e-mail: [email protected]
ARCHITECTURE FOR STOCHASTIC LDPC-DECODERS C USING THE EFFECTIVE
CHIP AREA BASED ON EPLD
M.V. Khoroshaylova
Voronezh State Technical University, Voronezh, Russia
Abstract: this article explores the complexity and performance of stochastic low density parity check (LDPC) decoders based on EPLD. A new and powerful decoding algorithm using the low density parity check (LDPC) method based on erasable programmable logic device (EPLD) for implementing fully parallel LDPC decoders is presented. The proposed method is designed to optimize the use of EPLD logic and reduce decoding delay time. To reduce complexity, the output counter of the variable nodes (VN) is deleted, and each internal VN memory is displayed in only one distributed RAM. In addition, in order to increase the convergence of the decoder, effective initialization of the variable nodes (VN) is performed using the probability of the input channel, without the need for additional resources. The implementation of Xilinx EPLD shows that the proposed approach to decoding achieves high performance along with a reduction in the use of logic even for short codes. To test the advantages of the proposed approach, the EPLD is implemented using Xilinx Virtex-6 VLX240T. As a result, for (200, 100) correct codes 57% of reduction in average decoding cycles is achieved with an improvement in bit error rate, with an Eb / N0 = 5.5 dB ratio. In addition, a significant reduction in hardware is achieved
Key words: completely parallel architecture, LDPC decoder bandwidth, message transfer algorithm
References
1. Bashkirov A.V., Korotkov L.N., Khoroshaylova M.V. "The model of a scalable low-power LDPC decoder using high-level algorithmic synthesis", The Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnich-eskogo universiteta), Voronezh, 2016, vol.12, no.1, pp. 65-69.
2. Gallager R.G. "Low-Density Parity-Check codes", Cambridge, MA, MIT press, 1963.
3. Tehrani S.S., Mannor S., Gross W. "Fully parallel stochastic LDPC decoders," IEEE Trans. Signal Process., 2008, vol. 56, no. 11, pp. 5692-5703
4. Di Wu, Yun Chen, Qichen Zhang, Yeong-luh Ueng, Xiaoyang Zeng "Strategies for Reducing Decoding Cycles in Stochastic LDPC Decoders", IEEE Trans. Circuits and Systems II, 2016, vol. 63, no.91, pp. 873-877.
5. Bashkirov A.V., Savinkov A.Yu., Khoroshaylova M.V. "Implementation of the LDPC-decoder on the massively parallel computing devices", The Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), Voronezh, 2015, vol. 11, no.6, pp. 97-99.
Submitted 11.12.2017; revised 29.01.2018
Information about the authors
Marina V. Khoroshaylova, Graduate student, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: [email protected]