Данные о проколах согласно вектору прокола
Wireless HDL Toolbox / Выявление ошибок и Коррекция
Блок Puncturer прокалывает входные данные на основе заданного вектора прокола. Блок принимает вектор прокола любой от Input port
или от Property
из блока и уровней энкодера поддержек от 1/2 до 1/7. Это обеспечивает архитектуру, подходящую для аппаратного развертывания и генерации HDL-кода.
Блок поддерживает Continuous
и Frame
операции режима и принимают и скалярные и векторные данные. В Continuous
режим, блок принимает входные данные и вектор прокола, наряду с допустимыми управляющими сигналами и syncPunc, и выходные параметры прокололи данные с допустимым сигналом. В Frame
режим, блок принимает входные данные и вектор прокола, наряду с samplecontrol
шина и выходные параметры прокололи данные с samplecontrol
шина.
Блок поддерживает коммуникационные стандарты, такие как Wi-Fi (802.11a/b/g/n/ac), цифровая спутниковая связь, цифровое видео широковещательно передается (DVB), WiFi (IEEE 802.11a/b/g/n/ac), WiMax (IEEE 802.16), IEEE 802.16, HIPERLAN и HiperMAN.
data
— Выборка входных данныхВыборка входных данных в виде скаляра или вектора.
Если введенный имеет тип вектора, размер входных данных должен соответствовать с выбранным значением параметров Encoder rate.
Например, если Encoder rate является 1/2
, размер входных данных должен быть 2 1.
Типы данных: Boolean
| fixdt(0,1,0)
valid
— Указывает на допустимые выборки входных данныхBoolean
скалярУправляющий сигнал, который указывает, допустимо ли входные данные. Когда этим значением является 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
TRUE.
Когда параметр Operation mode устанавливается на Frame
, блок получает значение puncVector когда оба ctrl.start
и ctrl.valid
сигналами является 1
TRUE.
Чтобы включить этот порт, установите параметр Puncture vector source на Input port
.
Типы данных: Boolean
syncPunc
— Проколите сигнал синхронизацииBoolean
скалярПроколите сигнал синхронизации в виде Boolean
скалярное значение. Этот вход является управляющим сигналом, который синхронизирует вход вектора прокола с входной выборкой. Когда и syncPunc и valid является 1
(TRUE), блок выравнивает вектор прокола, чтобы начать прокалывать. Блок получает вектор или от входного порта puncVector или от параметра Puncture vector.
Блок игнорирует значения сигналов puncVector, когда значением сигналов syncPunc является 0
ложь
).
Чтобы включить этот порт, установите параметр Operation mode на Continuous
.
Типы данных: Boolean
ctrl
— Управляющие сигналы сопроводительный демонстрационный потокsamplecontrol
шинаУправляющие сигналы, сопровождающие демонстрационный поток в виде samplecontrol
шина. Шина включает start
конец
, и 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
шина. Шина включает start
конец
, и valid
управляющие сигналы, которые указывают на контуры системы координат и валидность выборок.
start
— Указывает запускаются выходной системы координат.
end
— Указывает на конец выходной системы координат.
valid
— Указывает, что данные по порту выхода data допустимы.
Чтобы включить этот порт, установите параметр Operation mode на Frame
.
Типы данных: bus
Operation mode
— Режим работыContinuous
(значение по умолчанию) | Frame
Режим работы в виде одного из этих режимов:
Continuous
— Позволяет изменения в puncVector в любое время. Чтобы обеспечить блок, чтобы получить новый вектор прокола, установите параметр syncPunc на 1
TRUE.
Frame
— Позволяет изменения в puncVector только в начале системы координат, обозначенной ctrl.start
.
Encoder rate
— Уровень энкодера
(значение по умолчанию) | лежит в диапазоне от 1/2 до 1/7Выберите уровень энкодера для прокалывания данных.
Puncture vector source
— Источник вектора проколаInput port
(значение по умолчанию) | Property
Источник вектора прокола в виде:
Input port
— Задайте вектор прокола использование порта puncVector.
Property
— Задайте вектор прокола использование параметра Puncture vector.
Puncture vector
— Местоположение данных, которые будут проколоты
(значение по умолчанию) | вектор-столбец двоичных значенийДлина вектора прокола должна быть интегральным кратным n, где Encoder rate является 1/n. Для уровней энкодера 1/2, 1/3, 1/5, и 1/6, максимальная длина вектора прокола равняется 30 и для уровней энкодера 1/4 и 1/7, максимальная длина вектора прокола равняется 28.
Чтобы включить этот порт, установите параметр Puncture vector source на Property
.
Алгоритм прокалывания проверяет каждый n элементы вектора прокола с 1/n Encoder rate, пока это не достигает ненулевой комбинации. Затем это прокалывает входные данные и обеспечивает проколотые выходные данные.
Например, если Encoder rate является 1/3
и вектором прокола является [0;0;0;1;0;1]
, проверки блока каждые 3 элемента, пока это не достигает ненулевой комбинации в векторе прокола и затем прокалывает входные данные на основе типа входных параметров (скаляр или вектор) и режимы работы (Continuous
или Frame
).
Continuous
режим — Когда элементом вектора прокола является 0
, блок прокалывает входные данные и не обеспечивает выхода. Когда элементом вектора прокола является 1
, блок обеспечивает соответствующие входные данные, как выведено.
Frame
режим — Когда элементом вектора прокола является 1
, блок хранит соответствующие входные данные в буфере. Это ожидает, пока это не сталкивается со следующим 1
в векторе прокола и затем обеспечивает предыдущие буферизированные данные, как выведено.
Когда элементом вектора прокола является 0
, блок прокалывает входные данные и не обеспечивает выхода. Но, если сигналом endIn является 1
(высоко), блок обеспечивает предыдущие буферизированные данные, как выведено. Блок повторяет подобный процесс в системе координат.
Continuous
режим — Для векторные входные данные 3 на 1 с Encoder rate
1/3
, блок выбирает 3 элемента вектора прокола за один раз. Когда элементом вектора прокола является 0
, блок прокалывает данные и не обеспечивает выхода. Когда элементом вектора прокола является 1
, блок хранит соответствующие входные данные. Блок обеспечивает выход только, когда сохраненное количество данных достигает 3.
Frame
режим — блок ведет себя так же как тогда, когда в Continuous
режим. Но, когда сигналом endIn является 1
(высоко) и сохраненное количество данных меньше 3, блок заполняет нули и затем выводит данные.
Задержка блока меняется в зависимости от вектора прокола и уровня энкодера. Вышеупомянутые формы волны показывают задержку блока для демонстрационного скаляра и векторных входных данных с различными векторами прокола.
Эти данные ресурсов и данные о производительности являются синтезом, следует из сгенерированного HDL, предназначенного к плате Xilinx®Zynq®-7000 ZC706. Блок использует Boolean
введите выборки в непрерывном режиме с настройками по умолчанию с длиной вектора прокола 6. Проект достигает частоты часов 559 МГц.
Ресурс | Используемый номер |
---|---|
LUT | 50 |
FFS | 40 |
Если вы устанавливаете параметр Puncture vector source на Property
, проект использует меньше LUT и ресурсов FFS с большей частотой. Аппаратные ресурсы и частоты варьируются на основе уровня энкодера и размера вектора прокола.
[1] Беспроводное Среднее управление доступом (MAC) LAN и физический уровень (PHY) технические требования. Станд. IEEE 802.11™-2 016 частей 11.
[2] Цифровое телевидение (DVB) EN 300 421 V1.1.2; Структурирование структуры, кодирования Канала и модуляции для 11/12 GHz услуги спутниковой связи.
Этот блок поддерживает генерацию кода C/C++ для акселератора Simulink® и быстрых режимов Accelerator и для генерации компонента DPI.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок не имеет никакой HDL Block Properties.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.