Полифаза фильтров и быстрое преобразование Фурье - оптимизировано для генерации HDL-кода
Поддержка/фильтрация HDL-файлов DSP System Toolbox
Блок Channelizer HDL Optimized разделяет широкополосный входной сигнал на несколько узкополосных выходных сигналов. Он обеспечивает аппаратную скорость и оптимизацию площади для потоковых приложений данных. Блок принимает скаляр или векторный вход реальных или комплексных данных, обеспечивает аппаратно удобные сигналы управления и имеет опциональные выходные сигналы управления системой координат. Вы можете достичь пропускной способности выборка гига сэмплов в секунду (GSPS) с помощью векторного входа. Блок реализует полифазный фильтр с одним подфильтром на входной векторный элемент. Аппаратная реализация чередует подфильтры, что приводит к совместному использованию каждого множителя фильтра (FFT Length/ Input Size). В реализации БПФ используется тот же алгоритм Radix 2 ^ 2 БПФ, что и в блоке 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 - Сброс управляющего сигнала (опционально)Когда reset trueблок останавливает текущее вычисление и очищает внутреннее состояние.
Чтобы включить этот порт, выберите Enable reset input port.
Типы данных: Boolean
dataOut - Выходные данные частотного каналаЕсли вы задаете Output vector size Same as number of frequency bands (по умолчанию), выходные данные являются вектором 1-by- M, где M - длина БПФ.
Если вы задаете Output vector size Same as input size, выходные данные являются вектором M -by-1, где M - размер входного вектора.
Порядок выхода является естественным для любого выхода. Тип выходных данных является результатом Filter output data type и роста разрядности в БПФ, необходимого для предотвращения переполнения.
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 ] (по умолчанию) | вектор числовых значенийЕсли количество коэффициентов не кратно Number of frequency bands (FFT length), блок заполняет этот вектор нулями. Спецификацией фильтра по умолчанию является фильтр конечной импульсной характеристики приподнятого косинуса, rcosdesign(0.25,2,4,'sqrt'). Можно задать вектор коэффициентов или вызов функции создания фильтра, которая возвращает значения коэффициентов. Комплексные коэффициенты не поддерживаются. По умолчанию блок переводит коэффициенты в совпадающий тип данных, что и вход.
Complex multiplication - HDL реализация комплексных умножителейUse 4 multipliers and 2 adders (по умолчанию) | Use 3 multipliers and 5 addersHDL- реализации комплексных умножителей, заданные как '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 - Выходные данные являются вектором с M 1 байт, где M - длина БПФ.
Same as input size - Выходные данные являются вектором M -by-1, где M - размер входного вектора.
Divide butterfly outputs by two - масштабирование БПФКогда вы выбираете этот параметр, FFT реализует общий коэффициент шкалы 1/ N путем масштабирования результата каждой стадии трубопровода по 2. Эта регулировка сохраняет выход БПФ в той же амплитуде, область значений и его вход. Если масштабирование отключено, БПФ избегает переполнения, увеличивая размер слова на 1 бит на каждом этапе.
Rounding mode - Метод округления, используемый для внутренних вычислений с фиксированной точкойFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | ZeroСм. «Режимы округления» Блок использует арифметику с фиксированной точкой для внутренних вычислений, когда вход является любым целым числом или типом данных с фиксированной точкой. Эта опция не применяется, когда вход single или double. Каждый этап БПФ проходит после умножения коэффициента twiddle, но перед бабочками. Округление также может происходить при приведении коэффициентов и выхода полифазного фильтра к заданным типам данных.
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 outputs by two, БПФ увеличивает размер слова на 1 бит на каждом этапе, чтобы избежать переполнения.
Enable reset input port - Дополнительный сигнал сбросаКогда вы выбираете этот параметр, порт reset отображается на значке блока. Когда вход reset trueблок останавливает вычисление и очищает все внутренние состояния.
Enable start output port - Дополнительный сигнал управления, указывающий на начало данныхКогда вы выбираете этот параметр, порт startOut отображается на значке блока. Сигнал startOut верен для первого цикла выхода данных в систему координат.
Enable end output port - Дополнительный сигнал управления, указывающий конец данныхКогда вы выбираете этот параметр, порт endOut отображается на значке блока. Сигнал endOut верен для последнего цикла выхода данных в систему координат.
Алгоритм полифазного фильтра требует подфильтра для каждого канала FFT. Для получения дополнительной информации об архитектуре полифазного фильтра см. [1] и Channelizer страницу с описанием блока.
Примечание
Выходы блока Channelizer HDL Optimized не совпадают с выходами блока Channelizer sample-for-sample. Это несоответствие связано с тем, что блоки применяют входные выборки к подфильтрам в разных порядках. Блок Channelizer HDL Optimized применяет вход X (0) к подфильтру E M -1 (z), X (1) к подфильтру E M -2 (z),..., X (M-1) к подфильтру E0 (z). Каналы, обнаруженные обоими блоками, совпадают, когда анализируются на нескольких системах координат.
Если размер входного вектора, M, совпадает с длиной БПФ, N, то блок реализует N подфильтров в оборудовании. Каждый подфильтр является транспонированным конечной импульсной характеристикой фильтром прямой формы с NumCoeffs/ N отводами.

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

Выходы подфильтров приводятся к указанному Filter output data type с помощью выбранных параметров округления и переполнения. Каждый патрубок фильтра в подфильтре конвейеризован, чтобы нацелить секции DSP FPGA.

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

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

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

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

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