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