Научная статья на тему 'Реализация LDPC декодера на ПЛИС и оптимизация потребляемой мощности'

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

CC BY
330
130
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ / НИЗКОПЛОТНОСТНЫЕ КОДЫ / УМЕНЬШЕНИЕ ПОТРЕБЛЕНИЯ / ПЛИС / FEC / LDPC / DVB-S2 / ERROR FLOOR / FPGA / POWER CONSUMPTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зинченко Максим Юрьевич, Левадний Алексей Михайлович, Гребенко Юрий Александрович

К современным системам радиосвязи предъявляются требования высоконадежной передачи данных по каналам с помехами. В связи с этим помехоустойчивое кодирование стало неотъемлемым этапом цифровой обработки информационных данных. На сегодняшний день существует большое количество помехоустойчивых кодов, одними из самых популярных являются низкоплотностные коды. Представлены результаты разработки архитектуры каскадного кодека для программируемой логической интегральной схемы (ПЛИС) с использованием внутреннего низкоплотностного кода стандарта DVB-S2 и внешнего кода Рида-Соломона. Кодек поддерживает несколько степеней кодирования и длин кодовых слов, описанных в приложении к стандарту. Предлагаемая архитектура декодера имеет частично-параллельную структуру, позволяющую достичь высокой производительности декодирования и эффективного использования ресурсов кристалла. В декодере реализован эффективный алгоритм декодирования со сниженным использованием аппаратных ресурсов, позволяющий производить итеративное "мягкое" декодирование, что значительно повышает вероятность успешного декодирования. Использование метода каскадного кодирования позволяет избавиться от возникающих остаточных ошибок в результате декодирования низкоплотностного кода. Авторами было подтверждено наличие подматриц с двойными диагоналями в структуре проверочных матриц и реализован способ их устранения. Также был произведен анализ параметров, влияющих на статическое и динамическое потребление мощности в программируемой логической интегральной схеме. На его основе предлагаются алгоритмические и архитектурные методы уменьшения потребления. Дано описание разработанных архитектур, методов повышения производительности и уменьшения потребления ПЛИС.

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

FPGA LDPC decoder implementation and optimization its power consumption

Modern radio communication systems claim highly reliable data transmission over noisy channels. In this connection, noiseless coding has become an essential step in the digital processing of information data. To date, there are a large number of error-correcting codes, one of the most popular are low-density parity check codes. The paper presents the results of cascade codec architecture for FPGA using an internal LDPC code of DVB-S2 standard and outer Reed-Solomon code. The codec supports 6 coding rates and 2 frame lengths described in the annex of the standard. The proposed architecture of the decoder has a partially parallel structure, which allows to reach high decoding performance and effective utilization of the FPGA resources. In the decoder, an efficient algorithm of decoding was implemented with a reduced use of hardware resources. Moreover, it supports iterative "soft" decoding, which increases the likelihood of successful decoding. The use of concatenated coding allows to get rid of residual errors arising as a result of decoding of low-density code. It was also confirmed the presence of submatrices with double diagonals in the parity check matrices and a method for eliminating them was implemented. The authors analyzed the parameters that affect the static and dynamic power consumption. Based on it, algorithmic and architectural methods for reducing them are proposed. Paper contains description of the developed architectures, methods to increase productivity and reduce power consumption of the FPGA.

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

РЕАЛИЗАЦИЯ LDPC ДЕКОДЕРА НА ПЛИС И ОПТИМИЗАЦИЯ

ПОТРЕБЛЯЕМОЙ МОЩНОСТИ

Зинченко Максим Юрьевич,

Национальный исследовательский университет "МЭИ", Москва, Россия, ZinchenkoMY@gmail.com

Левадний Алексей Михайлович,

Национальный исследовательский университет "МЭИ", Москва, Россия, LevadniyAM@gmail.com

Гребенко Юрий Александрович,

Национальный исследовательский университет "МЭИ", Москва, Россия, GrebenkoYA@mpei.ru

К современным системам радиосвязи предъявляются требования высоконадежной передачи данных по каналам с помехами. В связи с этим помехоустойчивое кодирование стало неотъемлемым этапом цифровой обработки информационных данных. На сегодняшний день существует большое количество помехоустойчивых кодов, одними из самых популярных являются низкоплотностные коды. Представлены результаты разработки архитектуры каскадного кодека для программируемой логической интегральной схемы (ПЛИС) с использованием внутреннего низкоплотностного кода стандарта DVB-S2 и внешнего кода Рида-Соломона. Кодек поддерживает несколько степеней кодирования и длин кодовых слов, описанных в приложении к стандарту. Предлагаемая архитектура декодера имеет частично-параллельную структуру, позволяющую достичь высокой производительности декодирования и эффективного использования ресурсов кристалла. В декодере реализован эффективный алгоритм декодирования со сниженным использованием аппаратных ресурсов, позволяющий производить итеративное "мягкое" декодирование, что значительно повышает вероятность успешного декодирования. Использование метода каскадного кодирования позволяет избавиться от возникающих остаточных ошибок в результате декодирования низкоплотностного кода. Авторами было подтверждено наличие подматриц с двойными диагоналями в структуре проверочных матриц и реализован способ их устранения. Также был произведен анализ параметров, влияющих на статическое и динамическое потребление мощности в программируемой логической интегральной схеме. На его основе предлагаются алгоритмические и архитектурные методы уменьшения потребления. Дано описание разработанных архитектур, методов повышения производительности и уменьшения потребления ПЛИС.

Информация об авторах:

Зинченко Максим Юрьевич, ассистент кафедры Формирования и обработки радиосигналов, Национальный исследовательский университет "МЭИ", Москва, Россия,

Левадний Алексей Михайлович, аспирант кафедры Формирования и обработки радиосигналов, Национальный исследовательский университет "МЭИ", Москва, Россия,

Гребенко Юрий Александрович, профессор кафедры Формирования и обработки радиосигналов, д.т.н., профессор, Национальный исследовательский университет "МЭИ", Москва, Россия

Для цитирования:

Зинченко М.Ю., Левадний А.М., Гребенко Ю.А. Реализация LDPC декодера на ПЛИС и оптимизация потребляемой мощности // T-Comm: Телекоммуникации и транспорт. 2020. Том 14. №3. С. 4-10.

For citation:

Zinchenko M.Y., Levadniy А.М., Grebenko Y.A. (2020) FPGA LDPC decoder implementation and optimization its power consumption. T-Comm, vol. 14, no.3, pр. 4-10. (in Russian)

T-Comm ^м 14. #3-2020

DOI: 10.36724/2072-8735-2020-14-3-4-10

Ключевые слова: помехоустойчивое кодирование, низкоплотностные коды, уменьшение потребления, ПЛИС, FEC, LDPC, DVB-S2, error floor

Основные положения

Введение

Помехоустойчивое кодирование (Forward Error Correction (FEC)) позволяет повысить достоверность передаваемой информации. Способность исправлять ошибки на приемной стороне и восстанавливать исходную информацию достигается за счет введения избыточности в исходные данные. Среди помехоустойчивых кодов широкое распространение в последние годы получили двоичные низкоплотностные коды (НК), также известные как двоичные коды с малой плотностью проверок на чётность (Low Density Parity Check (LDPC)) [1]. Эти коды используются во многих современных стандартах передачи данных: DVB-S2/T2/C2, 1ЕЕЕ 802.1 ln/ac (Wi-Fi), WiMAX и др. Востребованность вышеупомянутых кодов объясняется тем, что они способны обеспечить максимальные скорости передачи при ограниченной полосе частот, а также обладают рядом преимуществ по сравнению с хорошо зарекомендовавшими себя турбоходами. Выигрыш в уровне сигнал/шум за счет LDPC-кодирования при одинаковой доле контрольных символов может составлять до 3 дБ для выбранного уровня вероятности битовых ошибок I0~f'. Применение этих кодов является также эффективным для противодействия широкополосным импульсным помехам, а также помехам, вызывающим стирание сигнала [2].

Однако, помимо преимуществ, двоичные низкоплотностные коды обладают недостатками, из-за которых их широкое применение началось только с середины 2000-х годов. К ним относятся сложность разработки эффективной структуры кода оптимизированной для аппаратной реализации кодера и декодера, а также в наличие различных структурных эффектов, Эти эффекты часто приводят к возникновению явления остаточного уровня ошибок (Error Floor) в декодированном кодовом слове. Подробное описание данного явления, а также один из способов его устранения, были представлены авторами в [3].

Поскольку в работе за основу была взята структура LDPC кода, представленная в стандарте DVB-S2, с большой длиной кодового слова - 64800 бит, то для практического применения и получения высокой производительности целесообразно применять программируемую логическую интегральную схему (ПЛИС). В рамках данной работы были предложены архитекторы кодера и декодера для реализации в ПЛИС Xilinx Artix-7 хс7а200. Особенностью разработки архитектуры кодера и декодера под ПЛИС является необходимость учитывать ограниченное количество ресурсов кристалла. Также с учетом возможного применения LDPC-кода в портативных системах передачи данных желательно уменьшить статическое и динамическое потребление кристалла.

В данной работе был разработан кодер FIK в соответствии с рекомендациями и алгоритму кодирования представленными в стандарте, описание его архитектуры было представлено авторами в [4]. Основная сложность возникает с реализацией алгоритма декодирования. Так как эффективная архитектура декодера должна не только производить декодирование в соответствии со стандартом, но обеспечивать заданную производительность и низкое потребление мощности.

Низкоплотностные коды являются линейными блоковыми кодами. Особенностью НК является малая плотность значимых элементов в матрице - единиц, означающих связь битов кодового слова с соответствующими проверками. В стандарте цифрового спутникового вещания второго поколения DVB-S2 используются коды LDPC, для которых определена 21 степень кодирования и две длины кодового слова - 16200 и 64800 бит [5]. В приложении к стандарту представлены справочные таблицы, используя которые, можно построить порождающие матрицы G для каждой степени кодирования R и соответствующие им проверочные матрицы Н. Удобным графическим способом представления структуры НП кода является двудольный граф Таннсра, включающий а себя битовые и проверочные вершины.

Использование LDPC-кодов данного стандарта позволяет при применении методов итеративного декодирования над «мягкими» входными битами практически вплотную приблизиться к пропускной способности канала но Шеппону. Также предлагаемая в стандарте структура кода оптимизирована для аппаратного исполнения и является квазициклической, что позволяет осуществлять при декодировании обработку до 360 проверок параллельно. В работе для последующей реализации были выбраны 6 степеней кодирования. На рисунке 1 представлены графики зависимости вероятности битовой ошибки от отношения Еь/No для этих степеней кодирования и длин кодовых слов.

1Е+00 1Е-01 1Е-02

W >

1Е-03

i

1Ё-04 i íE-os ; iE-06 i 1E-07 1

-3 -2 -1 0 1 2 3 4 s

дБ

— LDPC R=l/4 (N=64800) — LDPC R=l/2 (N=64800)

— LDPC R-3/4 (N=64800) - LDPC B=2/3 (N=16200)

—»— LDPC R-2/5 (N-16200) —— LDPC R-11/45 (N= 16200)

Рис. 1. Вероятность битовой ошибки от отношения Ep/N,, для выбранных степеней кодирования LDPC-кода стандарта DVB-S2

Архитектура декодера

При разработке архитектуры декодера требуемый уровень производительности был установлен следующим образом: время декодирования одного кодового слова длиной 64800 бит при 50 итерациях декодирования не должно превышать 2 мс, что позволит получить максимальную информационную скорость 24,3 Мбит/с при степени кодирования R=3/4. Исходя из данных ограничений была выбрана час-тнчно-парал.тельная модель, в которой 90 блоков обработки (БО) подсчитывают 90 проверочных выражений одновременно.

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

(!)

В работе вместо алгоритма «сумма произведений» используется аппаратно-эффективный алгоритм «минимум сумм», в котором вычисление функции (1) аппроксимировано суммированием минимумов вероятностей, входящих в проверку [6]. Также произведена модификация алгоритма «минимум сумм», позволяющая перейти от двухэтапного алгоритма к одноэтапному с одновременным расчетом значений проверочных выражений и обновлением вероятностей бит кодового слова, что значительно снижает требования к объему необходимой памяти ПЛИС. В таблице I представлено количество проверочных выражений, расчет которых необходим для завершения одной итерации декодирования, а также количество бит входящих в каждое проверочное выражение.

Таблица 1

Размер N Степень кодирования, К Количество проверочных выражении Количество бит входящих в каждое проверочное выражение

1/4 48600 4

о оо т 1/2 32400 7

■о 3/4 16200 14

о 11/45 12240 4

<ч да 2/5 9720 6

2/3 5400 8

На рисунке 2 представлена блок-схема предлагаемой архитектуры декодера НП кода. Декодер поддерживает 6 степеней кодирования стандарта В\''В-52 и имеет частично-параллельную архитектуру с 90 блоками обработки проверочных выражений.

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

Для декодирования низкоплотностного кода стандарта ОУВ-52 необходимо обеспечить высокую пропускную способность обращений к памяти при псевдослучайном изменении адреса чтения и записи. Линейная организация структуры памяти не сможет обеспечить необходимую пропускную способность, поэтому для разрешения данного ограничения в разработанной архитектуре предлагается разделить память на 90 блоков и обращаться к ним параллельно.

Э а _ы

ззЛ

§5

МОДУЛЬ УПРАВЛЕНИЯ ВВОДОМ ДАННЫХ

МОДУЛЬ УПРАВЛЕНИЯ БЛОКАМИ ПАРАЛЛЕЛЬНОГО СДВИГА

МОДУЛЬ УПРАВЛЕНИЯ ДЕКОДЕРОМ

МОДУЛЬ УПРАВЛЕНИЯ ВЫ ВОДОМ ДАННЫХ

ОЗУ 1 ОЗУ 2 ОЗУ 3 ОЗУ Ё9 ОЗУ 90

БЛОК ПАРАЛЛЕЛЬНОГО СДВИГА

Т

ь01

з:

I

ЕО 2

ьоз

БО 89

I

X

ВО 90

г

БЛОК ПАРАЛЛЕЛЬНОГО СДВИГА -1

■+Й5 |

Рис. 2. Структурная схема архитектуры декодера НП кода

При отображении адресов битовых вершин, входящих в проверочные выражения, было обнаружено, что циклический сдвиг имеющий место в подматрицах 360x360 отображается также на адресное пространство 90 блоков памяти. При чтении данный сдвиг необходимо компенсировать, чтобы вероятности бит поступили в соответствующие блоки обработки. После пересчета вероятности бит в БО значения необходимо записать в исходные блоки памяти, то есть необходимо восстановить исходный циклический сдвиг. На рисунке 3 показаны примеры возможного отображения циклических сдвигов на структуру памяти.

Номер блока памяти

1 2 3 4 42 43 44 45 46 47 48 49 87 88 89 90

Н- 1 (Ч

г 1 2 3 4 42 43 44 45 46 47 48 49

£ 87 88 89 90

| Адрес блока памяти

89 90

1 г 3 4 42 43 44 45 16 47 48 49 87 63

Рис, 3. Варианты отображения циклических сдвигов в блоках памяти

При такой организации памяти для хранения вероятностей бит авторами был разработан способ отображения линейного кодового слова на параллельную структуру памяти и определен алгоритм пересчета адресов вероятностей бит с учетом периодичности проверочной матрицы Н. Также были реализованы чтение и запись 90 вероятностей бит с учетом циклического сдвига в подматрицах 360x360. Для этого осуществлена компенсация сдвига перед входами блоков обработки и его восстановление на выходе блоков обработки для последующей записи обновленных значений верояг-

ностя бит в исходные блоки и адреса памяти ПЛИС. Эта обработка выполняется при каждом чтении и записи в память с учетом конвейерного типа движения данных, реализованного в декодере, и осуществляется за счет матрицы сдвиговых мультиплексоров в блоках параллельного сдвига.

В процессе проверки работы декодера было выявлено, что параллельная обработка кодового слова приводит к деградации корректирующей способности но сравнению с последовательным декодированием. Исследование процесса декодирования показало, что данное ухудшение вызвано конфликтами обращения к памяти ПЛИС. Такие конфликты возникают, когда два блока обработки по завершении расчетов пытаются записать новые значения вероятностей бит в ячейку памяти ПЛИС с одинаковым адресом. Анализ причин возникновения данных конфликтов показал, что они связаны со структурой ЬЭРС кода стандарта ОУВ-82, так как в подматрицах 360x360 проверочной матрицы Н могут присутствовать двойные диагонали. В таблице 2 приведено количество подматриц с двойными диагоналями для различных степеней кодирования.

Таблица 2

Количество 1'азмер проверочной матрицы

Степень коди- подматриц с С подматрицами bei подматри-

рования, R двойной С двойными цами с двойны-

диагональю диагоналями ми диагоналями

1/4 3 48600x64800 49680x65880

1/2 8 32400x64800 35280x67680

3/4 23 16200x64800 24480x73080

11/45 0 12240x16200 ¡2240x16200

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

2/5 8 9720x16200 12600x19080

2/3 14 5400x16200 10440x21240

Как было сказано выше, единицы в матрице Н обозначают связь вероятностей бит кодового слова и соответствующих проверок. Из-за присутствия двойной диагонали группа из 360 битовых вершин будет дважды связана с первыми 360 проверочными выражениями. При параллельной обработке, в отличие от выполнения алгоритма последовательно, это приводит к вхождению битовой вершины в две параллельно рассчитываемые проверки. В результате обновленное значение вероятности бита, полученное при расчете первого проверочного выражения, не будет учтено при расчете второго проверочного выражения. Происходит накопление битовой ошибки н сильная дег радация корректирующей способности декодера. В работе данная проблема была решена путем преобразования структуры проверочной матрицы, подробно описанным в [7]. Данный метод заключается в построении эквивалентной матрицы Н, в которой подматрицы С двумя диагоналями разделены на две подматрицы: подматрицу с одной диагональю и связывающую единичную подматрицу.

Преимуществом применения данного метода устранения двойных диагоналей в подматрицах 360x360 является возможность сохранить алгоритм декодирования без изменений. Однако при этом увеличивается время декодирования из-за обработки дополнительных проверочных выражений и необходим больший объем памяти для хранения вероятностей бит связывающих подматриц. В таблице 2 приведены размеры проверочных матриц Н, полученные после устранения в них двойных диагоналей.

Оптимизация потребления

При разработке архитектуры декодера под ПЛИС важно уменьшить потребляемую кристаллом мощность. Общее потребление ПЛИС состоит из двух составляющих: статической н динамической потребляемой мощности. Статическое потребление в основном зависит от задействованных аппаратных ресурсов ПЛИС. Динамическое потребление определяется используемым количеством и частотой переключения логических элементов [8].

Уменьшение статического потребления

Чтобы снизить статическое потребление, необходимо уменьшить общее количество используемых логических элементов ПЛИС. Однако, так как разрабатываемая архитектура должна отвечать требованиям производительности, описанным выше, то невозможно уменьшить количество используемых ресурсов изменением количества параллельно работающих блоков обработ ки и памяти.

Один из параметров, изменение которого не влияет на производительность, но позволяет снизить статическое потребление - это разрядность данных обрабатываемых логарифмических отношений правдоподобия. При этом выбор количества значащих бит в Значениях вероятностей влияет не только на занимаемые ресурсы ПЛИС, но и на качество декодирования. На рисунке 4 представлено сравнение трафиков зависимости вероятности битовой ошибки от отношения Е^/Н, при различном количестве значащих бит в разрядности данных логарифмических отношений правдоподобия для ЬОРС кода с Я = 1/2 и N - 64800.

1Е+00

1Е-02

1Е-03

1E-CW

1Е-05

1E-Q6

1Е-07

"Л .... —

I-*-*

1*4, ■

" - -

---- --—«

uncoded

t 5 6 7

Eb/Nd, ДБ 7 bit —•—6 bit

-5 ЬК

10 11 12

4

Рис, 4. Влияние разрядности ЛОК на зависимость вероятности битовой ошибки от отношения

Как видно из рисунка 4, хорошие результаты получаются при количестве значащих бит в векторах логарифмических отношений правдоподобия больше 4. Видно, что при 6 значащих битах «ступенька» па графике вероятности битовой ошибки будет ниже чем при 5. Если установить необходимую достоверность передачи данных равную 10"\ то выигрыш при использовании 6-битной архитектуры будет равен 1.7 дБ по сравнению с 5-битной. Дальнейшее увеличение разрядности до 7 бит не дает ощутимого выигрыша по сравнению с 6 значащими битами.

Y

Для сравнения статического потребления при использовании 5 и 6 значащих бит был произведен синтез двух архитектур декодера ЬЭРС-кода под ПЛИС. Результаты синтеза представлены в табл. 3.

Таблица 3

Значащих бит в логарифмических отношениях правдоподобия 5 бит 6 бит

Используемое количество логических блоков (LUT) 72933 (55 %) 81739(61 %)

Используемое количество триггеров (FF) 93040 (35 %) 105738(40%)

Расчетная мощность потребления ПЛИС 2,379 Вт 2,548 Вт

Сравнение двух результатов синтеза позволяет сделать вывод, что использование 5-битной архитектуры дает возможность уменьшить количество используемых логических элементов на 6%, триггеров - на 5%, При этом общее потребление ПЛИС уменьшится на 0,169 Вт.

Уменьшение динамического потребления

Динамическое потребление ПЛИС определяется количеством логических элементов и частотой переключений их состояний. В декодере переключения логических элементов совершаются во время итеративного декодирования кодового слова. Следовательно, время декодирования напрямую влияет на динамическое потребление.

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

Для определения оптимального значения максимального количества итераций декодирования ([ter,„as) было произведено сравнение изменения ¡рафика вероятности битовой ошибки от отношения Ец/N« для LDPC-кода с N = 64800 и R = 1/2 при разных значениях Iserllw, Результаты сравнения представлены на рис. 5.

1Е-05

1Е-С6

0.7 0.3 0.9 1 1.1 1.2 1.3 1.4

Еь/No, ДЬ

- ¡terSO -*— iter30 • ¡ter25 • iterZO iterl5

Рис. 5. Влияние lternla, на зависимость вероятности битовой ошибки от отношения lüt/N(l

В приложении к стандарту DVB-S2 предлагается ограничивать декодирование 50 итерациями. В работе было выбрано количество итераций Itermilx равное 30, так как это позволяет уменьшить время декодирования на 40% при незначительном ухудшении качества декодирования на 0,4 дБ.

В процессе декодирования после завершения каждой итерации подсчитываете я количество несошедшихся проверочных выражений. Если это количество равно нулю, значит все проверки сошлись и получено верное кодовое слово. Декодер завершает декодирование и выдает исправленный информационный вектор. Таким образом, при хорошем отношении Et/Ni, количество итераций может быть значительно меньше lter„lilx.

Для определения недекодируемых блоков в работе была использована метрика количества несошедшихся проверок на различных итерациях. Для определения оптимальной итерации и константного порогового значения для сравнения было исследовано изменение количества несошедшихся проверок (KI1П) в зависимости от итерации декодирования и отношения IVNu. Результаты для LDPC-кода с N - 64800 и R = 1/2 представлены на рис. 6 и 7.

14000

,12000

FEC-блоки-___Декодируемые

rut илики. щ зо итераций

20 2S 30 35 Номер итерации - декодируете ЖвГ

Рис, 6. Зависимость КНП от итераций декодирования для кодовых слов с различным начальным отношением Е^Т^

а,ооо

н

Э, 7,000 f

б,000

ш

о. 5,000 с

4,000

s

I 3,000 tu

о 2,000

и

а>

х 1,000

Г""-*--..,

' «

1

> > <

, ■.

Ч_ >

У Ч к . * *

X i -- -1

0 0.2 0.4 0.S 0.8 1 1.2 1.4 1.6 1.8 2 Et/N0, дБ

• iterO • ¡ter2 • iterB —•— íter4 —■•— ¡ter5 •*•• iter9 Рис. 7. Зависимость KHI I от Еь/No на различных итерациях

T-Comm Том 14. #3-2020

Анализ графиков на рисунке 6 показывает резкое уменьшение количества КИП на первых нескольких итерациях для декодируемых и недекодируемых блоков. Па последующих итерациях этот уровень для декодируемых блоков продолжает плавно уменьшатся, а для недекодируемых блоков остается вблизи постоянного значения. Таким образом, наилучшей стратегией определения недекодируемых блоков будет сравнение уровня HK1I с пороговым значением на 3-5 итерации. Пороговое значение следует выбрать таким образом, чтобы, начиная с граничного отношения E(/No. блоки считались декодируемыми. Например, из графика на рис. 7 видно, что для 4 итерации пороговое значение НКП для граничного отношения Еь/No = 1 дБ (N=64800; R = t/2) равно 4050.

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

— Исходные параметры —— Оптимальные параметры

1Е+00 1Е-01 -1Е-02 cflE-03 1Е-04 1Е-05 1Е-06

О 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 E„/N„, Д5

V \

А

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Eb/N0, ДБ

Рис. 8, Сравнение характеристик декодера с исходными и оптимальными параметрами

з

2

На рисунке 9 доказана зависимость выигрыша потребляемой мощности ДР от отношения Eb/N<( для LDPC кода с N=64800 и R — 1/2. Как видно из графика использование предлагаемых методов уменьшения статического и динамического потребления ПЛИС позволяет уменьшить потребление на 2.5 Вт для недекодируемых блоков.

Заключение

В работе описаны особенности архитектуры декодера низкоплотностного кода стандарта DVB-S2 для шести степеней кодирования. Использование оптимального алгоритма обработки проверочных выражений позволяет снизить сложность реализации и уменьшить занимаемые аппаратные ресурсы ПЛИС. Предлагаемая частично-параллельная архитектура отвечает высоким требованиям к необходимой пропускной способности интерфейсов между памятью и блоками обработки. Обнаружены конфликты обращений к блокам памяти, связанные с наличием двойных диагоналей в подматрицах проверочной матрицы LDPC-кода стандарта и предложен способ их устранения. Произведен анализ параметров декодера, влияющих на статическое и динамическое потребление мощности ПЛИС, разобраны методы подбора оптимальных значений, что позволило снизить потребляемую мощность на 2,5 Вт при сохранении качества декодирования на исходном уровне.

Литература

1. Gallager R. Low-density parity-check codes // IRE Transactions on information theory. 1962, T. 8. №. l.C.21-28.

2. Варгаузин В.А. Цикии И.А. Методы повышения энергетической и спектральной эффективности цифровой радиосвязи, БХ8-11егербург, 2013.

3. Zinchenko M.Y.. Levadniy A.M.. Grebenko Y.A. Concatenated error correction code implementation on FPGA //2019 Systems of Signal Synchronization, Generating and Processing in Telecommunications (SYNCHROINFO). IEEE, 2019, pp. 1-4.

4. Zinchenko M }', Levadniy A.M., Grebenko Y.A. Development of the LDPC coder-decoder of the DVB-S2 standard on FPGA // 2018 Systems of Signal Synchronization, Generating and Processing in Telecommunications (SYNCHROINFO). IEEE, 2018. C. 1-3.

5. ETS1 E. B. U. Digital video broadcasting (dvb); second generation framing structure, channel coding and modulation systems for broadcasting, interactive services, news gathering and other broadband satellite applications. Technical report, Tech, rep., ETS1, 2005.

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

6. H. Zhong. W. Xu, N. Xie. and T, Zhang. Area-Efficient Min-Sum Dccodcr Design for High-Rate QC'-LDPC Codes in Magnetic Recording II IEEE Transactions on Magnetics, vol, 43, No. 12, pp. 4117-4122. Dec. 2007.

7. C, Marchartd, J-B Dore, L. Conde-Canencia and E. Boutillon. Conflict Resolution by Matrix Reordering for DVB-T2 LDPC Decoders // 2009 IEEE Global Telecommunications Conference (Honolulu, HI), pp. 1-6, Dec. 2009.

8. Тарасов И. Оценка потребляемой мощности и выбор системы питания ПЛИС Xilinx II Компоненты и технологии. С. 62-64, 02.2009.

FPGA LDPC DECODER IMPLEMENTATION AND OPTIMIZATION ITS POWER CONSUMPTION

Maksim Y. Zinchenko, National Research University "MPEI" Moscow, Russia, ZinchenkoMY@gmail.com Alexey M. Levadniy, National Research University "MPEI" Moscow, Russia, LevadniyAM@gmail.com Yuri A. Grebenko, National Research University "MPEI" Moscow, Russia, GrebenkoYA@mpei.ru

Abstract

Modern radio communication systems claim highly reliable data transmission over noisy channels. In this connection, noiseless coding has become an essential step in the digital processing of information data. To date, there are a large number of error-correcting codes, one of the most popular are low-density parity check codes. The paper presents the results of cascade codec architecture for FPGA using an internal LDPC code of DVB-S2 standard and outer Reed-Solomon code. The codec supports 6 coding rates and 2 frame lengths described in the annex of the standard. The proposed architecture of the decoder has a partially parallel structure, which allows to reach high decoding performance and effective utilization of the FPGA resources. In the decoder, an efficient algorithm of decoding was implemented with a reduced use of hardware resources. Moreover, it supports iterative "soft" decoding, which increases the likelihood of successful decoding. The use of concatenated coding allows to get rid of residual errors arising as a result of decoding of low-density code. It was also confirmed the presence of submatrices with double diagonals in the parity check matrices and a method for eliminating them was implemented. The authors analyzed the parameters that affect the static and dynamic power consumption. Based on it, algorithmic and architectural methods for reducing them are proposed. Paper contains description of the developed architectures, methods to increase productivity and reduce power consumption of the FPGA.

Keywords: FEC, LDPC, DVB-S2, FPGA, error floor, power consumption.

References

1. Gallager R. (1962). Low-density parity-check codes. IRE Transactions on information theory. 1962. Vol. 8. No. 1, pp. 21-28.

2. Vargauzin V.A. Tsikin I. A. Methods of increasing the energy and spectral efficiency of digital radio communications. - BHV-Petersburg, 2013.

3. Zinchenko M.Y., Levadniy A.M., Grebenko Y.A. (2019). Concatenated error correction code implementation on FPGA. 2019 Systems of Signal Synchronization, Generating and Processing in Telecommunications (SYNCHROINFO). IEEE, 2019. pp. 1-4.

4. Zinchenko M.Y., Levadniy A.M., Grebenko Y.A. (2018). Development of the LDPC coder-decoder of the DVB-S2 standard on FPGA. 2018 Systems of Signal Synchronization, Generating and Processing in Telecommunications (SYNCHROINFO). IEEE, 2018, pp. 1-3.

5. ETSI E. B. U. Digital video broadcasting (dvb); second generation framing structure, channel coding and modulation systems for broadcasting, interactive services, news gathering and other broadband satellite applications. Technical report, Tech. rep., ETSI, 2005.

6. H. Zhong, W. Xu, N. Xie, and T. Zhang, (2007). "Area-Efficient Min-Sum Decoder Design for High-Rate QC-LDPC Codes in Magnetic Recording," IEEE Transactions on Magnetics. Vol. 43, No. 12, pp. 4117-4122, Dec. 2007.

7. C. Marchand, J-B Dore, L. Conde-Canencia and E. Boutillon, (2009). "Conflict Resolution by Matrix Reordering for DVB-T2 LDPC Decoders", 2009 IEEE Global Telecommunications Conference (Honolulu, HI), pp. 1-6, Dec. 2009.

8. Tarasov I. (2009). Estimation of power consumption and choice of power supply system Xilinx FPGAs, Components and Technology, pp. 62-64, 02.2009.

Information about authors:

Maksim Y. Zinchenko, PhD student, assistant, Formation and processing of radio signals department National Research University "MPEI"

Moscow, Russia

Alexey M. Levadniy, PhD student, Formation and processing of radio signals department National Research University "MPEI" Moscow, Russia Yuri A. Grebenko, Professor, Formation and processing of radio signals department National Research University "MPEI" Moscow, Russia

T-Comm "Гом 14. #3-2020

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