exponenta event banner

Введение в конструктор фильтров

В этом примере показано, как использовать конструктор фильтров в качестве удобной альтернативы функциям проектирования фильтров командной строки.

Filter Designer - это мощный графический интерфейс пользователя (GUI) в Toolbox™ обработки сигналов для проектирования и анализа фильтров.

Filter Designer позволяет быстро проектировать цифровые фильтры FIR или IIR, устанавливая спецификации производительности фильтров, импортируя фильтры из рабочего пространства MATLAB ® или добавляя, перемещая или удаляя полюса и нули. Конструктор фильтров также предоставляет инструменты для анализа фильтров, таких как графики амплитуды и фазового отклика и графики полюсов и нулей.

Начало

Напечатать filterDesigner в командной строке MATLAB:

>> filterDesigner

Отображается диалоговое окно «Совет дня» с предложениями по использованию Filter Designer. Затем графический интерфейс пользователя отображается с фильтром по умолчанию.

Графический интерфейс пользователя имеет три основных области:

  • Область «Текущая информация о фильтре»

  • Область отображения фильтра и

  • Панель «Дизайн»

В верхней половине графического интерфейса отображается информация о спецификациях фильтра и откликах для текущего фильтра. В области Текущая информация о фильтре (Current Filter Information) в левом верхнем углу отображаются свойства фильтра, а именно структура фильтра, порядок, количество используемых разделов, а также стабильность или отсутствие фильтра.

В верхней правой части области «Отображение фильтра» отображаются различные отклики фильтра, например, отклик по величине, групповая задержка и коэффициенты фильтра.

Нижняя половина графического интерфейса пользователя является интерактивной частью конструктора фильтров. Панель проектирования в нижней половине - это место, где определяются спецификации фильтра. Он управляет отображением в двух других верхних областях. Другие панели могут отображаться в нижней половине с помощью кнопок боковой панели.

Инструмент включает контекстную справку. Можно щелкнуть правой кнопкой мыши или выбрать пункт Что это? для получения информации о различных частях инструмента.

Проектирование фильтра

Мы разработаем фильтр нижних частот, который пропускает все частоты, меньшие или равные 20% частоты Найквиста (половине частоты дискретизации), и ослабляет частоты, большие или равные 50% частоты Найквиста. Мы будем использовать фильтр FIR Equiripple со следующими спецификациями:

  • Ослабление полосы пропускания 1 дБ

  • Затухание полосы останова 80 дБ

  • Частота полосы пропускания 0,2 [Нормализовано (от 0 до 1)]

  • Частота полосы останова 0,5 [Нормализовано (от 0 до 1)]

Для реализации этого проекта мы будем использовать следующие спецификации:

1. Выберите Lowpass в раскрывающемся меню в разделе Тип ответа (Response Type) и Equiripple (Equiripple) в разделе Метод проектирования FIR (FIR Design Method). Как правило, при изменении типа ответа или метода проектирования параметры фильтра и область отображения фильтра обновляются автоматически.

2. В области Порядок фильтрации (Filter Order) выберите Задать порядок (Specify order) и введите 30.

3. Фильтр КИХ (FIR Equiripple) имеет опцию Коэффициент плотности (Density Factor), которая управляет плотностью частотной сетки. Увеличение значения создает фильтр, который более близко аппроксимирует идеальный эквириптный фильтр, но по мере увеличения вычислений требуется больше времени. Оставьте это значение равным 20.

4. Выберите Нормализованные (от 0 до 1) в раскрывающемся меню Единицы измерения (Units) в области Спецификации частоты (Frequency Specifications).

5. Введите 0,2 для wpass и 0,5 для wstop в области «Спецификации частоты».

6. Wpass и Wstop в области Magnitude Specifications - положительные веса, по одному на полосу, используемые при оптимизации в фильтре FIR Equiripple. Оставьте эти значения на уровне 1.

7. После настройки спецификаций конструкции нажмите кнопку Design Filter в нижней части графического интерфейса пользователя для проектирования фильтра.

Отклик фильтра на величину отображается в области Анализ фильтра (Filter Analysis) после вычисления коэффициентов.

Просмотр других анализов

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

В порядке слева направо кнопки

  • Отклик на величину

  • Фазовый отклик

  • Величина и фазовые характеристики

  • Ответ на групповую задержку

  • Реакция фазовой задержки

  • Импульсная характеристика

  • Ответ на шаг

  • Полюсно-нулевой график

  • Коэффициенты фильтра

  • Сведения о фильтре

Изменение единиц измерения осей

Можно изменить единицы измерения оси X или Y, щелкнув правой кнопкой мыши на метке оси и выбрав нужные единицы измерения. Для текущих единиц измерения установлен флажок.

Маркировка точек данных

В области отображения можно щелкнуть любую точку на графике, чтобы добавить маркер данных, отображающий значения в этой точке. При щелчке правой кнопкой мыши на маркере данных отображается меню, в котором можно перемещать, удалять или корректировать внешний вид маркеров данных.

Оптимизация конструкции

Чтобы минимизировать затраты на внедрение фильтра, постараемся уменьшить количество коэффициентов, используя опцию «Минимальный порядок» на панели проектирования.

Измените значение параметра «Порядок фильтрации» на «Минимальный порядок» в области проектирования и оставьте остальные параметры без изменений.

Нажмите кнопку «Создать фильтр», чтобы создать новый фильтр.

Как видно в области Текущая информация о фильтре (Current Filter Information), порядок фильтрации уменьшился с 30 до 16, количество пульсаций уменьшилось, а ширина перехода стала шире. Характеристики полосы пропускания и полосы останова по-прежнему соответствуют критериям проектирования.

Изменение параметров анализа

Щелкнув правой кнопкой мыши на графике и выбрав пункт Параметры анализа (Analysis Parameters), можно открыть диалоговое окно для изменения специфичных для анализа параметров. (Можно также выбрать Параметры анализа (Analysis Parameters) в меню Анализ (Analysis).)

Чтобы сохранить отображаемые параметры в качестве значений по умолчанию, щелкните Сохранить как по умолчанию (Save as Default). Чтобы восстановить значения по умолчанию, определенные MATLAB, щелкните Восстановить исходные значения по умолчанию (Restore Original Defaults).

Экспорт фильтра

После завершения проектирования можно экспортировать фильтр в следующие места назначения:

  • Рабочее пространство MATLAB

  • MAT-файл

  • Текстовый файл

Выберите Экспорт в меню Файл.

При выборе экспорта в рабочую область MATLAB или в MAT-файл фильтр можно экспортировать как коэффициенты. Если доступен системный Toolbox™ DSP, можно также экспортировать фильтр как системный объект.

Создание файла MATLAB

Конструктор фильтров позволяет создавать код MATLAB для повторного создания фильтра. Это позволяет внедрить проект в существующий код или автоматизировать создание фильтров в сценарии.

Выберите пункт Генерировать код MATLAB (Generate MATLAB code) в меню Файл (File), выберите пункт Фильтровать функцию проектирования (Filter Design Function) и укажите имя файла в диалоговом окне Генерировать код MATLAB (Generate MATLAB code).

Следующий код был создан из фильтра минимального порядка, который мы разработали выше:

Квантование фильтра

Если установлен системный Toolbox™ DSP, на боковой панели доступна панель Задать параметры квантования:

Эту панель можно использовать для квантования и анализа фильтров двойной точности. С помощью инструментария DSP System Toolbox можно квантовать от двойной точности до одной точности. При использовании конструктора фиксированных точек можно квантовать фильтры до точности фиксированных точек. Обратите внимание, что в фильтре нельзя смешивать арифметику с плавающей и фиксированной точками.

Цели

Меню Цели (Targets) Конструктора фильтров (Filter Designer) позволяет создавать различные типы кода, представляющие фильтр. Например, можно создать файлы заголовков C, файлы коэффициентов XILINX (COE) (с помощью панели системных инструментов DSP) и VHDL, Verilog вместе с тестовыми стендами (с Coder™ HDL для проектирования фильтров).

Дополнительные функции

Filter Designer также интегрирует дополнительные функциональные возможности следующих MathWorks™ продуктов:

  • Системная панель инструментов DSP - добавляет расширенные методы проектирования FIR и IIR (т.е. преобразования фильтров, многоскоростные фильтры) и генерирует эквивалентный блок для фильтра

  • Embedded Coder™ - создает, создает и разворачивает код для процессоров Texas Instruments C6000.

  • Код HDL конструкции фильтра - генерирует синтезируемый код VHDL или Verilog для фильтров с фиксированной точкой

  • Simulink ® - создает фильтры из атомных блоков Simulink

См. также