Набор многофазных фильтров и быстрое преобразование Фурье - оптимизировано для генерации кода HDL
Системная панель инструментов DSP Поддержка HDL/Фильтрация
Блок оптимизации HDL каннелизатора разделяет широкополосный входной сигнал на множество узкополосных выходных сигналов. Она обеспечивает аппаратную скорость и оптимизацию области для приложений потоковой передачи данных. Блок принимает скалярный или векторный ввод вещественных или комплексных данных, обеспечивает аппаратные управляющие сигналы и имеет необязательные выходные сигналы управления кадром. С помощью векторного ввода можно достичь пропускной способности giga-sample-per-second (GSPS). Блок реализует многофазный фильтр с одним субфильтром на элемент входного вектора. Аппаратная реализация перемежает субфильтры, что приводит к совместному использованию каждого умножителя фильтра (FFT Length/Input Size) раз. Реализация FFT использует тот же конвейерный алгоритм Radix 2 ^ 2 FFT, что и блок FFT HDL Optimized.
dataIn - Входные данныеРазмер вектора должен быть степенью 2, которая составляет от 1 до 64 и не превышает число каналов (длина БПФ).
double и single типы данных поддерживаются для моделирования, но не для генерации кода HDL.
Блок не принимает uint64 данные.
Типы данных: fixed point | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | single | double
Поддержка комплексного номера: Да
validIn - Указывает допустимые входные данныеКогда validIn имеет значение true, блок захватывает значение в dataIn.
Типы данных: Boolean
reset - Сигнал управления сбросом (опционально)При сбросе trueблок останавливает текущий расчет и очищает внутреннее состояние.
Чтобы включить этот порт, выберите Enable reset input port.
Типы данных: Boolean
dataOut - Выходные данные частотного каналаЕсли для параметра «Размер выходного вектора» задано значение Same as number of frequency bands (по умолчанию) выходные данные являются вектором 1-by-M, где M - длина БПФ.
Если для параметра «Размер выходного вектора» задано значение Same as input sizeвыходные данные являются вектором M-by-1, где М - размер входного вектора.
Порядок вывода является естественным для любого размера вывода. Тип выходных данных является результатом типа выходных данных фильтра и увеличения бита в БПФ, необходимого для предотвращения переполнения.
validOut - Указывает допустимые выходные данныеБлок устанавливает значение validOut для true с каждым допустимым образцом в dataOut.
Типы данных: Boolean
startOut - Указывает первый допустимый цикл выходных данных (необязательно)Блок устанавливает startOut в значение true во время первого действительного образца на dataOut.
Чтобы включить этот порт, выберите Enable start output port.
Типы данных: Boolean
endOut - Указывает последний допустимый цикл выходных данных (необязательно)Блок устанавливает значение endOut равным true во время последней допустимой пробы на dataOut.
Чтобы включить этот порт, выберите Enable end output port.
Типы данных: Boolean
Number of frequency bands (FFT length) - длина БПФ8 (по умолчанию) | целочисленная степень двухДля генерации кода HDL длина БПФ должна быть мощностью 2 от 23 до 216.
Filter coefficients - Коэффициенты многофазного фильтра[ -0.032, 0.121, 0.318, 0.482, 0.546, 0.482, 0.318, 0.121, -0.032 ] (по умолчанию) | вектор числовых значенийЕсли число коэффициентов не кратно числу полос частот (длина БПФ), блок заполняет этот вектор нулями. Спецификация фильтра по умолчанию - фильтр FIR с увеличенным косинусом, rcosdesign(0.25,2,4,'sqrt'). Можно задать вектор коэффициентов или вызвать функцию конструкции фильтра, которая возвращает значения коэффициентов. Комплексные коэффициенты не поддерживаются. По умолчанию блок переводит коэффициенты в тот же тип данных, что и входные.
Complex multiplication - внедрение ЛПВП комплексных множителейUse 4 multipliers and 2 adders (по умолчанию) | Use 3 multipliers and 5 addersВнедрение ЛПВП комплексных множителей, указанных как 'Use 4 multipliers and 2 adders' или 'Use 3 multipliers and 5 adders'. В зависимости от вашего инструмента синтеза и целевого устройства, один вариант может быть быстрее или меньше.
Этот параметр применяется только при использовании архитектуры Radix 2 ^ 2.
Output vector size - Размер выходных данныхSame as number of frequency bands (по умолчанию) | Same as input sizeВыходные данные представляют собой вектор строк M-by-1 каналов. Порядок вывода является естественным для любого размера вывода.
Same as number of frequency bands - Выходные данные являются вектором 1-by-M, где M - длина БПФ.
Same as input size - Выходные данные являются вектором M-by-1, где M - размер входного вектора.
Divide butterfly outputs by two - Масштабирование БПФПри выборе этого параметра в БПФ реализуется общий масштабный коэффициент 1/N путем масштабирования результата каждой ступени трубопровода на 2. Эта регулировка поддерживает выход БПФ в том же диапазоне амплитуд, что и его вход. Если масштабирование отключено, БПФ предотвращает переполнение, увеличивая длину слова на 1 бит на каждом этапе.
Rounding mode - Метод округления, используемый для внутренних расчетов с фиксированной точкойFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | ZeroСм. Режимы округления. Блок использует арифметику с фиксированной точкой для внутренних вычислений, если входные данные являются целыми или фиксированными. Этот параметр не применяется при вводе single или double. Каждый этап БПФ округляется после умножения твиддового коэффициента, но перед бабочками. Округление также может происходить при приведении коэффициентов и выходных данных многофазного фильтра к указанным типам данных.
Saturate on integer overflow - Обработка переполнения для внутренних расчетов с фиксированной точкойСм. раздел Обработка переполнения. Блок использует арифметику с фиксированной точкой для внутренних вычислений, если входные данные являются целыми или фиксированными. Этот параметр не применяется при вводе single или double. Эта опция применяется для приведения коэффициентов и выходных данных многофазного фильтра к указанным типам данных.
Алгоритм БПФ позволяет избежать переполнения, либо масштабируя выходной сигнал каждого каскада (Normalize включено) или путем увеличения длины слова на 1 бит на каждом этапе (Normalize отключено).
Coefficient data type - Тип данных коэффициентов фильтраInherit: Same word length as input (по умолчанию) | выражение типа данныхБлок преобразует коэффициенты многофазного фильтра в этот тип данных, используя заданные параметры округления и переполнения. При выборе Inherit: Same word length as input (по умолчанию) блок выбирает двоичную точку с помощью fi() правила наилучшей точности.
Filter output data type - Тип данных выхода многофазного фильтраInherit: Same word length as input (по умолчанию) | Inherit: via internal rule | выражение типа данныхБлок переводит выходные данные многофазного фильтра (входные данные в БПФ) в этот тип данных, используя заданные параметры округления и переполнения. При выборе Inherit: Same word length as input (по умолчанию) блок выбирает двоичную точку с наилучшей точностью, учитывая значения коэффициентов фильтра и диапазон входного типа данных.
По умолчанию логика БПФ не изменяет тип данных. При отключении выходов Divide butterfly на два FFT увеличивает длину слова на 1 бит на каждом этапе, чтобы избежать переполнения.
Enable reset input port - Дополнительный сигнал сбросаПри выборе этого параметра на значке блока отображается порт сброса. Когда вход сброса trueблок останавливает расчет и очищает все внутренние состояния.
Enable start output port - Дополнительный управляющий сигнал, указывающий на начало данныхПри выборе этого параметра на значке блока отображается порт startOut. Сигнал startOut является истинным для первого цикла выходных данных в кадре.
Enable end output port - Дополнительный управляющий сигнал, указывающий на конец данныхПри выборе этого параметра на значке блока отображается порт endOut. Сигнал EndOut является истинным для последнего цикла выходных данных в кадре.
Алгоритм многофазного фильтра требует субфильтра для каждого канала БПФ. Дополнительные сведения об архитектуре многофазного фильтра см. в разделе [1], а также на справочной странице блока Channel elizer.
Примечание
Выходной сигнал оптимизированного блока HDL каннелизатора не соответствует выходному сигналу выборки блока каннелизатора. Это несоответствие связано с тем, что блоки применяют входные выборки к субфильтрам в разных порядках. Блок оптимизации HDL каннелизатора применяет входной сигнал X (0) к субфильтру EM-1 (z), X (1) к субфильтру EM-2 (z),..., X (M-1) к субфильтру E0 (z). Каналы, обнаруженные обоими блоками, совпадают при анализе в нескольких кадрах.
Если размер входного вектора, M, равен длине БПФ, N, то блок реализует N субфильтров в аппаратном обеспечении. Каждый субфильтр представляет собой транспонированный КИХ-фильтр прямой формы с отводами NumCoeffs/N.

Если размер вектора меньше N, блок реализует один субфильтр для каждого элемента входного вектора. Умножители субфильтра совместно используются при необходимости для реализации N канальных фильтров. Совместно используемые отводы множителя имеют таблицу поиска N/M коэффициентов фильтра. За каждым отводом следует линия задержки из N/M-1 циклов.

Выходные данные субфильтров приводятся к указанному типу выходных данных Фильтр (Filter) с использованием выбранных параметров округления и переполнения. Каждый отвод фильтра в субфильтре конвейерно направлен на секции DSP FPGA.

Например, для длины БПФ 8 и размера входного вектора 4 блок реализует четыре фильтра. Каждый множитель используется совместно N/M раз или дважды. Каждый отвод применяет два коэффициента, и линия задержки составляет N/M-1 циклов.

Для скалярного ввода блок реализует один фильтр. Каждый множитель совместно используется N раз. Каждый отвод применяет N коэффициентов, и линия задержки составляет N-1 циклов.

Задержка зависит от длины БПФ и размера вектора. После обновления модели задержка отображается на значке блока. Отображаемая задержка - это количество циклов между первым действительным входом и первым действительным выходом, предполагая, что вход является непрерывным. Коэффициенты фильтра не влияют на задержку. Установка размера выходного сигнала равным размеру входного сигнала уменьшает задержку, поскольку выборки не сохраняются и не переупорядочиваются.
На этой диаграмме показаны validIn и validOut сигналы для смежных входных данных с размером вектора 16 и длиной БПФ 512.
На диаграмме также показаны дополнительные параметры startOut и endOut сигналы, указывающие границы кадра. Если включено, startOut импульсы в течение одного цикла с первым validOut кадра, и endOut импульсы в течение одного цикла с последним validOut рамы.
При применении непрерывных входных кадров (без зазоров в validIn между кадрами), выход также будет непрерывным после начальной задержки.

validIn сигнал может быть несмежным. Данные, сопровождаемые validIn сохраняют сигнал до заполнения кадра. Затем данные выводятся в непрерывном кадре N (длина БПФ) циклов. Эта диаграмма показывает несмежный вход и смежный выход для длины БПФ 512 и размера вектора 16 выборок.

Эти данные о ресурсах и производительности представляют собой результаты по месту и маршруту, полученные в результате создания HDL, предназначенного для Xilinx ® Virtex ® 6 (XC6VLX240-1ff784) FPGA. Эта конфигурация используется в трех примерах в таблицах:
Длина БПФ (по умолчанию) - 8
Длина фильтра - 96 коэффициентов
16-разрядные комплексные входные данные
Типы выходных данных коэффициентов и фильтров (по умолчанию) - совпадают с количеством полос частот
Комплексное умножение (по умолчанию) - 4 умножителя, 2 сумматора
Масштабирование выходных данных - включено
Минимизация включения тактового сигнала (параметр HDL Coder™)
Производительность синтезированного HDL-кода зависит от цели и вариантов синтеза.
Для скалярного входа конструкция достигает тактовой частоты 346 МГц. Задержка составляет 53 цикла. Субфильтры совместно используют каждый множитель восемь (N) раз. Эти ресурсы используются в проекте.
| Ресурс | Используемый номер |
|---|---|
| LUT | 1591 |
| FFS | 2681 |
DSP48 Xilinx LogiCORE ® | 16 |
Для ввода вектора с четырьмя выборками конструкция достигает тактовой частоты 333 МГц. Задержка составляет 31 цикл. Субфильтры совместно используют каждый множитель дважды (Н/М). Эти ресурсы используются в проекте.
| Ресурс | Используемый номер |
|---|---|
| LUT | 1912 |
| FFS | 3986 |
DSP48 Xilinx LogiCORE | 56 |
Для ввода вектора из восьми выборок конструкция достигает тактовой частоты 292 МГц. Задержка составляет 20 циклов. Если входной размер совпадает с длиной БПФ, субфильтры не имеют общих множителей. Эти ресурсы используются в проекте.
| Ресурс | Используемый номер |
|---|---|
| LUT | 1388 |
| FFS | 2302 |
DSP48 Xilinx LogiCORE | 110 |
[1] Харрис, F. J., К. Дик и М. Райс. «Цифровые приемники и передатчики, использующие банки многофазных фильтров для беспроводной связи». Транзакции IEEE по теории и методам микроволн. Том 51, № 4, апрель 2003 года.
Этот блок поддерживает генерацию кода C/C + + для режимов ускорения Simulink ® и быстрого ускорения, а также для генерации компонентов DPI.
Этот блок имеет единую архитектуру HDL по умолчанию.
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
