exponenta event banner

Сверточный декодер LTE

Декодировать сверточно-кодированные выборки с помощью алгоритма Витерби

  • Библиотека:
  • Беспроводная панель инструментов HDL/обнаружение и исправление ошибок

  • LTE Convolutional Decoder block

Описание

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

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

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

Декодирование сообщения из М выборок требует циклов 2 * М + 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
Уверенностьвысокий → низкийничегонизкий → высокий

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

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

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

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

  • valid - Указывает, что данные на порте входных данных являются допустимыми

Дополнительные сведения см. в разделе Пример шины управления.

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

Продукция

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

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

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

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

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

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

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

  • valid - Указывает, что данные порта выходных данных являются допустимыми

Дополнительные сведения см. в разделе Пример шины управления.

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

Параметры

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

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

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

Алгоритмы

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

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

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

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

Ссылки

[1] 3GPP TS 36.212. «Мультиплексирование и канальное кодирование». Проект партнерства 3-го поколения; техническая спецификация на сеть радиодоступа группы; Усовершенствованный универсальный наземный радиодоступа (E-UTRA). URL: https://www.3gpp.org.

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

.

См. также

Блоки

Функции

Представлен в R2017b