Схема обратного прокалывания для подготовки к декодированию
Беспроводной HDL Toolbox/Обнаружение и коррекция ошибок
Блок Depuncturer заменяет проколотые символы на нейтральные значения по направлению входного вектора прокола. Блок возвращает биты стирания, которые указывают на наличие нейтральных символов в выходном потоке данных. Блок поддерживает непрерывный и кадровый режимы работы. Он обеспечивает интерфейс и архитектуру, подходящие для генерации HDL-кода и аппаратного развертывания.
Многие стандарты радиосвязи реализуют различные скорости кода путем прокалывания шаблонов с базовой скоростью кода 1/2. Вход в блок является потоком одной выборки за раз. Можно предоставить выборки, представленные двоичными значениями с твердым решением или коэффициентами логарифмической правдоподобности (LLR) с мягким решением. Блок возвращает выходные выборки как векторы 2 на 1.
Вставленное нейтральное значение зависит от типа данных входов выборки. Для получения дополнительной информации смотрите вход data порт.
data - Входная выборкаВходная выборка, заданная как скаляр. Блок вставляет нейтральное значение в проколотые местоположения на основе типа данных входных выборок.
| Тип входных данных | Вставленное нейтральное значение |
|---|---|
| 0 |
fixdt(0,WL,0) | 2(WL-1) |
uint8 | 128 |
uint16 | 32768 |
| 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
puncVector - Вектор проколаВектор прокола, заданный как вектор-столбец двоичных значений. Длина вектора прокола должна быть четным числом в области значений [4, 28]. Длина должна оставаться постоянной. Блок удаляет начальные нули из предоставленного вектора, вплоть до первого 1 (true). После первого 1 (true), вектор прокола не может содержать какой-либо подвектор [1:0], соответствующий [0 0].
Например, стандарт WLAN [1] IEEE 802.11 поддерживает скорости прокола 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
syncPunc - Сигнал пунктирной синхронизацииСигнал пунктирной синхронизации, заданный как Boolean скалярное значение. Этот вход является управляющим сигналом, который синхронизирует вход вектора прокола с входной выборкой. Когда и syncPunc, и valid 1 (true), блок выравнивает вектор прокола, чтобы начать проколы. Блок захватывает вектор из порта puncVector входа или из параметра Puncture vector. Блок игнорирует puncVector порт, когда syncPunc 0 (false).
Чтобы включить этот порт, установите Operation mode равным Continuous. Когда Operation mode Frameблок синхронизирует вектор прокола, используя сигналы управления в шине входа ctrl.
Типы данных: Boolean
valid - Валидность входных выборокУправляющий сигнал, который указывает, когда выборка из data входа порта действительна. Когда valid 1 (true), блок захватывает значения data входного порта. Когда valid 0 (false), блок игнорирует вход выборки.
Чтобы включить этот порт, установите Operation mode равным Continuous.
Типы данных: Boolean
ctrl - Сигналы управления, сопровождающие поток выборокsamplecontrol автобусСигналы управления, сопровождающие поток дискретизации, заданные как samplecontrol bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность выборок.
Чтобы включить этот порт, установите Operation mode равным Frame.
Типы данных: bus
data - Выходная выборкаВыходная выборка, возвращенный как вектор-столбец 2 на 1. Тип данных совпадает с типом данных входных выборок.
Типы данных: int8 | int16 | uint8 | uint16 | Boolean | fixdt(0,1,0) | fixdt(S,WL,0) | single | double
valid - Валидность выборок выходных данныхУправляющий сигнал, который указывает, когда выборка от data выходного порта действительна. Блок устанавливает valid порт равным 1 (true), когда существует допустимый образец на выход data порте.
Активируйте этот порт, установите Operation mode на Continuous.
Типы данных: Boolean
ctrl - Сигналы управления, сопровождающие поток выборокsamplecontrol автобусУправляющие сигналы, сопровождающие поток дискретизации, возвращаются как samplecontrol bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность выборок.
Чтобы включить этот порт, установите Operation mode равным Frame.
Типы данных: bus
erasure - Расположение нейтрального символаНейтральные положения символов, возвращенные как вектор-столбец 2 на 1, соответствующий выходным выборкам. Когда erasure 1 (true), соответствующий выход data элемент является депункционированным нейтральным значением.
Типы данных: Boolean
Operation mode - Конец поведения системы координатContinuous (по умолчанию) | FrameКонец поведения системы координат, заданный как один из следующих режимов:
Continuous - Разрешить изменения в puncVector в любое время. Чтобы заставить блок захватить новый вектор прокола, установите syncPunc на 1(true). Этот сигнал показывает ufix4 входные выборки, вычеркнутые в Continuous режим.

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

Puncture vector source - Источник вектора проколаInput port (по умолчанию) | PropertyИсточник вектора прокола, заданный как:
Input port - Задайте вектор прокола, используя puncVector порт.
Property - Задайте вектор прокола, используя параметр Puncture vector.
Puncture vector - Местоположения для вставки нейтральных значений[1;1;0;1;1;0] (по умолчанию) | вектор-столбец двоичных значенийВектор прокола, заданный как вектор-столбец двоичных значений. Длина вектора прокола должна быть четным числом в области значений [4, 28]. Значение по умолчанию является вектором прокола для скорости кода 3/4 WLAN IEEE 802.11 [1].
Вектор прокола не может содержать никаких подвекторов [1:0], соответствующих [0 0].
Чтобы включить этот порт, установите Puncture vector source равным Property.
Алгоритм выражения смещается через каждый подвектор [1:0] вектора прокола. Подвектор имеет три допустимых шаблона: [0 1], [1 0] или [1 1]. На основе подвектора вместо проколотых образцов вставляют нейтральные выборки. Выход стирания является обратным подвектору прокола. Блок возвращает ошибку, когда встречается с недопустимым подвектором [0 0].

Когда вы задаете Operation mode ContinuousЗадержка от допустимого входа до допустимого выхода в составляет семь циклов. Когда вы задаете Operation mode Frame, задержка составляет шесть циклов.
Эти данные о ресурсах и эффективности являются результатами синтеза сгенерированного HDL, нацеленного на Xilinx®Zynq®-7000 ZC706 платы. Блок использует ufix4 входные выборки, в непрерывном режиме с настройками по умолчанию. Проект достигает тактовой частоты 590 МГц.
| Ресурс | Используемое число |
|---|---|
| LUT | 54 |
| FFS | 67 |
Xilinx LogiCORE® DSP48 | 0 |
| Блокируйте ОЗУ (16k) | 0 |
Если вы задаете Puncture vector source Propertyпроект использует меньше ресурсов LUT и FFS.
[1] Стандарт IEEE Std 802.11ac™-2013 IEEE на информационные технологии - Телекоммуникации и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Беспроводное управление средним доступом к локальной сети (MAC) и физический уровень (PHY) Спецификации - Поправка 4: Улучшения для очень высокого
Этот блок поддерживает генерацию кода C/C + + для Simulink® режимы Accelerator и Rapid Accelerator и для генерации компонентов DPI.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет одну архитектуру HDL по умолчанию.
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
| InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
| OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
