exponenta event banner

Depuncturer

Схема обратного прокалывания для подготовки к декодированию

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

  • Depuncturer block

Описание

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

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

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

Порты

Вход

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

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

Тип входных данныхВставленное нейтральное значение
  • 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. Для поддержки этих нескольких скоростей установите для источника вектора прокола значение 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.

Если для режима «Работа» установлено значение Continuous, блок захватывает значение puncVector, когда и syncPunc, и входные допустимые порты 1 (true).

Если для режима «Работа» установлено значение Frame, блок захватывает значение puncVector, когда оба ctrl.start и ctrl.valid являются 1 (true).

Зависимости

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

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

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

Зависимости

Чтобы включить этот порт, установите режим работы в значение Continuous. При режиме «Работа» Frameблок синхронизирует вектор прокола с использованием управляющих сигналов на входной шине ctrl.

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

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

Зависимости

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

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

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

Зависимости

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

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

Продукция

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

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

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

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

Зависимости

Включите этот порт, установите режим работы в значение Continuous.

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

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

Зависимости

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

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

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

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

Параметры

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

Конец поведения кадра, указанный как один из следующих режимов:

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

  • Frame - Изменить puncVector можно только в начале кадра, обозначенного ctrl.start. Этот сигнал показывает ufix4 входные образцы, депункционированные в Frame режим.

Источник вектора прокола, указанный как:

  • Input port - Укажите вектор прокола с помощью порта puncVector.

  • Property - укажите вектор прокола с помощью параметра Вектор прокола.

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

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

Зависимости

Чтобы включить этот порт, установите для источника вектора прокола значение Property.

Алгоритмы

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

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

Ссылки

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

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

.

См. также

Блоки

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