УДК 621.3.049.77
ПОЛНОСТЬЮ ПАРАЛЛЕЛЬНЫЙ НЕДВОИЧНЫЙ LDPC-ДЕКОДЕР С ДИНАМИЧЕСКИМ ИЗМЕНЕНИЕМ ЧАСТОТЫ СТРОБИРОВАНИЯ
А.В. Башкиров, А.В. Муратов, М.В. Хорошайлова
В статье рассматривается 1,22 Гбит/с полностью параллельный декодер в GF(64) (160, 80) регулярного (2, 4) NB-LDPC кода в 90-нм КМОП. Построен на основе алгебраических свойств двоичных функций изображений с низкими степенями проверочных узлов (СЫ) и переменных узлов (УЫ), таким образом, сложность VN и СЫ может поддерживаться на низком уровне. 960 бит кодового слова сгруппированы в 160 6-битных GF (64) символов. Фактор-граф кода содержит 160 и 80 CVs. Полностью параллельный декодер является прямым отображением фактор-графа. Реализовано динамическое изменение частоты стробирования на уровне узла, чтобы большинство узлов обработки были закрыты задолго до достижения предельного числа итераций. Пропускная способность дополнительно улучшена за счет конструкции одноступенчатого проверочного узла, который увеличивает тактовую частоту до 700 МГц, чередование операций переменного узла и проверочного узла укорачивает одну итерацию декодирования до 47 тактов. Когда все узлы обработки были стробированы, то декодер прекращает свою работу и переходит к следующему входу, чтобы увеличить пропускную способность до 1,22 Гбит/с
Ключевые слова: полностью параллельная рочного узла, недвоичный LDPC декодер
Введение. Недвоичные LDPC (Ш^БРС) коды, определенные в поле Галуа, предлагают лучший коэффициент усиления кодирования и более низкий уровень ошибки, чем двоичные коды LDPC. Тем не менее, сложность декодирования и большое требование к объему и быстродействию памяти сделали невозможным реализацию такого декодера на кристалле. В статье рассматривается 1,22 Гбит/с полностью параллельный декодер в GF(64) (160, 80) регулярного (2, 4) Ш^РС кода в 90-нм КМОП. Пониженное число ребер в кодах NB-LDPC графа позволили реализовать такой декодер на кристалле с полностью параллельной архитектурой.
Внедренные системы связи и хранения приняли сложные коды каналов для достижения более высокой надежности при передаче и хранении на самом низком отношении сигнал-шум ^ЫЯ). Для того чтобы ликвидировать разрыв в достижении конечной пропускной способности канала, известный как предел Шеннона, последними стандартами были приняты двоичный LDPC и турбо коды и были продемонстрированы многочисленные реализации архитектуры. Недвоичный LDPC (NB-LDPC) коды, определенные над полем Галуа, где q>2, предложена лучшая эффективность кодирования, чем в двоичных кодах LDPC. Отличный выигрыш в кодировании NB-LDPC кодов может быть достигнут даже при короткой длине блока, и низкий уровень ошибки также был продемонстрирован.
Декодирование кодов NB-LDPC следует такой же алгоритм распространения доверия (BP), кото-
Башкиров Алексей Викторович - ВГТУ, канд. техн. наук, доцент, тел. 8-952-543-99-88, e-mail: [email protected] Муратов Александр Васильевич - ВГТУ, д-р техн. наук, профессор, тел. 8-905-652-04-03, e-mail: [email protected] Хорошайлова Марина Владимировна - ВГТУ, аспирант, тел. 8-920-415-15-65, e-mail: [email protected]
архитектура, архитектура переменного узла, архитектура прове-
рый используется при декодировании двоичных кодов LDPC. Тем не менее, сложность декодера NB-LDPC значительно выше: каждое сообщение обменивается между узлами обработки в декодере NB-LDPC несет массив коэффициентов логарифма правдоподобия (LLR); обработка контроля по четности следует алгоритм вперед-назад; и операции GF высокого порядка требуют дорогостоящего согласования и сортировки, в отличие от гораздо более простого сложения и сравнить-выбрать используемый в двоичном LDPC декодирования.
Сложность декодера NB-LDPC и его способность исправлять ошибки определяется конструкцией кода. Квазициклические коды LDPC были изобретены, чтобы обеспечить хорошую производительность коррекции ошибок, а также их регулярные структуры поддаются эффективной архитектуре декодера. По сравнению с квазициклическими LDPC кодами, коды (2, dc) имеют очень низкую степень переменной узла dv=2, и степень проверочного узла, также низко как dc=4, уменьшая сложность обработки, соединение и потери квантования. Таким образом, (2, dc) коды являются привлекательными для практической реализации. Код (2, dc) NB-LDPC предлагает конкурентную производительность коррекции ошибок даже при короткой длине блока. Производительность может быть дополнительно улучшена за счет увеличения, порядка GF поля, но выше q увеличивает размер и сложность декодера.
Непосредственное осуществление декодирования BP для NB-LDPC кодов приводит к сложности проверочного узла О^2) и сложности переменного узла О^). Реализация быстрого преобразования Фурье (БГТ) уменьшает сложность проверочного узла О^ logq), но требует обработки проверочного узла в линейной области и преобразования между линейной и логарифмической записями сообщений домена. Расширенный тш^ит (EMS) алгоритм в логарифмической области уменьшает
сложность проверочного узла 0^пт) с использованием только небольшого подмножества пт значений среди массива q LLR, в сообщении, где пт<< q. Дальнейшее упрощение алгоритма EMS обрезает младшие значения в сообщении и сохраняет только наиболее значимые значения в памяти. Обработка выполняется полностью с использованием усеченного сообщения, тем самым снижая сложность проверочного узла 0(пт log пт) и сложность переменного узла 0(пт). Укороченный алгоритм EMS показал минимальные потери в производительности коррекции ошибок при низком SNR по сравнению с ВР, в то время как производительность превосходит ВР при высоком SNR. Усеченный алгоритм EMS позволяет разработать декодер ЫВ-LDPC с разумной сложности, который находится в пределах диапазона двоичных LDPC декодеров. Дальнейшее упрощение с использованием алгоритма Мш-Мах страдает от заметного ухудшения в коррекции ошибок производительности.
Код NB-LDPC, формируется путем группирования битов в символы с использованием элементов GF, пример которого показан на рис. 1. В примере, два бита сгруппированы в 2-битовый символ с использованием GF (4). В двоичной LDPC матрице Н, изображенной на рис. 1, 2*2 субматрицы заменяются GF(4) элементами, в результате чего в поле GF(4) недвоичной Н матрице. Регулярный dc) NB-LDPC код имеет постоянный вес столбца dv и постоянный вес строки dc. Код NB-LDPC, также может быть проиллюстрирована с использованием фактор-графа переменного узла (УЫ) и проверочного узла (СЫЫ). Ребро соединяет УЫ V! и СЫ съ если соответствующая запись в Н матрице Н(У)?Ю.
Двоичный и>РС Недвоичный ЬЭРС
V, V; V, Vt V, V,
Сл
LLReeKTOdLLR4
Структура сообщения
1.1 л
(with parity)
7
bit 4-7 bit
Рис. 1. Сравнение двоичного и недвоичного LDPC (NB-LDPC) кодов
А. Усеченный EMS алгоритм декодирования. Код NB-LDPC декодируются итерационно передачей сообщений между VNs и CNs над фактор-графом. Сообщение VN к CN будет упоминаться как сообщение V2C, или Uj,i (от Vj к с); и сообщение CN к VN, как сообщение C2V, или Vj i (от сi к Vj).
1) VN Инициализация: декодирование начинается с инициализации каждого VN с известными
LLR, основываясь на информации, полученной от канал связи. Поскольку каждый УЫ в коде ЫВ-LDPC представляет собой GF(q) элемент, предшествующий LLR для УЫ V], LJ является вектором LLR (LLRV) длины q, и каждый элемент LLRV
соответствует элементу GF(q) ак, k е {1,...,д}
Lj = (1), Lj (2),..., Lj (д)]
где Lj (k) = log
P (vj = " l У)
P (vj = "k 1 y)
и О! = |а^тах^еGF(д) Р= О 1 У)} (1)
и у информация канала. а является GF элементом с максимальной вероятностью. Исходя из этого определения, более низкое значение LLR указывает на более высокую вероятность. В дальнейшем предполагаем, что LLRV отсортирован в порядке возрастания, если не указано иное. Вектор индекс GF связан с каждым LLRV для отслеживания GF элементов, которые соответствуют записям в LLRV. В векторе индексt GF, каждый GF(q) элемент хранится в его -разрядном двоичном представлении. Используя усеченный EMS алгоритм, только минимальные пт записи пт^, в LLRV сохраняются. В первой итерации декодирования, предшествующий уровень LLRV используется в качестве сообщения У2С, т.е. Ц|,!.=^|.
2) СЫ Операция: Каждый GF элемент ак в GF индекс векторе У2С сообщения Ц^ умножается Н(у) до того, как сообщение посылается в СЫ. ак хранится в двоичном представлении и Н(у) известно, так GF(q) что умножение описывается таблицей q поиска. Это GF умножение называется перестановкой.
Предположим, что СЫ получает сообщения от
dс VNs, V], j е {1,2,..., dс}где dс является степенью СЫ. СЫ вычисляет сообщения С2У для каждого УЫ с помощью алгоритма вперед-назад в три этапа: вперед, назад, и соединение, которые показаны на рис. 2. вперед и назад может осуществляться параллельно.
Сообщения У2С
Собщения С2У
Рис. 2. Представления для алгоритма вперед-назад с (!с=6
Как видно из рис. 2, в шаге вперед, сообщение от VI совмещено с сообщением от и сообщение объединения продолжается до достижения vdc-2, следуя (2а). Операция «объединить» известна как
элементарный СЫ (ЕСЫ), который представлен © в (2а). ЕСЫ принимает две длины-пт входы LLRV, например и1 и и2, и вычисляет длине- пт LLRV вывода и1:2, который содержит минимальные значения в наборе
(/) + и2 (]), i е [1, пт ], ] е [1, пт ]}. ЕСЫ
производится с использованием вносимых сортировщиком длин пт, а сложность ЕСЫ является 2
0(пт). Шаг вперед требует dc-3 в общей сложности ЕС№.
Вперед: Щ.^ = Щ.] © и,
] = 1,..., dc - 3(ии = и 1). (2а)
Назад: и]-Ыс = игЛс © и] -1,
] = Ас
,4(и^с = иас). (2б)
Соединение: Vj = и^ ^ -
1 © Uj
j = 2,
.dc - 1.
(2в)
Шаг назад рассчитывается следующим образом (2б), и он совпадает с шагом вперед, за исключением того, что это будет сделано в обратном направлении, как показано на рис. 2. После того, как вперед и назад, являются полными, сообщения С2У можно легко рассчитать путем объединения сообщений, полученных от вперед и назад, как это описано (2в) и показано на рис. 2. Объединение требует dc ЕС№. Подводя итог, алгоритм вперед-назад для СЫ требует 3dc-6 ЕСб в общей сложности,
и каждый ЕСЫ имеет сложность О(пт^пт ).
Проблемы моделирования декодера. По
сравнению с двоичным кодом LDPC, фактор-граф NB-LDPC кода является более компактным, с меньшим количеством узлов и гораздо меньшим количеством ребер, предлагая более простую проводку в реализации декодера. Тем не менее, груп-
пировка ^^ двоичных разрядов в GF(q) символ расширяет память сообщений от ^^ слов к q словам. Усеченный EMS алгоритм уменьшает память сообщений для пт (пт^) слов, например, GF(64) NB-LDPC-код может быть декодирован с использованием пт=16, требуя 16 слов в памяти сообщений, но все еще выше, чем то, что необходимо в двоичном LDPC декодере.
Операции УЫ и СЫ в NB-LDPC декодере, как описано выше, являются более сложными, чем для двоичного LDPC декодера. СЫ двоичного LDPC декодера выполняет сравнение выбор и исключающее ИЛИ в распределяемой древовидной структуре сложности О^с), таким образом, СЫ может быть легко распараллелен для высокой пропускной способности. СЫ из декодера NB-LDPC выполняет вперед, назад и слияние с сложности
О^спт-^пт ). с использованием усеченного алгоритма EMS с проверкой ЕСК УЫ из NB-LDPC декодера также является более сложным, чем УЫ двоичного LDPC декодера, со сложностью О^пт) в сравнении с О^). Для практической реализации NB-LDPC декодеров, операции СЫ и УЫ должны сериализовать, что приводит к снижению пропускной способности. Чем больше памяти, дорогие сортировщики и САМб вносят свой больший вклад в Упб и С№.
Высокая пропускная способность полностью параллельной архитектуры декодера. Декодер NB-LDPC тяжел на логику и память, но имеет меньшее число проводников по сравнению с двоичным LDPC декодером. Параллельная реализация NB-LDPC декодера не берет на себя те же проводники в реализации двоичного LDPC декодера. Полностью параллельная реализация также упрощает планирование управления и сообщения, что приводит к более эффективному дизайну.
Рис. 3. Архитектура полного параллельного недвоичного ЬБРС декодера
GF (64) (160, 80) регулярный (2, 4) NB-LDPC- на рис. 3. 960 бит кодового слова сгруппированы в
код построен на основе алгебраических свойств 160 6-битных GF (64) символов. Фактор-граф кода
двоичных функций изображений с низким УЫ и СЫ содержит 160 и 80 суб. Полностью парал-
степенями, таким образом, сложность УЫ и СЫ лельный декодер является прямым отображение
может поддерживаться на низком уровне. Блок- фактор-графа с 160 2 входами и 80 4-вход С№,
схема полностью параллельного декодера показана как показано на рис. 3. Каждое ребро в фактор-
графе несет LLRV. Записи о LLRV посылаются последовательно, чтобы уменьшить разрядность проводников и в соответствии с конвейерной обработкой CN и VN. Перестановка и обратная перестановка помещаются между VNs и CNs, и сообщения нормированы на каждой итерации, чтобы предотвратить насыщение. Сообщения в этой конструкции квантуются до 5 битов, чтобы обеспечить хорошую производительность при сведении к минимуму хранения. Декодер реализует усеченный алгоритм EMS с nm=16. Длина слова и усеченный EMS были широко промоделированы, чтобы обеспечить хорошую производительность коррекцию ошибок вплоть до очень низких уровней BER.
Архитектуры переменных и проверочных узлов.
А) Проверочные узлы. CN занимает 4 V2C сообщения, Ui, U2, U3, U4, и вычисляет 4 C2V сообщения, Vi, V2, V3, V4, с помощью алгоритма вперед-назад, показанного на рис. 2. принимает шаг
V2C, У2С2
вперед Ц и Ц2 для вычисления Ц :2; и одновременно, принимает шаг назад Ц4 и Ц3 для вычисления Ц3:4. Далее, четыре слияния выполняются параллельно для вычисления сообщений У2С, как это показано на рис. 4. Шаг вперед, шаг назад, и объединение - все сделано с помощью ЕСЫ.
ЕСЫ реализует алгоритм проверки для нахождения пт минимальных значений в наборе
= {Щ 0) + и2 ахi е [и пт ] j е [и пт ]}, где Ц и Ц2 два входа LLRVs. Набор Т^ представлена
в 2-мерной матрицей. Записи Т^ вычисляются на
лету, прочитав одну запись из Ц^) и одну из Ц2(|) и их суммирования. GF элемент, который соответствует сумме, вычисляется путем добавления элемента GF, связанного с Ц^) и элемента GF, связанного с Ц2(|).
У2С3 У2С4
C2V4 C2V3 C2V2 C2V, К переменным узлам
Рис. 4. Архитектура проверочного узла
Так как пара GF элементов сохраняются в двоичном представлении, добавление делается побитовой XOR пары. ЕСЫ использует вставки сортировщика длины 6 для пт=16. ЕСЫ сортировщик
инициализируется с Т^ (1,1), Т^ (2,1),... Т^ (6,1).
ЕСЫ сортировщик выдает минимальный вход, например Т^ , ), каждый шаг и новый элемент
Т_ (г , / ) вставляется. ЕСЫ будет завершена по-
X п п
сле пт шагов.
В) Переменные узлы. УЫ занимает 2 С2У сообщения, У1, У2, и до LLRV вычисляются 2 У2С сообщения, Ц1, Ц2, и последующие LLRV. Низкая степень УЫ 2 упрощает реализацию. Три ЕУ№ используются: ЕУЫ1 и ЕУЫ2 начинает в первой вычислять Ц2 и Ц1 последующим ЕУЫ3. Такая конструкция сокращает УЫ критический путь, как ЕУЫ3 был исключен из критического пути.
Входы
C2V, кии. C2V,
Жесткие у2С1 у2С[ решения
Рис. 5. Архитектура переменного узла
Динамическое изменение частоты строби-рования. Архитектура стробирования показана на рис. 6. Детектор сходимость внутри каждого УЫ контролирует жесткие решения в каждой итерации, чтобы проверить, изменились ли жесткие решения между итерациями. Счетчик отслеживает количество последовательных итераций, что жесткие решения остаются неизменными. Когда критерий сходимости выполнен, детектор сходимости позволяет переключиться (CG защелку), чтобы отключить вход синхронизации для всех последовательных схем, за исключением основных цепей управ-
ления, которые необходимы для восстановления от изменения состояния стробирования.
Переменный узел
CG Детегтор
■ -»Ich сходжмосп
Контроллер
Проверочный узел
CG I.Htch V2CME.4, >
CG l.ütch VKMOI
CG Lulch V2CMEM.
CG laich V2CME.M, >
Рис. 6. Реализация динамического изменение частоты стробирования для переменного и проверочного узлов
Заключение. Представлен полностью параллельный NB-LDPC декодер низкими межсоединениями, которые присущи кодам NB-LDPC. Для дальнейшего повышения пропускной способности, был использован один уровень к элементарной конструкции СЫ для сокращения периода синхронизации и перемежения операции СЫ и УЫ для короткой итерации задержки 47 циклов. Реализовано динамическое изменение частоты стробирова-ния на уровне узла, чтобы большинство узлов обработки были закрыты задолго до достижения предела итераций. 7,04 мм 90 нм кристалл тест-декодер предназначен для GF(64) (160, 80) регулярного (2, 4) NB-LDPC-кода. Декодер реализует динамическое изменение частоты стробирования и прекращает для достижения высокой пропускной способности 1,22 Гбит/с на частоте 700 МГц, потребляя 3,03 ндж/б. Тестовый кристалл демонстрирует превосходную производительность с исправлением ошибок по сравнению с двоичным LDPC декодером. Напряжение и частота масштабирования тестового кристалла до 675 мВ и 400 МГц дальнейшего повышения энергетической эффективности до 89 пикоджоулей / В / итерации при пониженной пропускной способностью 698 Мбит / с.
Литература
1. X. Chen, C.-L. Wang, «High-throughput efficient non-binary LDPC decoder based on simplified min-sum algorithm» IEEE Trans. Circuits, Syst. I, Reg. Papers, vol. 59, no.
11, Nov. 2012
2. D. Declercq, M. Fossorier, «Decoding algorithms for nonbinary LDPC codes over GF(q)» IEEE Trans. Commun., vol. 55, no. 4 Apr. 2007.
3. Башкиров А.В. Оптимизация аппаратной архитектуры LDPC-декодера, применяемого в стандарте радиосвязи IEEE 802.11n [Текст] / А.В. Башкиров, А.Ю. Савинков, М.В. Хорошайлова // Вестник Воронежского государственного технического университета. - 2015.- Т.
12. - № 1. - С. 97-99.
4. Башкиров А.В. Реализация LDPC-декодера на массивно-параллельных вычислительных устройствах [Текст] / А.В. Башкиров, А.Ю. Савинков, М.В. Хорошай-лова // Вестник Воронежского государственного технического университета. - 2014. - Т. 11. - № 6. - С. 97-99.
5. Башкиров, А.В. Краткий анализ корректирующей способности кодов Боуза-Чоудхури-Хоквингема [Текст] / А.В. Башкиров, Ю.В. Дьячков, А.В. Муратов, М.В. Хорошайлова // Проблемы передачи и обработки информации в сетях и системах телекоммуникаций Материалы 18-й Международной научно-технической конференции. - М.: «Горячая линия-Телеком» 2015. - С. 42-44.
Воронежский государственный технический университет
A FULLY PARALLEL NOBINARY LDPC DECODER WITH DYNAMIC CHANGE
OF SAMPLING FREQUENCY
A.V. Bashkirov, Ph.D., assistant professor of design and manufacture of radio, Voronezh State Technical University, Voronezh, Russian Federation, e-mail: [email protected]
A.V. Muratov, doctor of technical sciences, professor, head 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]
The article discusses the 1.22 Gbit / s in a fully parallel decoder GF (64) (160, 80), regular (2, 4) NB-LDPC code in the 90 nm CMOS. Is based on algebraic properties of the binary image functions with low degrees of check nodes (CN) and variable nodes (VN), thus, complexity and VN CN mo-Jette kept low. 960 bits of the codeword 160 are grouped into 6-bit GF (64) characters. Factor graph code comprises 160 VNs and 80 CVs. The fully parallel decoder is a direct mapping of the factor
graph. Implemented a dynamic change in the frequency of sampling at the site level to the majority of the processing units have been closed long before reaching the limit number of iterations. Throughput is further improved by the design of a single-stage check node, which increases the clock frequency to 700 MHz, and the alternating variable node operations and CHECK-term node shortens one iteration of decoding up to 47 cycles. When all the processing units were strobe Rowan, the decoder stops working and moves to the next entry in order to increase the capacity up to 1.22 Gb / s
Key words: full parallel architecture, architecture the variable node, architecture the check node, non-binary LDPC decoder
References
1. Chen X., Wang C. L., High-throughput efficient non-binary LDPC decoder based on simplified min-sum algorithm IEEE Trans. Circuits, Syst. I, Reg. Papers, vol. 59, no. 11, Nov. 2012
2. Declercq D., Fossorier M., «Decoding algorithms for nonbinary LDPC codes over GF(q)» IEEE Trans. Commun., vol. 55, no. 4 Apr. 2007.
3. Bashkirov A. V. Optimizachij apparatnoy arhitektri LDPC - decoder, primenjemogo v standarte radiosvjzi IEEE 802.11n [Optimization LDPC-decoder hardware architecture used in the IEEE 802.11n standard radio communication] Voronezh, VSTU 2016, 97-99 pp.
4. Bashkirov A. V. Model macshtabiruemogo LDPC - decoder nizkoy mochnosti s ispolzovaniem algoritmicheskogo sinteza vusokogo yrovnj [Model Low power LDPC-scalable decoder using the high-level algorithmic synthesis] Voronezh, VSTU 2016. 65-69 pp.
5. 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. 97-99 pp.