LTE Convolutional Decoder

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

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

Описание

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

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

Блок принимает входные выборки, представляющие мягкие или трудные решения. Каждая выборка является вектором 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, FL =0).

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

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

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

  • start — Указывает запускаются входного кадра.

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

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

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

Вывод

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

Алгоритмы

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

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

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

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

Ссылки

[1] 3GPP TS 36.212. "Мультиплексирование и кодирование канала". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: https://www.3gpp.org.

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

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

Блоки

Функции

Введенный в R2017b