Фильтр Biquad

Образцовый биквадратный БИХ (SOS) фильтрует (HDL Coder)

Описание

Блок Biquad Filter доступен с DSP System Toolbox™.

Для получения информации о поведении симуляции и параметрах блоков, см. Фильтр Biquad.

Программируемая поддержка фильтра

HDL Coder™ поддерживает программируемые фильтры для блоков Фильтра Biquad.

  1. На фильтре блокируют маску, набор Coefficient source к Input port(s).

  2. Соедините векторные сигналы с Num и содействующими портами Den.

Следующие ограничения применяются к оптимизации HDL за программируемый блок Biquad Filter:

  • Полностью последовательная и частично последовательная архитектура не поддержана. Architecture должен быть установлен в Fully parallel.

  • Оптимизация множителя канонической цифры со знаком (CSD) не поддержана. CoeffMultipliers должен быть установлен в multiplier.

Многоканальная поддержка фильтра

HDL Coder поддерживает использование векторных входных параметров к блокам Фильтра Biquad.

  1. Соедините векторный сигнал с входным портом блока Biquad Filter.

  2. Задайте Input processing как Elements as channels (sample based).

  3. Чтобы уменьшать область путем совместного использования ядра фильтра между каналами, установите параметр StreamingFactor подсистемы к количеству каналов. Смотрите раздел Streaming Оптимизации Подсистемы для Фильтров.

Архитектура HDL

Блокируйте оптимизацию

Последовательная архитектура

Чтобы использовать оптимизацию блочного уровня, чтобы уменьшать аппаратные ресурсы, выберите последовательный Architecture. Затем установите или NumMultipliers или Folding Factor. Смотрите Свойства фильтра HDL.

Когда вы выбираете последовательную архитектуру, устанавливаете Filter structure на Direct form I или Direct form II. Транспонированные структуры прямой формы не поддержаны с последовательной архитектурой.

Поддержка AddPipelineRegisters

Когда вы используете AddPipelineRegisters, регистры помещаются на основе структуры фильтра. Конвейерное размещение регистра определяет задержку.

Отфильтруйте структуруКонвейерно обработайте размещение регистраЗадержка (такты)
ЛюбойКонвейерно обработайте регистры, добавляются между разделами фильтра.NS-1, где NS является количеством разделов.

Оптимизация подсистемы

Этот блок может участвовать в оптимизации уровня подсистемы, такой как совместное использование, потоковая передача и конвейеризация. Для блока, чтобы участвовать в оптимизации уровня подсистемы, установите Architecture на Fully parallel. Смотрите Оптимизацию Подсистемы для Фильтров.

Свойства фильтра HDL

AddPipelineRegisters

Вставьте конвейерный регистр между этапами вычисления в фильтре. См. также AddPipelineRegisters.

CoeffMultipliers

Задайте использование оптимизации канонической цифры со знаком (CSD), чтобы уменьшить область фильтра, заменив содействующие множители на логику shift-and-add. Когда вы выбираете полностью параллельную реализацию фильтра, можно установить CoeffMultipliers на csd или factored-csd. Значением по умолчанию является multipliers, который сохраняет множители в HDL. См. также CoeffMultipliers.

FoldingFactor

Задайте последовательную реализацию БИХ-фильтра SOS по количеству циклов, которые оно берет, чтобы сгенерировать результат. См. также FoldingFactor.

NumMultipliers

Задайте последовательную реализацию БИХ-фильтра SOS по количеству аппаратных множителей, которые сгенерированы. См. также NumMultipliers.

Для описаний свойства фильтра HDL смотрите HDL Filter Block Properties.

Свойства блока HDL

ConstrainedOutputPipeline

Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значение по умолчанию 0. См. также ConstrainedOutputPipeline.

InputPipeline

Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также InputPipeline.

OutputPipeline

Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значение по умолчанию 0. См. также OutputPipeline.

Ограничения

  • Вход кадра не поддержан для генерации HDL-кода.

  • Необходимо установить Initial conditions на 0. Генерация HDL-кода не поддержана для ненулевых начальных состояний.

  • Необходимо выбрать Optimize unity scale values.

  • Вы не можете сгенерировать HDL для этого блока в Восстановленной Синхронной Подсистеме.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

Введенный в R2014a