NR LDPC Decoder

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

  • Библиотека:
  • Беспроводной HDL Toolbox/Обнаружение и коррекция ошибок

  • NR LDPC Decoder block

Описание

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

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

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

Порты

Вход

расширить все

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

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

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

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

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

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

  • valid - Указывает, что данные входного data порта действительны

Для получения дополнительной информации см. Выборку шины управления.

Типы данных: 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 for number of iterations для Input port.

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

Количество строк в виде скаляра.

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

Зависимости

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

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

Выход

расширить все

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

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

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

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

  • start - Указывает начало выходной системы координат

  • end - Указывает конец выходной системы координат

  • valid - Указывает, что данные выходного data порта действительны

Для получения дополнительной информации см. Выборку шины управления.

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

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

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

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

Чтобы включить этот порт, выберите параметр Enable parity check output port.

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

Параметры

расширить все

Выберите тип алгоритма. Для получения дополнительной информации смотрите Алгоритм (5G Toolbox).

Задайте масштабный коэффициент.

Зависимости

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

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

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

  • Early - Завершает декодирование, когда все проверки четности выполняются или когда блок достигает максимального количества итераций, обеспеченных в маске блока

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

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

  • Выберите Property для включения параметра Number of iterations.

  • Выберите Input port чтобы включить порт iter.

Зависимости

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

Задайте количество итераций.

Зависимости

Чтобы включить этот параметр, установите параметр Source for number of iterations равным Property.

Задайте максимальное количество итераций.

Зависимости

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

Выберите этот параметр, чтобы включить входной порт numRows для поддержки нескольких скоростей кода. Для получения дополнительной информации о множественных скоростях кода см. Раздел «Скорости нескольких кодов».

Выберите этот параметр, чтобы разрешить parityCheck выхода порту просматривать состояние проверки четности.

Подробнее о

расширить все

Алгоритмы

расширить все

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

NR LDPC Block Architecture

Реализация блока соответствует эффективности функции nrLDPCDecode (5G Toolbox).

Этот график показывает эффективность блока для 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 для Early.

LDPC Decoder Average Number of Iterations Performance Comparison

Ссылки

[1] 3GPP TS 38.212. "NR; Мультиплексирование и канальное кодирование ". 3-ья Генерация проект Партнерства; Группа технических спецификаций Радиосеть доступ.

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

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

.

См. также

Блоки

Функции

Введенный в R2020a