Проколы данных в соответствии с вектором прокола
Беспроводной HDL Toolbox/Обнаружение и коррекция ошибок


Блок Puncturer пунктирует входные данные на основе заданного вектора прокола. Блок принимает вектор прокола либо от Input port или из Property блока и поддерживает скорости энкодера от 1/2 до 1/7. Он обеспечивает архитектуру, подходящую для генерации HDL-кода и оборудования развертывания.
Блок поддерживает Continuous и Frame mode операций и принимает как скаляр, так и вектор данные. В Continuous В режиме блок принимает входные данные и вектор прокола, наряду с управляющими сигналами, действительными и syncPunc, и выводит проколотые данные с действительным сигналом. В Frame mode, блок принимает входные данные и вектор прокола, наряду со samplecontrol шина и выходы проколотых данных с samplecontrol шина.
Блок поддерживает стандарты связи, такие как Wi-Fi (802 .11a/b/g/n/ac), цифровая спутниковая связь, цифровая видеотрансляция (DVB), Wi-Fi (IEEE 802 .11a/b/g/n/ac), WiMax (IEEE 802,16), IEEE 802,16,
data - Выборка входных данныхВыборка входных данных, заданная в виде скаляра или вектора.
Если вход имеет тип вектора, размер входных данных должен совпадать с выбранным Encoder rate значения параметров.
Для примера, если Encoder rate 1/2размер входных данных должен быть 2 на 1.
Типы данных: Boolean | fixdt(0,1,0)
valid - Указывает действительные выборки входных данныхУправляющий сигнал, который указывает, действительны ли входные данные. Когда это значение 1 (true), блок принимает значения на data входном порте. Когда это значение 0 (false), блок игнорирует значения на data входном порте.
Чтобы включить этот порт, установите параметр Operation mode равным Continuous.
Типы данных: Boolean
puncVector - Вектор проколаВектор прокола, заданный как вектор-столбец двоичных значений. Длина вектора прокола должна быть интегралом, кратным n, где Encoder rate 1/n. Для скоростей энкодера 1/2, 1/3, 1/5 и 1/6 максимальная длина puncVector составляет 30, а для скоростей энкодера 1/4 и 1/7 максимальная длина puncVector составляет 28.
Можно изменить шаблон puncVector, но его длина должна оставаться постоянной. Если максимальная длина вектора прокола равна 10, блок поддерживает все длины вектора ниже 10.
Пример: Для скорости энкодера 1/2 и скорости его прокола 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 Правда.
Когда параметр Operation mode установлен в Frameблок захватывает значение puncVector, когда оба ctrl.start и ctrl.valid сигналы 1 Правда.
Чтобы включить этот порт, установите параметр Puncture vector source равным Input port.
Типы данных: Boolean
syncPunc - Сигнал пунктирной синхронизацииСигнал пунктирной синхронизации, заданный как Boolean скалярное значение. Этот вход является управляющим сигналом, который синхронизирует вход вектора прокола с входной выборкой. Когда и syncPunc, и valid 1 (true), блок выравнивает вектор прокола, чтобы начать проколы. Блок захватывает вектор из puncVector входного порта или из параметра Puncture vector.
Блок игнорирует значения puncVector сигнала syncPunc когда значение сигнала 0 (false).
Чтобы включить этот порт, установите параметр Operation mode равным Continuous.
Типы данных: Boolean
ctrl - Сигналы управления, сопровождающие поток выборокsamplecontrol автобусСигналы управления, сопровождающие поток дискретизации, заданные как samplecontrol bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность входных выборок.
start - Указывает начало входного кадра.
end - Указывает конец входного кадра.
valid - Указывает, что данные входного data порта действительны.
Чтобы включить этот порт, установите параметр Operation mode равным Frame. В этом режиме блок синхронизирует вектор прокола, используя сигналы управления на входе samplecontrol шина.
Типы данных: bus
data - Проколотые выходные данныеПроколотые выходом данные, возвращенные как вектор-столбец n на 1, где n значение областей значений от 1 до 7.
Типы данных: Boolean | fixdt(0,1,0)
valid - Валидность выборок выходных данныхУправляющий сигнал, который указывает, когда выборка от data выходного порта действительна. Блок устанавливает valid порт равным 1 (true), когда существует допустимая выборка на выходном data порте.
Чтобы включить этот порт, установите параметр Operation mode равным Continuous.
Типы данных: Boolean
ctrl - Сигналы управления, сопровождающие поток выборокsamplecontrol автобусУправляющие сигналы, сопровождающие поток дискретизации, возвращаются как samplecontrol bus. Шина включает в себя start, end, и valid управляющие сигналы, которые указывают контуры системы координат и валидность выборок.
start - Указывает на начало выходной системы координат.
end - Указывает конец выходной системы координат.
valid - Указывает, что данные выходного data порта действительны.
Чтобы включить этот порт, установите параметр Operation mode равным Frame.
Типы данных: bus
Operation mode - Режим работыContinuous (по умолчанию) | FrameРежим работы, заданный как один из следующих режимов:
Continuous - Позволяет вносить изменения в puncVector в любое время. Чтобы заставить блок захватить новый вектор прокола, установите параметр syncPunc на 1 Правда.
Frame - Позволяет изменять puncVector только в начале системы координат, обозначенного ctrl.start.
Encoder rate - Скорость энкодера1/2 (по умолчанию) | в области значений от 1/2 до 1/7Выберите скорость энкодера для прокалывания данных.
Puncture vector source - Источник вектора проколаInput port (по умолчанию) | PropertyИсточник вектора прокола, заданный как:
Input port - Задайте вектор прокола, используя puncVector порт.
Property - Задайте вектор прокола, используя параметр Puncture vector.
Puncture vector - Местоположение данных, подлежащих проколу[1;1;1;0;0;1] (по умолчанию) | вектор-столбец двоичных значенийДлина вектора прокола должна быть интегралом, кратным n, где Encoder rate 1/n. Для частот энкодера 1/2, 1/3, 1/5 и 1/6 максимальная длина вектора прокола составляет 30, а для частот энкодера 1/4 и 1/7 максимальная длина вектора прокола составляет 28.
Чтобы включить этот порт, установите параметр Puncture vector source равным Property.
Алгоритм прокола проверяет все n элементы массива вектора прокола с помощью Encoder rate 1/n, пока он не достигает ненулевой комбинации. Затем он прокалывает входные данные и предоставляет проколотые выходные данные.
Для примера, если Encoder rate 1/3 и вектор пункции следующий [0;0;0;1;0;1]блок проверяет каждые 3 элемента, пока не достигает ненулевой комбинации в векторе прокола, и затем прокалывает входные данные на основе типа входов (скаляр или вектор) и режимов работы (Continuous или Frame).
Continuous mode - Когда элемент вектора прокола 0блок пунктирует входные данные и не обеспечивает выхода. Когда элемент вектора прокола 1блок предоставляет соответствующие входные данные как выходные.

Frame mode - Когда элемент вектора прокола 1блок сохраняет соответствующие входные данные в буфере. Он ждет, пока не встретится со следующим 1 в векторе прокола и затем предоставляет предыдущие буферизованные данные как выходные.
Когда элемент вектора прокола 0блок пунктирует входные данные и не обеспечивает выхода. Но, если endIn сигнал 1 (высокий), блок предоставляет предыдущие буферизованные данные как выходные. Блок повторяет аналогичный процесс на протяжении всей системы координат.

Continuous mode - Для векторных входных данных 3 на 1 с Encoder rate
1/3блок выбирает 3 элемента вектора прокола за раз. Когда элемент вектора прокола 0блок пунктирует данные и не обеспечивает выхода. Когда элемент вектора прокола 1блок хранит соответствующие входные данные. Блок предоставляет выход только, когда количество сохраненных данных достигает 3.

Frame mode - Блок ведет себя так же, как и когда в Continuous режим. Но, когда сигнал endIn 1 (высокий), и количество сохраненных данных меньше 3, блок заполняет нули, а затем выводит данные.

Задержка блока изменяется с вектором прокола и частотой энкодера. Вышеописанные формы волны показывают задержку блока для выборки скаляра и векторных входных данных с различными векторами пункции.
Эти данные о ресурсах и эффективности являются результатами синтеза сгенерированного HDL, нацеленного на Xilinx®Zynq®-7000 ZC706 платы. Блок использует Boolean входные выборки, в непрерывном режиме с настройками по умолчанию с длиной вектора прокола 6. Проект достигает тактовой частоты 559 МГц.
| Ресурс | Используемое число |
|---|---|
| LUT | 50 |
| FFS | 40 |
Если вы устанавливаете параметр Puncture vector source равным Property, в проекте используется меньше ресурсов LUT и FFS с большей частотой. Аппаратные ресурсы и частоты варьируются в зависимости от скорости энкодера и размера вектора прокола.
[1] Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического слоя (PHY). IEEE Стд 802.11™ - 2016 Часть 11.
[2] EN 300 421 V1.1.2 цифрового видеовещания (DVB); Структура системы координат, кодирование в канале и модуляция для спутниковых услуг 11/12 ГГц.
Этот блок поддерживает генерацию кода C/C + + для Simulink® режимы Accelerator и Rapid Accelerator и для генерации компонентов DPI.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок не имеет свойств HDL-блоков.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
