NR LDPC Decoder

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

  • Библиотека:
  • Wireless HDL Toolbox / Выявление ошибок и Коррекция

  • NR LDPC Decoder block

Описание

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

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

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

Порты

Входной параметр

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

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

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

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

Управляющие сигналы, сопровождающие демонстрационный поток в виде samplecontrol шина. Шина включает startконец, и 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 и выполняет операцию декодирования.

Зависимости

Чтобы включить этот порт, установите параметр 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 шина. Шина включает startконец, и valid управляющие сигналы, которые указывают на контуры системы координат и валидность выборок.

  • start — Указывает на запуск выходной системы координат

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

  • valid — Указывает, что данные по порту выхода data допустимы

Для большего количества детали смотрите Демонстрационную Шину управления.

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

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

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

Блокируйте готовый индикатор, возвращенный как булев скаляр.

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

Параметры

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

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

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

Зависимости

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

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

  • Max — Отключает декодирование, когда блок достигает количества итераций, заданных через параметр Number of iterations или через входной порт iter

  • Early — Отключает декодирование, когда всем проверкам четности соответствуют или когда блок достигает максимального количества итераций, заданных через параметр Maximum number of iterations или через входной порт iter

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

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

  • Выберите Property включить или параметр Number of iterations или параметр Maximum number of iterations.

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

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

Зависимости

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

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

Зависимости

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

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

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

Больше о

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

Алгоритмы

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

Этот рисунок показывает блок-схему архитектуры блока NR LDPC Decoder. Блок Controller управляет слоем и количеством итерации процесса декодирования. Блок RAM Узла переменной хранит сообщения узла переменной (VN), и блок RAM узла Проверки хранит сообщения узла проверки (CN). Блок Functional Unit вычисляет сообщения узла переменной (VN) и сообщения узла проверки (CN) на основе многоуровневого распространения веры и или нормированный алгоритм аппроксимации суммы min или алгоритм аппроксимации суммы min. Блок состояния Завершения/Проверки четности вычисляет проверки четности и обеспечивает состояние проверки четности после каждой итерации. Для получения дополнительной информации о декодировании алгоритмов, см. Алгоритм (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; мультиплексирование и кодирование канала”. Проект партнерства третьего поколения; сеть радиодоступа Technical Specification Group.

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

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

Смотрите также

Блоки

Функции

Введенный в R2020a