Depuncturer

Противоположная схема прокалывания подготовиться к декодированию

  • Библиотека:
  • LTE HDL Toolbox / Общие Коммуникации

Описание

Блок Depuncturer заменяет проколотые символы на нейтральные значения, как направлено входным вектором прокола. Блок возвращает биты стирания, которые указывают на присутствие нейтральных символов в потоке выходных данных. Блок поддерживает непрерывный и режимы работы кадра. Это обеспечивает интерфейс и архитектуру, подходящую для аппаратного развертывания и генерации HDL-кода.

Много стандартов радиосвязи реализуют различные уровни кода путем прокалывания шаблонов с основным уровнем кода 1/2. Вход к блоку является потоком одной выборки за один раз. Можно обеспечить выборки, представленные двоичными значениями трудного решения или логарифмическими отношениями правдоподобия (LLR) мягкого решения. Блок возвращает выходные выборки как 2 1 векторы.

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

Порты

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

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

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

Тип входных данныхВставленное нейтральное значение
  • boolean

  • fixdt(0,1,0)

0
fixdt(0,WL,0)2 (WL-1)
uint8128
uint1632768
  • fixdt(1,WL,0)

  • int8

  • int16

  • single

  • double

0

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

Входная выборка должна переброситься парой слов длина, меньше чем или равная 16 битам и дробная длина 0 битов.

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

Вектор прокола, заданный как вектор-столбец двоичных значений. Длина вектора прокола должна быть четным числом в области значений [4, 28]. Длина должна остаться постоянной. Блок удаляет начальные нули из обеспеченного вектора до первого 1 (true). После первого 1 (true) вектор прокола не может содержать никого [1:0] подвектор, соответствующий [0 0].

Например, стандарт IEEE 802.11 WLAN [1] поддержки прокалывает уровни 2/3, 3/4, и 5/6, с соответствующими длинами вектора 4, 6, и 10. Чтобы поддержать эти несколько уровней, установите Puncture vector source на Input port. Чтобы поддержать самый большой векторный размер, длина вектора должна быть 10 для всех уровней. Для 2/3 и 3/4 уровней, заполните вход puncVector нулями, чтобы создать вектор с 10 элементами. Вектором прокола для уровня 3/4 является [1 1 0 1 1 0]'. Для длины вектора 10, используйте [0 0 0 0 1 1 0 1 1 0]' в качестве входа puncVector.

Когда Operation mode установлен в Continuous, блок получает значение puncVector, когда и syncPunc и портами входа valid является 1 (true).

Когда Operation mode установлен в Frame, блок получает значение puncVector, когда и ctrl .start и ctrl .valid является 1 (true).

Зависимости

Чтобы включить этот порт, установите Puncture vector source на Input port.

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

Проколите сигнал синхронизации, заданный как скалярное значение Boolean. Этот вход является управляющим сигналом, который синхронизирует вход вектора прокола с входной выборкой. Когда и syncPunc и valid является 1 (true), блок выравнивает вектор прокола, чтобы начать прокалывать. Блок получает вектор или от входного порта puncVector или от параметра Puncture vector. Блок игнорирует порт puncVector, когда syncPunc является 0 (false).

Зависимости

Чтобы включить этот порт, установите Operation mode на Continuous. Когда Operation mode является Frame, блок синхронизирует вектор прокола использование управляющих сигналов в шине входа ctrl.

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

Управляющий сигнал, который указывает, когда выборка от входного порта data допустима. Когда valid 1 (true), блок получает значения входного порта data. Когда valid 0 (false), блок игнорирует входные выборки.

Зависимости

Чтобы включить этот порт, установите Operation mode на Continuous.

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

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

Зависимости

Чтобы включить этот порт, установите Operation mode на Frame.

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

Вывод

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

Выведите выборку, возвращенную как 2 1 вектор-столбец. Тип данных - то же самое как тип данных входных выборок.

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

Управляющий сигнал, который указывает, когда выборка от выходного порта data допустима. Блок устанавливает порт valid на 1 (true), когда существует допустимая выборка на порте вывода data.

Зависимости

Tho включают этот порт, устанавливают Operation mode на Continuous.

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

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

Зависимости

Чтобы включить этот порт, установите Operation mode на Frame.

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

Нейтральные местоположения символа, возвращенные как 2 1 вектор-столбец, соответствующий выходным выборкам. Когда erasure является 1 (true), соответствующий элемент вывода data является depunctured нейтральным значением.

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

Параметры

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

Конец поведения кадра, заданного как один из этих режимов:

  • Continuous – Позвольте изменения в puncVector в любое время. Чтобы обеспечить блок, чтобы получить новый вектор прокола, установите syncPunc на 1 (true). Эта форма волны показывает выборки входа ufix4 depunctured в режиме Continuous.

  • Frame – Можно только изменить puncVector в начале кадра, обозначенного ctrl .start. Эта форма волны показывает выборки входа ufix4 depunctured в режиме Frame.

Источник вектора прокола, заданного как также:

  • Input port – Задайте вектор прокола использование порта puncVector.

  • Свойство Задайте вектор прокола использование параметра Puncture vector.

Вектор прокола, заданный как вектор-столбец двоичных значений. Длина вектора прокола должна быть четным числом в области значений [4, 28]. Значение по умолчанию является вектором прокола для 3/4 уровня кода IEEE 802.11 WLAN [1].

Вектор прокола не может содержать никого [1:0] подвектор, совпадающий с [0 0].

Зависимости

Чтобы включить этот порт, установите Puncture vector source на Property.

Алгоритмы

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

depuncturing алгоритм переключает через каждого [1:0] подвектор вектора прокола. Подвектор имеет три допустимых шаблона: [0 1], [1 0], или [1 1]. На основе подвектора нейтральные выборки вставляются вместо проколотых выборок. Стирание вывод является инверсией подвектора прокола. Блок возвращает ошибку, когда он сталкивается с недопустимым подвектором [0 0].

Ссылки

[1] Станд. IEEE 802.11ac™-2013 Стандарт IEEE для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретными требованиями — Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации — Поправка 4: Улучшения для Очень Высокой Пропускной способности для Операции в Полосах ниже 6 ГГц.

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

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

Введенный в R2018b