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 ложь).

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

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

Параметры

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

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

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

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

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

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

  • Property – Задайте вектор прокола использование параметра 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