Схема обратного прокалывания для подготовки к декодированию
Беспроводной 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.