Использование Filter Designer

Чтобы открыть конструктор фильтров, введите

filterDesigner
в MATLAB® командная строка.

Конструктор фильтров открывает Design filter отображается панель.

Обратите внимание, что при открытии filter designer Design Filter не активируется. Для включения создания фильтра необходимо изменить порядок по умолчанию в Design Filter. Это справедливо для каждого раза, когда вы хотите изменить создание фильтра. Изменения элементов переключателя или выпадающих пунктов меню, таких как те, что находятся под Response Type или Filter Order немедленно включить Design Filter. Изменения спецификаций в текстовых полях, таких как Fs, Fpass и Fstop, требуют, чтобы вы нажимали за пределами текстового поля, чтобы включить Design Filter.

Выбор типа отклика

Вы можете выбрать из нескольких типов ответа:

  • Lowpass

  • Приподнятый косинус

  • Highpass

  • Полосно-пропускающий

  • Bandstop

  • Дифференциатор

  • Многополосный

  • Гильбертский трансформатор

  • Произвольная величина

  • Произвольная групповая задержка

  • Достигание максимума

  • Надрез

Чтобы спроектировать полосно-пропускающий фильтр, выберите переключатель рядом с Bandpass в области Response Type приложения.

Примечание

Не все методы создания фильтра доступны для всех типов отклика. Если вы выбираете тип ответа, это может ограничить доступные вам методы создания фильтра. Методы создания фильтра, которые недоступны для выбранного типа ответа, удаляются из области Design Method приложения.

Выбор метода создания фильтра

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

Чтобы выбрать алгоритм Ремеза для вычисления коэффициентов конечной импульсной характеристики, выберите переключатель FIR и нажмите Equiripple из списка методов.

Настройка спецификаций создания фильтра

Просмотр спецификаций фильтра

Спецификации создания фильтра, которые вы можете задать, варьируются в зависимости от типа отклика и метода проектирования. Область отображения иллюстрирует спецификации фильтра, когда вы выбираете Analysis > Filter Specifications или когда вы нажимаете кнопку Filter Specifications панели инструментов.

Можно также просмотреть спецификации фильтра на графике Величина проектируемого фильтра, выбрав View > Specification Mask.

Порядок фильтрации

У вас есть два взаимоисключающих опции для определения порядка фильтра, когда вы проектируете фильтр equiripple:

  • Specify order: Вы вводите порядок фильтра в текстовом поле.

  • Minimum order: Метод создания фильтра определяет фильтр минимального порядка.

Выберите переключатель Minimum order для этого примера.

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

Опции

Доступные опции зависят от выбранного метода создания фильтра. Только методы конечной импульсной характеристики Equiripple и конечная импульсная характеристика Window проекта имеют настраиваемые опции. Для KIR Equiripple, опция является Density Factor. Посмотрите firpm для получения дополнительной информации. Для конечная импульсная характеристика опции Scale Passband, Window выбора, и для следующих окон, параметр settable:

Окно

Параметр

Чебышёв (chebwin)

Ослабление Сиделоба

Гауссов (gausswin)

Альфа

Кайзер (kaiser)

Бета

Тейлор (taylorwin)

Уровни Nbar и Sidelobe

Тукей (tukeywin)

Альфа

Определяемый пользователем

Имя функции, параметр

Вы можете просмотреть окно в Window Visualization Tool (WVTool) нажав кнопку View.

В данном примере установите Density factor равным 16.

Спецификации частоты полосно-пропускающего фильтра

Для полосно-пропускающего фильтра можно задать

  • Модули измерения частоты:

    • Hz

    • kHz

    • MHz

    • GHz

    • Нормировано (от 0 до 1)

  • Частота дискретизации

  • Частоты полосы пропускания

  • Частоты диапазона остановок

Диапазон пропускания задается с двумя частотами. Первая частота определяет нижнее ребро полосы пропускания, а вторая частота определяет верхнее ребро полосы пропускания.

Точно так же вы задаете диапазон остановки с двумя частотами. Первая частота определяет верхнее ребро первой полосы значений, а вторая частота определяет нижнее ребро второй полосы значений.

Для этого примера:

  • Сохраните модули измерения в Hz (по умолчанию).

  • Установите частоту дискретизации (Fs) равной 2000 Гц.

  • Установите конец первой области значений (Fstop1) равным 200 Гц.

  • Установите начало полосы пропускания (Fpass1) равным 300 Гц.

  • Установите конец полосы пропускания (Fpass2) равным 700 Гц.

  • Установите начало второго диапазона остановок (Fstop2) равным 800 Гц.

Величины полосно-пропускающего фильтра

Для полосно-пропускающего фильтра можно задать следующие величины характеристики отклика:

  • Модули для величины отклика (дБ или линейный)

  • Неравномерность в полосе пропускания

  • Затухание в полосе задерживания

Для этого примера:

  • Сохраняйте Units в dB (по умолчанию).

  • Установите неравномерность в полосе пропускания (Apass) на 0.1 дБ.

  • Установите затухание в полосе задерживания для обоих диапазонов (Astop1, Astop2) равным 75 дБ.

Вычисление коэффициентов фильтра

Теперь, когда вы задали создание фильтра, нажмите кнопку Design Filter, чтобы вычислить коэффициенты фильтра.

Заметьте, что кнопка Design Filter отключена, когда вы вычислили коэффициенты для создания фильтра. Эта кнопка снова включается после внесения изменений в спецификации фильтра.

Анализ фильтра

Отображение ответов на фильтр

Можно просмотреть следующие характеристики фильтра в области отображения или в отдельном окне.

  • Величина

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

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

  • Групповая задержка

  • Фаза фазовой задержки

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

  • Переходная характеристика

  • Диаграмма нулей и полюсов

  • Нулевая фазовая характеристика - доступна из контекстного меню оси Y на Величину или Величину и Фазовый отклик графике.

  • Величина отклика

  • Округление шума Степени спектра

В Magnitude Response Estimate и Round-off Noise Power Spectrum анализах используются внутренние элементы фильтра.

Для описания вышеуказанных ответов и связанных с ними кнопок на панели инструментов и других кнопок на панели инструментов Filter Designer, см. FVTool.

Можно отобразить два отклика на одном графике, выбрав Analysis > Overlay Analysis и выбрав доступный отклик. Вторая ось Y добавляется к правой части графика отклика. (Обратите внимание, что не все ответы могут быть наложены друг на друга.)

Можно также просмотреть коэффициенты фильтра и подробную информацию о фильтре в этой области.

Для всех методов анализа, кроме нулевой фазы, доступ к ним можно получить из меню Analysis, диалогового окна Параметры анализа (Analysis Parameters) из контекстного меню или с помощью кнопок на панели инструментов. Для нулевой фазы щелкните правой кнопкой по оси Y графика и выберите Zero-phase из контекстного меню.

Для примера, чтобы просмотреть величину ответ фильтра, нажмите кнопку Magnitude Response на панели инструментов.

Можно также наложить спецификации фильтра на график Величина (Magnitude), выбрав View > Specification Mask.

Примечание

Использовать маски спецификаций в FVTool можно только в том случае, если FVTool был запущен от конструктора фильтров.

Использование всплывающих подсказок

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

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

Построение спектральных масок

Чтобы добавить спектральные маски или линии области отклонения к графику величины, нажмите View > User-defined Spectral Mask.

Маска определяется вектором частоты и вектором величины. Эти векторы должны быть одинаковой длины.

  • Enable Mask - Выберите, чтобы включить отображение маски.

  • Normalized Frequency - Выберите для нормализации частоты между 0 и 1 в отображаемой частотной области значений.

  • Frequency Vector - Введите вектор значений частоты по оси X.

  • Magnitude Units - Выберите требуемые модули величины. Эти модули измерения должны совпадать с модулями, используемыми на графике величины.

  • Magnitude Vector - Введите вектор значений амплитуды по оси Y.

Характеристика величины ниже показывает спектральную маску.

Изменение частоты дискретизации

Чтобы изменить частоту дискретизации вашего фильтра, щелкните правой кнопкой мыши любой график отклика фильтра и выберите Sampling Frequency из контекстного меню.

Чтобы изменить имя фильтра, введите новое имя в Filter name. (В FVToolесли у вас есть несколько фильтров, выберите требуемый фильтр и введите новое имя.)

Чтобы изменить частоту дискретизации, выберите требуемый модуль из Units и введите частоту дискретизации в Fs. (Для каждого фильтра в fvtoolможно задать разную частоту дискретизации или применить частоту дискретизации ко всем фильтрам.)

Чтобы сохранить отображаемые параметры как значения по умолчанию, используемые при открытии FVTool или конструктора фильтров, нажмите Save as Default.

Чтобы восстановить значения по умолчанию, нажмите Restore Original Defaults.

Отображение отклика в FVTool

Чтобы отобразить характеристики фильтра в отдельном окне, выберите View > Filter Visualization Tool (доступно, если любой анализ, кроме спецификаций фильтра, находится в области отображения) или нажмите кнопку Full View Analysis:

Это запускает Filter Visualization Tool (fvtool).

Примечание

Если в области отображения отображаются спецификации фильтра, нажатие кнопки на Full View Analysis панели инструментов открывает графическое окно MATLAB вместо FVTool. Для получения дополнительной информации см. раздел «Добавление аннотаций к диаграмме». Соответствующий элемент меню Print to figure, который активируется только при отображении спецификаций фильтра.

Можно использовать этот инструмент, чтобы аннотировать проект, просмотреть другие характеристики фильтра и распечатать ответ фильтра. Можно связать конструктор фильтров и fvtool так, чтобы изменения, сделанные в конструкторе фильтров, немедленно отражались в fvtool. Посмотрите FVTool для получения дополнительной информации.

Редактирование фильтра с помощью редактора полюса/нуля

Отображение Диаграммы нулей и полюсов

Можно отредактировать конструированные или импортированные коэффициенты фильтра путем перемещения, удаления или добавления полюсов и/или нулей с помощью панели «Полюс/Ноль Редактора».

Примечание

Вы не можете сгенерировать код MATLAB (File > Generate MATLAB code), если ваш фильтр был разработан или отредактирован с помощью редактора полюсов/нули.

Вы не можете перемещать квантованные полюсы и нули. Можно перемещать только опорные полюса и нули.

Нажмите кнопку Pole/Zero Editor на боковой панели или выберите Edit > Pole/Zero Editor, чтобы отобразить эту панель.

Поляки показаны с помощью символов x, а нули - с помощью символов o.

Изменение Диаграммы нулей и полюсов

Кнопки plot mode расположены слева от графика «полюс/ноль». Выберите одну из кнопок, чтобы изменить режим графика полюс/ноль. Редактор полюсов/нулей имеет эти кнопки слева направо: перемещайте полюс, добавляйте полюс, добавляйте нуль и удаляйте полюс или нуль.

Следующие параметры графика и элементы управления расположены слева от графика/нули и ниже кнопок plot mode.

  • Gain - коэффициент для компенсации коэффициентов усиления полюса (ов) и нулей (нулей ) (ов) фильтра

  • Coordinates - модули измерения (Polar или Rectangular) выбранного шеста или нуля

  • Magnitude - если выбраны полярные координаты, величина выбранного полюса или нуль

  • Angle - если выбраны полярные координаты, угол выбранного полюса (полюса) или нули (нули ) (ы)

  • Real - если выбраны прямоугольные координаты, действительный компонент выбранного полюса (ов) или нули (нули ) (ов)

  • Imaginary - если выбраны прямоугольные координаты, мнимый компонент выбранного полюса или нуль

  • Section - для мультисекционных фильтров, номер текущей секции

  • Conjugate - создает соответствующий сопряженный полюс или нуль или автоматически выбирает сопряженный полюс или нуль, если он уже существует.

  • Auto update - немедленно обновляет отображаемый величиной ответ, когда полюсы или нули добавляются, перемещаются или удаляются.

В Pole/Zero Editor Edit есть элементы для выбора нескольких полюсов/нулей, для инвертирования и зеркального отражения полюсов/нулей, а также для удаления, масштабирования и вращения полюсов/нулей.

Перемещение одного из нулей по вертикальной оси приводит к следующему результату:

  • Выбранная нулевая пара отображается зеленым цветом.

  • При выборе одного из нулей из сопряженной пары флажок Сопряженное (Conjugate) и сопряженное (conjugate) устанавливаются автоматически.

  • График Magnitude Response обновляется немедленно, потому что Auto update активен.

Преобразование структуры фильтра

Преобразование в новую структуру

Можно использовать Edit > Convert Structure, чтобы преобразовать текущий фильтр в новую структуру. Все фильтры можно преобразовать в следующие представления:

  • Прямая форма I

  • Прямая форма II

  • Прямая форма I транспонирована

  • Прямая форма II транспонирована

  • РЕШЕТКА ПЕРЕМИРИЯ

Примечание

Если установлен продукт DSP System Toolbox™, в диалоговом окне Преобразовать структуру (Convert structure) будут отображены дополнительные структуры.

В сложение для конкретных классов фильтров доступны следующие преобразования:

  • Фильтры минимальной конечной импульсной характеристики фазы могут быть преобразованы в фазу минимальной решетки

  • Фильтры максимальной конечной импульсной характеристики фазы могут быть преобразованы в максимальную фазу решетки

  • Allpass фильтры могут быть преобразованы в Lattice allpass

  • БИХ фильтры могут быть преобразованы в перемирие по решетке

Примечание

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

Для примера:

  • Выберите Edit > Convert Structure, чтобы открыть диалоговое окно Преобразовать структуру (Convert structure).

  • Выберите Direct-form I в списке фильтрующих структур.

Преобразование в секции второго порядка

Можно использовать Edit > Convert to Second-Order Sections для хранения преобразованной структуры фильтра как наборы секций второго порядка, а не как монолитной структуры более высокого порядка.

Примечание

Следующие опции также используются для Edit > Reorder and Scale Second-Order Sections, которые используются для изменения структуры фильтра SOS.

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

  • None (по умолчанию)

  • L-2 (Л2 норма)

  • L-infinity (Л норма)

The Direction (Up или Down) определяет упорядоченное расположение секций второго порядка. Оптимальное упорядоченное расположение изменяется в зависимости от выбранной опции Scale.

Для примера:

  • Выберите Edit > Convert to Second-Order Sections, чтобы открыть диалоговое окно «Преобразовать в SOS».

  • Выберите L-infinity из меню Scale для L норма масштабирования.

  • Оставьте Up как опция Direction.

    Примечание

    Для преобразования секций второго порядка назад в один раздел используйте Edit > Convert to Single Section.

Экспорт создания фильтра

Экспорт коэффициентов или объектов в рабочую область

Можно сохранить фильтр либо как переменные коэффициентов фильтра, либо как переменную System object™ фильтра. Чтобы сохранить фильтр в рабочем пространстве MATLAB:

  1. Выберите File > Export. Откроется диалоговое окно Экспорт (Export).

  2. Выберите Workspace из Export To меню.

  3. Выберите Coefficients из Export As меню сохранить коэффициенты фильтра или выбрать System Objects для сохранения фильтра в Системный объект фильтра.

  4. Для коэффициентов присвоения имена переменных с помощью Numerator (для конечной импульсной характеристики фильтров) или Numerator и Denominator (для БИХ фильтров) или SOS Matrix и Scale Values (для БИХ фильтров в секцию второго порядка форме) текстовых полей в области Имена переменных .

    Для системных объектов присвойте имя переменной в Discrete Filter ( или Quantized Filter) текстовом поле. Если в рабочей области есть переменные с одинаковыми именами, и вы хотите их перезаписать, установите флажок Overwrite Variables.

  5. Нажмите кнопку Export.

Экспорт коэффициентов в ASCII-х¦йл

Чтобы сохранить коэффициенты фильтра в текстовый файл,

  1. Выберите File > Export. Откроется диалоговое окно Экспорт (Export).

  2. Выберите Coefficients File (ASCII) из Export To меню.

  3. Нажмите кнопку Export. Откроется диалоговое окно Экспорт коэффициентов фильтра в файл .FCF.

  4. Выберите или введите имя файла и нажмите кнопку Save.

Коэффициенты сохраняются в указанном текстовом файле, и откроется Редактор MATLAB, чтобы отобразить файл. Текстовый файл также содержит комментарии с номером версии MATLAB, номером версии Signal Processing Toolbox™ и информацией о фильтре.

Экспорт коэффициентов или объектов в MAT-файл

Чтобы сохранить коэффициенты фильтра или объект фильтра как переменные в MAT-файле:

  1. Выберите File > Export. Откроется диалоговое окно Экспорт (Export).

  2. Выберите MAT-file из Export To меню.

  3. Выберите Coefficients из Export As меню сохранить коэффициенты фильтра или выбрать Objects для сохранения фильтра в объекте фильтра.

  4. Для коэффициентов присвоения имена переменных с помощью Numerator (для конечной импульсной характеристики фильтров) или Numerator и Denominator (для БИХ фильтров) или SOS Matrix и Scale Values (для БИХ фильтров в секцию второго порядка форме) текстовых полей в области Имена переменных .

    Для объектов присвойте имя переменной в Discrete Filter ( или Quantized Filter) текстовом поле. Если в рабочей области есть переменные с одинаковыми именами, и вы хотите их перезаписать, установите флажок Overwrite Variables.

  5. Нажмите кнопку Export . Откроется диалоговое окно Экспорт в MAT-файл.

  6. Выберите или введите имя файла и нажмите кнопку Save.

Экспорт в модель Simulink

Если у вас есть Simulink® продукт установлен, можно экспортировать блок Simulink вашего создания фильтра и вставить его в новую или существующую модель Simulink.

Можно экспортировать фильтр, разработанный с помощью любого метода создания фильтра, доступного в приложении filter designer.

Примечание

Если у вас установлены DSP System Toolbox и Fixed-Point Designer™, можно экспортировать CIC-фильтр в модель Simulink.

  1. После разработки фильтра нажмите кнопку с Realize Model боковой панели или выберите File > Export to Simulink Model. Отображается панель «Реализация модели».

  2. Укажите имя для блока в Block name.

  3. Чтобы вставить блок в текущую (самую последнюю выбранную) модель Simulink, установите Destination равной Current. Чтобы вставить блок в новую модель, выберите New. Чтобы вставить блок в пользовательскую подсистему, выберите User defined.

  4. Если необходимо перезаписать блок, ранее созданный с этой панели, проверьте Overwrite generated `Filter' block.

  5. Если установлен флажок Build model using basic elements, фильтр создается как блок подсистемы (Simulink), который использует отдельные подэлементы. В этом режиме доступны следующие оптимизации:

    • Optimize for zero gains - Удаляет нулевые пути усиления из структуры фильтра.

    • Optimize for unity gains - Заменяет провод (короткое замыкание) на коэффициент усиления, равный 1 в структуре фильтра.

    • Optimize for negative gains - Подставляет провод (короткое замыкание) на коэффициент усиления, равный -1, и изменяет соответствующие сложения к вычитаниям в структуре фильтра.

    • Optimize delay chains - Заменители цепей задержки, состоящие из n задержки модулей с одной задержкой n.

    • Optimize for unity scale values - Удаляет из структуры фильтра умножения на масштабные значения, равные 1.

    Следующий рисунок показывает эффекты некоторых оптимизаций:

    Эффекты оптимизации

    Примечание

    Флажок Build model using basic elements включен только в том случае, если у вас есть лицензия DSP System Toolbox, и фильтр может быть разработан с помощью блоков цифровых фильтров из этой библиотеки. Для получения дополнительной информации см. Filter Realization Wizard.

  6. Установите параметр Input processing, чтобы определить, выполняет ли сгенерированный фильтр обработку на основе выборок или фреймов на входе. В зависимости от типа проектируемого фильтра может быть доступна одна или обе из следующих опций:

    • Columns as channels (frame based) - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.

    • Elements as channels (sample based) - Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

  7. Нажмите кнопку Realize Model, чтобы создать блок фильтра. Когда установлен флажок Build model using basic elements, конструктор фильтров реализует фильтр как блок подсистемы с помощью блоков Sum (Simulink), Gain (Simulink) и Delay (Simulink).

При двойном клике по блоку Simulink Filter отображается структура фильтра.

Другие способы экспорта фильтра

Можно также отправить фильтр в заголовочный файл C или сгенерировать код MATLAB, чтобы создать фильтр из командной строки. Подробные инструкции см. в следующих разделах:

Генерация файла заголовка C

Можно хотеть включить информацию о фильтре во внешнюю программу C. Чтобы создать файл заголовка C с переменными, которые содержат данные параметра фильтра, выполните следующую процедуру:

  1. Выберите Targets > Generate C Header. Появится диалоговое окно Генерация заголовка C.

  2. Введите имена переменных, которые будут использоваться в заголовочном файле C. Конкретная структура фильтра определяет переменные, которые создаются в файле

    Структура фильтра

    Переменный параметр

    Прямая форма I
    Прямая форма II
    Прямая форма I транспонирована
    Прямая форма II транспонирована

    Числитель, Длина числителя *, Знаменатель, Длина Знаменателя * и Количество разделов (неактивно, если фильтр имеет только один раздел)

    РЕШЕТКА ПЕРЕМИРИЯ

    Решетчатые коэффициенты, Длина решетчатых коэффициентов *, Лестничные контуры, Длина лестничных контуров *, Количество каскадов (неактивно, если фильтр имеет только один раздел)

    Решетка MA

    Решетчатые коэффициенты, Длина решетчатых коэффициентов * и Количество разделов (неактивно, если фильтр имеет только один раздел)

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

    Числитель, Длина числителя * и Количество разделов (неактивно, если фильтр имеет только один раздел)

    * Переменные length содержат общее количество коэффициентов этого типа.

    Примечание

    Имена переменных не могут быть зарезервированными словами на C, такими как «for».

  3. Выберите Export Suggested, чтобы использовать предлагаемый тип данных или выберите Export As и выберите требуемый тип данных из раскрывающегося списка.

    Примечание

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

  4. Щелкните Generate, чтобы сгенерировать файл заголовка C. Нажмите кнопку Close, чтобы закрыть диалоговое окно.

Генерация кода MATLAB

Можно сгенерировать код MATLAB, который создает фильтр, созданный вами в конструкторе фильтров, из командной строки. Выберите File > Generate MATLAB Code > Filter Design Function и укажите имя файла в диалоговом окне «Генерация кода MATLAB».

Примечание

Вы не можете произвести код MATLAB через File> Generate MATLAB Code> Filter Design Function (with System Objects) или через File> Generate MATLAB Code> Data Filtering Function (with System Objects), если Ваш фильтр был разработан или отредактирован с Редактором поляка/Нуля.

Следующий код MATLAB генерируется при выборе File > Generate MATLAB Code > Data Filtering Function (with System Objects) для полосно-пропускающего фильтра equiripple, разработанного в этом примере.

function Hd = ExFilter
%EXFILTER Returns a discrete-time filter object.

% MATLAB Code
% Generated by MATLAB(R) 9.1 and the DSP System Toolbox 9.3.
% Generated on: 17-Nov-2016 14:55:28

% Equiripple Bandpass filter designed using the FIRPM function.

% All frequency values are in Hz.
Fs = 2000;  % Sampling Frequency

Fstop1 = 200;              % First Stopband Frequency
Fpass1 = 300;              % First Passband Frequency
Fpass2 = 700;              % Second Passband Frequency
Fstop2 = 800;              % Second Stopband Frequency
Dstop1 = 0.000177827941;   % First Stopband Attenuation
Dpass  = 0.0057563991496;  % Passband Ripple
Dstop2 = 0.000177827941;   % Second Stopband Attenuation
dens   = 16;               % Density Factor

% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fstop1 Fpass1 Fpass2 Fstop2]/(Fs/2), [0 1 ...
    0], [Dstop1 Dpass Dstop2]);

% Calculate the coefficients using the FIRPM function.
b  = firpm(N, Fo, Ao, W, {dens});
Hd = dsp.FIRFilter( ...
    'Numerator', b);

% [EOF]

Управление фильтрами в текущем сеансе

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

Вы храните сохраненные фильтры и получаете доступ к ним с помощью кнопок Store filter и Filter Manager , соответственно, на панели Информация о текущем фильтре.

Store Filter - отображает диалоговое окно «Фильтр хранилища», в котором задается имя фильтра, используемое при хранении фильтра в Диспетчере фильтров. Имя по умолчанию является типом фильтра.

Filter Manager - Открывает Диспетчер фильтров.

Текущий фильтр указан ниже списка. Чтобы изменить текущий фильтр, выделите требуемый фильтр. Если вы выбираете Edit current filter, filter designer отображает текущие выбранные спецификации фильтра. Если вы вносите какие-либо изменения в спецификации, сохраненный фильтр немедленно обновляется.

Чтобы каскадировать два или более фильтров, выделите нужные фильтры и нажмите Cascade. В Диспетчер фильтров добавляется новый каскадный фильтр.

Чтобы изменить имя хранимого фильтра, нажмите Rename. Откроется диалоговое окно Переименовать фильтр.

Чтобы удалить сохраненный фильтр из Диспетчера фильтров, нажмите Delete.

Чтобы экспортировать один или несколько фильтров в FVTool, выделите фильтр (ы) и нажмите FVTool .

Сохранение и открытие сеансов создания фильтра

Можно сохранить сеанс создания фильтра как MAT-файл и вернуться к тому же сеансу в другое время.

Нажмите кнопку Save session, чтобы сохранить сеанс как MAT-файл. При первом сохранении сессии откроется браузер Сохранить сеанс дизайна фильтра (Save Создание Фильтра Session) с запросом имени сессии.

Для примера сохраните этот проект сеанса следующим TestFilter.fda в вашей текущей рабочей директории путем набора TestFilter в поле File name.

The .fda расширение автоматически добавляется ко всем сеансам создания фильтра, которые вы сохраняете.

Примечание

Вы можете также использовать File> Save session и File> Save session as, чтобы спасти сеанс.

Можно загрузить существующие сессии в Filter Design and Analysis Tool, нажав кнопку Open session, Open session кнопку или File > Open session . Откроется браузер Загрузка Создание фильтра сеанса, позволяющий выбрать из ранее сохраненных сеансов создания фильтра.