LTE Convolutional Decoder

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

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

Описание

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

Этот блок использует демонстрационный интерфейс потоковой передачи с шиной для связанных управляющих сигналов. Этот интерфейс позволяет блоку действовать независимо от формата кадра и соединиться легко с другими блоками Wireless HDL Toolbox™. Блок принимает и возвращает значение, представляющее одну выборку и шину, содержащую три управляющих сигнала. Эти сигналы указывают на валидность каждой выборки и контуры системы координат. Чтобы преобразовать матрицу в демонстрационный поток и эти управляющие сигналы, используйте блок 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, 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

Для просмотра документации необходимо авторизоваться на сайте