exponenta event banner

Декодер NR LDPC

Декодировать код LDPC с использованием многоуровневого распространения убеждений с помощью алгоритма аппроксимации с минимальной суммой или нормализованного аппроксимации с минимальной суммой

  • Библиотека:
  • Беспроводная панель инструментов HDL/обнаружение и исправление ошибок

  • NR LDPC Decoder block

Описание

Блок декодера NR LPDC реализует декодер с низкой плотностью контроля четности (LDPC) с аппаратными управляющими сигналами. Блок принимает проколотые значения логарифмического отношения правдоподобия (LLR), поток управляющих сигналов, номер базового графа и размеры подъема. Блок выводит декодированные биты, поток управляющих сигналов, размеры подъема и сигнал, который указывает, когда блок готов принять новые входы.

Этот блок предоставляет возможность реализовать многоуровневое распространение веры либо с помощью алгоритма аппроксимации с нормализованной минимальной суммой, либо с помощью алгоритма аппроксимации с минимальной суммой. Эта реализация соответствует реализации функции. nrLDPCDecode (5G Панель инструментов). Этот блок можно использовать для канального кодирования совместно используемых каналов нисходящей и восходящей линии связи и пейджингового канала в соответствии 5G новым стандартом радиосвязи (NR) TS 38.212 [1].

Блок декодера NR LDPC поддерживает скалярные и 64-элементные векторные входы столбцов. Блок поддерживает функцию раннего завершения, чтобы помочь улучшить эффективность декодирования и ускорить скорости сходимости при условиях с высоким отношением шумов сигнала (SNR). Блок позволяет декодировать множество кодовых скоростей, чтобы способствовать достижению высокой эффективности пропускной способности с высокой степенью гибкости кодовой скорости. Блок обеспечивает архитектуру, подходящую для генерации кода HDL и аппаратного развертывания. Дополнительные сведения см. в разделе Алгоритмы.

Порты

Вход

развернуть все

Входные значения логарифмического отношения правдоподобия (LLR), определенные как скаляр или вектор столбца размера 64.

Тип данных этого входа должен быть подписанным типом данных с фиксированной точкой с длиной слова от 4 до 16 бит. Дополнительные сведения о задании векторных входных данных см. в разделе Указание векторных входных данных.

Типы данных: int8 | int16 | fixed point

Управляющие сигналы, сопровождающие поток проб, указанные как samplecontrol Шина включает в себя start, end, и valid управляющие сигналы, которые указывают границы кадра и достоверность выборок.

  • start - Указывает начало входного кадра.

  • end - Указывает конец входного кадра

  • valid - Указывает, что данные на порте входных данных являются допустимыми

Дополнительные сведения см. в разделе Пример шины управления.

Типы данных: bus

Номер базового графа, заданный как скаляр. Когда это значение равно 0, блок применяет bgn 1. Когда это значение равно 1, блок применяет bgn 2. Для получения дополнительной информации о bgn 1 и bgn 2 см. раздел 5.3.2 TS 38.212 [1].

Типы данных: Boolean

Входной размер подъема, заданный как скаляр.

Для недействительной стоимости liftingSize блок отказывается от текущей структуры и ждет новой структуры. Для получения дополнительной информации о поддерживаемых значениях грузоподъемности см. раздел 5.3.2 TS 38.212 [1].

Типы данных: uint16

Число итераций, указанное как целое число в диапазоне от 1 до 63.

Если задать значение iter больше 63, блок автоматически установит значение iter равным 8 и выполняет операцию декодирования.

Зависимости

Для активизации этого порта установите для параметра Decoding termination criteria значение Max и параметр Source для количества итераций для Input port.

Типы данных: uint8

Число строк, указанное как скаляр.

При установке значения bgn в 0 блок поддерживает количество строк в диапазоне от 4 до 46. При установке значения bgn в 1блок поддерживает количество строк в диапазоне от 4 до 42.

Зависимости

Чтобы включить этот порт, выберите параметр Enable multiple code rates.

Типы данных: fixdt(0,6,0)

Продукция

развернуть все

Декодированные выходные биты данных, возвращенные как скаляр или вектор столбца размера 64.

Блок выводит биты данных в формате, аналогичном входным значениям LLR. Извлеките эти выходные биты данных в подобном формате для дальнейшей обработки.

Типы данных: Boolean

Управляющие сигналы, сопровождающие поток проб, возвращаемые в виде samplecontrol Шина включает в себя start, end, и valid управляющие сигналы, которые указывают границы кадра и достоверность выборок.

  • start - Указывает начало выходного кадра.

  • end - Указывает конец выходного кадра

  • valid - Указывает, что данные порта выходных данных являются допустимыми

Дополнительные сведения см. в разделе Пример шины управления.

Типы данных: bus

Выходной размер подъема, возвращаемый как скаляр.

Типы данных: uint16

Блок устанавливает этот сигнал на 1 когда блок готов принять начало следующего кадра. Если блок принимает входной начальный сигнал, пока nextFrame имеет значение 0блок отбрасывает текущий кадр и начинает обработку новых данных.

Дополнительные сведения см. в разделе Использование выходного сигнала nextFrame.

Типы данных: Boolean

Фактическое количество итераций, которое блок принимает для декодирования выходного сигнала, возвращаемого в виде скаляра.

Зависимости

Для активизации этого порта установите для параметра Decoding termination criteria значение Early.

Типы данных: uint8

Индикатор состояния проверки четности, возвращаемый как логический скаляр. Порт указывает состояние проверки четности после операции декодирования.

  • 0 - Указывает, что проверка четности не выполнена

  • 1 - Указывает, что проверка четности пройдена

Зависимости

Чтобы включить этот порт, выберите параметр Включить выходной порт проверки четности.

Типы данных: Boolean

Параметры

развернуть все

Выберите тип алгоритма. Дополнительные сведения см. в разделе Алгоритм (5G Toolbox).

Укажите коэффициент масштабирования.

Зависимости

Чтобы включить этот параметр, установите для параметра Algorithm значение Normalized min-sum.

Выберите критерии завершения декодирования.

  • Max - прекращает декодирование, когда блок достигает числа итераций, указанного в маске блока, или через входной порт итера.

  • Early - прекращает декодирование при выполнении всех проверок четности или при достижении блоком максимального количества итераций, предусмотренных в маске блока;

Выберите источник для указания количества итераций.

Можно задать количество итераций с помощью входного порта или параметра.

  • Выбрать Property для включения параметра Количество итераций.

  • Выбрать Input port для активизации порта итера.

Зависимости

Чтобы включить этот параметр, установите для параметра Decoding termination criteria значение Max.

Укажите количество итераций.

Зависимости

Чтобы включить этот параметр, задайте для параметра Источник для числа итераций значение Property.

Укажите максимальное число итераций.

Зависимости

Чтобы включить этот параметр, установите для параметра Decoding termination criteria значение Early.

Выберите этот параметр, чтобы включить входной порт numRows для поддержки нескольких кодовых скоростей. Дополнительные сведения о нескольких кодовых скоростях см. в разделе Несколько кодовых скоростей.

Выберите этот параметр, чтобы включить выходной порт проверки четности для просмотра состояния проверки четности.

Примеры модели

Подробнее

развернуть все

Алгоритмы

развернуть все

На этом рисунке показана блок-схема архитектуры блока декодера NR LDPC. Блок контроллера управляет подсчетом уровней и итераций процесса декодирования. Блок RAM переменного узла хранит сообщения переменного узла (VN), а блок RAM контрольного узла хранит сообщения контрольного узла (CN). Блок функционального блока вычисляет сообщения переменного узла (VN) и сообщения контрольного узла (CN) на основе многоуровневого распространения верования и либо алгоритма аппроксимации нормализованной минимальной суммы, либо алгоритма аппроксимации минимальной суммы. Блок состояния проверки окончания/проверки четности вычисляет проверки четности и предоставляет статус проверки четности после каждой итерации. Дополнительные сведения о алгоритмах декодирования см. в разделе Алгоритм (5G Toolbox).

NR LDPC Block Architecture

Реализация блока соответствует производительности функции nrLDPCDecode (5G Панель инструментов).

На этом графике показана производительность блока для 4-битного входа LLR при установке параметра Algorithm в значение Min-sum.

LDPC Decoder BER Performance Comparison Min-sum

На этом графике показана производительность блока для 4-битного входа LLR при установке параметра Algorithm в значение Normalized min-sum .

LDPC Decoder BER Performance Comparison Normalized min-sum

Этот график показывает среднее количество итераций, принимаемых для декодирования данных на EbNo для 4-битного входа LLR при установке параметра Algorithm равным Min-sum и параметр Decoding termination criteria to Early.

LDPC Decoder Average Number of Iterations Performance Comparison

Ссылки

[1] 3GPP TS 38.212. "НР; мультиплексирование и канальное кодирование. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

[2] Галлагер, Р. «Коды проверки четности с низкой плотностью». Сделки IEEE по теории информации 8, № 1 (январь 1962 года): 21-28. www.doi.org/10.1109/TIT.1962.1057683.

Расширенные возможности

.

См. также

Блоки

Функции

Представлен в R2020a