Реализация частичной последовательной конечной импульсной характеристики фильтра

В этом примере показано, как реализовать 32-контактный lowpass конечная импульсная характеристика с использованием блока Discrete FIR Filter HDL Optimized.

Оба фильтрующих блока в модели примера реализуют идентичный частичный - последовательный 32-контактный фильтр. Верхний блок конфигурирует последовательный фильтр путем определения количества циклов, N, между входными выборками. Этот интервал позволяет каждому умножителю совместно использовать N коэффициентов. Второй блок сконфигурирован, чтобы использовать определенное количество умножителей, М. Эти два строений приводят к одной и той же реализации фильтра. Для 32 симметричных коэффициентов существует 16 уникальных коэффициентов. Поэтому фильтр разделяет каждый из 2 умножителей между 8 коэффициентами.

Модель показывает два способа применения входных выборок, в зависимости от скорости остальной части вашего проекта.

Откройте модель

Откройте модель. Осмотрите верхние параметры блоков. Структура фильтра установлена в Partly serial systolic и Задайте коэффициент сериализации как установлено в Minimum number of cycles between valid input samples. Количество циклов устанавливается (равное 8) с помощью переменной, numCycles. В нижнем блоке Задайте коэффициент сериализации как установлено на Maximum number of multipliers. Количество умножителей устанавливается (равным 2) с помощью переменной. Переменные определены в PostLoadFcn функцию обратного вызова.

Из расцветки можно увидеть, что скорость обоих блоков фильтра одинаковая, в то время как скорость сгенерированных входных выборок отличается.

Запуск модели и просмотр результатов

Запустите модель. Наблюдайте входные и выходные сигналы на сгенерированных графиках. Код для генерации графиков находится в PostSimFcn коллбэк.

На панели инструментов модели откройте Logic Analyzer. Если кнопка не отображается, разверните коллекцию приложения Review Results.

Осмотрите восходящие ребра ready, validIn, и validOut.

Сгенерируйте HDL-код

Чтобы сгенерировать HDL-код из блока Discrete FIR Filter HDL Optimized, щелкните правой кнопкой мыши блок и выберите Create Subsystem from Selection. Затем щелкните правой кнопкой мыши подсистему и выберите HDL-код > Сгенерировать HDL-код для подсистемы. Оба блока генерируют один и тот же HDL-код.

См. также

Блоки