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

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