LTE Convolutional Decoder

Декодируйте сверточно-закодированные выборки с использованием алгоритма Viterbi

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

  • LTE Convolutional Decoder block

Описание

Блок LTE Convolutional Decoder реализует Алгоритм Viterbi обтекания (WAVA), чтобы декодировать выборки, закодированные многочленами с последующим кусочком, заданными стандартом LTE TS 36.212 [1]. Сверточный код имеет ограниченную длину 7 и является хвостовым кусочком с 1/3 скорости кодирования и восьмиугольными полиномами G0 = 133, G1 = 171 и G2 = 165. Блок обеспечивает аппаратно оптимизированную архитектуру и интерфейс.

Этот блок использует интерфейс потоковой выборки с шиной для связанных сигналов управления. Этот интерфейс позволяет блоку работать независимо от формата кадра и легко соединяться с другими блоками Toolbox™ Wireless HDL. Блок принимает и возвращает значение, представляющее одну выборку, и шину, содержащую три сигнала управления. Эти сигналы указывают валидность каждой выборки и контуров системы координат. Чтобы преобразовать матрицу в поток сэмплирования и эти сигналы управления, используйте блок Frame To Samples или whdlFramesToSamples функция. Полное описание интерфейса см. в разделе Потоковый пример интерфейса.

Блок принимает входные выборки, представляющие мягкие или жесткие решения. Каждая выборка является вектором 3 на 1, где три значения представляют биты, закодированные тремя полиномами [G0 G1 G2].

Декодирование сообщения с M выборок требует 2 * M + 140 циклов, принимая непрерывный допустимый вход. Поэтому вы должны оставить по крайней мере это много циклов ожидания между входными кадрами. Также можно использовать выход сигнала ctrl end. чтобы определить, когда блок готов к новому входу.

Эта форма волны показывает входу сообщение 100 выборок с 340 циклами простоя между системами координат. Входные данные являются вектором из трёх закодированных бит. Входная и выходная шины ctrl расширены, чтобы показать сигналы управления. start и end показать контуры кадра и valid определяет выборки данных.

Порты

Вход

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

Вход выборки, заданная как вектор-столбец 3 на 1. Блок выполняет декодирование с мягким решением, когда входной тип является фиксированной точкой или подписанным целым числом, или выполняет декодирование с жестким решением, когда входной тип Boolean или fixdt(0,1,0). Блок выполняет неквантованное декодирование с мягким решением для single и double типы, но этот режим не поддерживается для генерации HDL-кода.

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

Значения менее нуля, скорее всего, являются логическим 0, в то время как значения, большие нуля, скорее всего, являются логическим 1. Абсолютное значение определяет уровень доверия. Для примера в таблице показаны уровни доверия, используемые, если вход sfix4 (WL =4, <reservedrangesplaceholder0> =0).

Мягкое значение–8, –7, –6, –5, –4, –3, –2, –101, 2, 3, 4, 5, 6, 7
Логический уровеньлогический 0неизвестныйлогический 1
Довериевысокий → низкийничегонизкий → высокий

Типы данных: Boolean | fixdt(0,1,0) | fixdt(1,WL,FL) | int8 | int16 | single | double

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

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

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

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

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

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

Выход

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

Выходная выборка, возвращенный как двоичное скалярное значение.

double и single поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: single | double | Boolean | ufix1

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

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

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

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

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

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

Параметры

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

Максимальный размер входного кадра, заданный как положительное целое число от 6 до 2048. Блок использует этот параметр, чтобы определить объем оперативной памяти, необходимой для хранения промежуточных решений. Если вы не задаете степень двойки, блок использует следующую наибольшую степень двойки.

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

Алгоритмы

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

Блок LTE Convolutional Decoder реализует алгоритм Viterbi Витерби (WAVA). Сообщение входа циклически расширяется, чтобы обеспечить обучающие выборки для декодера Viterbi. Этот алгоритм работает с сверточными энкодерами, где состояние энкодера одинаково в начале и конце сообщения.

Схема показывает высокоуровневое представление архитектуры декодера.

Во-первых, блок расширяет сообщение путем повторения выборок 2 * T сообщений, где T 40 выборок. Это значение T обеспечивает баланс между частотой битовой ошибки (BER) и оптимизацией аппаратных ресурсов. Блок использует расширенное сообщение для вычисления метрик ветви, метрик состояния и решений ветви с помощью операций add-compare-select. Метрические размеры слова получают из типа данных входов выборки. Блок хранит представление шпалеры, основанное на вычисленных решениях. Затем он выполняет декодирование трассировки. Когда значения выборки сообщения определены, блок удаляет повторяющиеся обучающие выборки и переупорядочивает выборки для выхода.

Ссылки

[1] 3GPP TS 36.212. «Мультиплексирование и канальное кодирование». 3rd Генерация Partnership Project; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL-адрес: https://www.3gpp.org.

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

.

См. также

Блоки

Функции

Введенный в R2017b