Depuncturer

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

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

  • Depuncturer block

Описание

Блок 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