Приложение Filter Designer позволяет вам проектировать и анализировать цифровые фильтры. Можно также импортировать и изменить существующие проекты фильтра.
Чтобы открыть приложение Filter Designer, ввести
filterDesigner
Приложение Filter Designer открывается отображенной панелью Фильтра Проекта.
Обратите внимание на то, что, когда вы открываете Filter Designer, Design Filter не включен. Необходимо внести изменение в создание фильтра по умолчанию для того, чтобы включить Design Filter. Это верно каждый раз, когда вы хотите изменить создание фильтра. Изменения в элементах переключателя или элементах выпадающего меню, таких как те under Response Type или Filter Order сразу включают Design Filter. Изменения в технических требованиях в текстовых полях, таких как Fs, Fpass и Fstop требуют, чтобы вы щелкнули вне текстового поля, чтобы включить Design Filter.
Можно выбрать из нескольких типов ответа:
Lowpass
Повышенный косинус
Highpass
Полоса пропускания
Bandstop
Дифференциатор
Многополосный
Гильбертов трансформатор
Произвольная величина
Дополнительные типы ответа доступны, если вам установили программное обеспечение DSP System Toolbox™.
Примечание
Не все методы создания фильтра доступны для всех типов ответа. Если вы выбираете свой тип ответа, это может ограничить методы создания фильтра, доступные для вас. Методы создания фильтра, которые не доступны для выбранного типа ответа, удалены из области Метода разработки приложения.
Можно использовать метод создания фильтра по умолчанию для типа ответа, который вы выбрали, или можно выбрать метод создания фильтра из доступного КИХ и БИХ-методы, перечисленные в приложении.
Чтобы выбрать алгоритм Remez, чтобы вычислить КИХ-коэффициенты фильтра, установите переключатель FIR и выберите Equiripple
из списка методов.
Технические требования создания фильтра, которые можно установить, варьируются согласно типу ответа и методу разработки. Область отображения иллюстрирует технические требования фильтра, когда вы выбираете Analysis> Filter Specifications или когда вы нажимаете кнопку на панели инструментов Filter Specifications.
Можно также просмотреть технические требования фильтра на графике Величины спроектированного фильтра путем выбора View> Specification Mask.
У вас есть две взаимоисключающих опции для определения порядка фильтра, когда вы проектируете фильтр equiripple:
Specify order: Вы вводите порядка фильтра в текстовое поле.
Minimum order: метод создания фильтра определяет фильтр минимального порядка.
Обратите внимание на то, что опции спецификации порядка фильтра зависят от метода создания фильтра, который вы выбираете. Некоторые методы фильтра не могут иметь обе опции в наличии.
Доступные параметры зависят от выбранного метода создания фильтра. Только КИХ Equiripple и КИХ-методы разработки Окна имеет устанавливаемые опции. Для КИХ Equiripple опцией является Density Factor. Смотрите firpm
для получения дополнительной информации. Для КИХ-Окна опциями является Scale Passband, выбор Window, и для следующих окон, устанавливаемого параметра:
Окно | Параметр |
---|---|
Чебышев ( | Затухание бокового лепестка |
Гауссов ( | \alpha |
Кайзер ( | \beta |
Тейлор ( | Nbar и уровень Sidelobe |
Tukey ( | \alpha |
Определяемый пользователем | Имя функции, параметр |
Можно просмотреть окно в Инструменте Визуализации Окна (WVTool) путем нажатия кнопки View.
Для полосового фильтра можно установить
Единицы частоты:
Гц
kHz
МГц
Нормированный (от 0 до 1)
Частота дискретизации
Частоты полосы пропускания
Частоты полосы задерживания
Вы задаете полосу пропускания с двумя частотами. Первая частота определяет более низкое ребро полосы пропускания, и вторая частота определяет верхнее ребро полосы пропускания.
Точно так же вы задаете полосу задерживания с двумя частотами. Первая частота определяет верхнее ребро первой полосы задерживания, и вторая частота определяет более низкое ребро второй полосы задерживания.
Для полосового фильтра можно задать следующие характеристики ответа величины:
Модули для ответа величины (дБ или линейный)
Неравномерность в полосе пропускания
Затухание в полосе задерживания
Теперь, когда вы задали создание фильтра, нажмите кнопку Design Filter, чтобы вычислить коэффициенты фильтра.
Примечание
Кнопка Design Filter отключена, если вы вычислили коэффициенты для своего создания фильтра. Эта кнопка включена снова, если вы вносите любые изменения в технические требования фильтра.
Можно просмотреть следующие характеристики ответа фильтра в области отображения или в отдельном окне.
Ответ величины
Фазовый отклик
Величина и Фазовые отклики
Ответ групповой задержки
Ответ задержки фазы
Импульсная характеристика
Переходной процесс
Диаграмма нулей и полюсов
Нулевой фазовый отклик — доступный из контекстного меню оси Y в графике Величины и Величины или Фазового отклика.
Примечание
Если вам установили продукт DSP System Toolbox, два других исследования доступны: оценка ответа величины и степень шума округления. Эти два исследования являются единственными единицами тот фильтр использования внутренности.
Для описаний вышеупомянутых ответов и их связанных кнопок на панели инструментов и других кнопок на панели инструментов Filter Designer, смотрите FVTool.
Можно отобразить два ответа в том же графике путем выбора Analysis> Overlay Analysis и выбора доступного ответа. Вторая ось Y добавляется к правой стороне графика отклика. (Обратите внимание на то, что не все ответы могут быть наложены друг на друге.)
Можно также отобразить коэффициенты фильтра и подробную информацию о фильтре в этой области.
Для всех методов анализа, кроме нулевого фазового отклика, можно получить доступ к ним в меню Analysis, диалоговому окну Analysis Parameters из контекстного меню, или при помощи кнопок на панели инструментов. Для нулевой фазы щелкните правой кнопкой по оси Y графика и выберите Zero-phase из контекстного меню.
Можно наложить технические требования фильтра на графике Величины путем выбора View> Specification Mask.
Можно кликнуть по ответу, чтобы добавить всплывающие подсказки графика, которые отображают информацию о конкретных точках на ответе.
Для получения информации об использовании всплывающих подсказок смотрите, В интерактивном режиме Исследуют Отображенные на графике Данные.
Чтобы добавить спектральные маски или линии области отклонения к вашему графику величины, нажмите 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, можно задать различную частоту дискретизации, или можно применить частоту дискретизации ко всем фильтрам.)
Чтобы сохранить отображенные параметры как значения по умолчанию, чтобы использовать, когда Filter Designer или FVTool будут открыты, нажмите Save as Default.
Чтобы восстановить значения по умолчанию, нажмите Restore Original Defaults.
Чтобы отобразить характеристики ответа фильтра в отдельном окне, выберите View> Filter Visualization Tool (доступный, если какой-либо анализ, кроме технических требований фильтра, находится в области отображения), или нажмите кнопку Full View Analysis. Это запускает Инструмент Визуализации Фильтра (FVTool).
Примечание
Если Технические требования Фильтра показывают в области отображения, отмечание кнопки на панели инструментов Full View Analysis запускает графическое окно MATLAB вместо FVTool. Связанным пунктом меню является Print to Figure, который включен, только если технические требования фильтра отображены.
Можно использовать этот инструмент, чтобы аннотировать проект, просмотреть другие характеристики фильтра и распечатать ответ фильтра. Можно соединить Filter Designer и FVTool так, чтобы изменения, внесенные в Filter Designer, были сразу отражены в FVTool. Смотрите FVTool для получения дополнительной информации.
Можно отредактировать коэффициенты спроектированного или импортированного фильтра путем перемещения, удалив или добавив полюса или нули или оба использования Нулевой полюсом панели Редактора.
Примечание
Вы не можете сгенерировать код MATLAB (File> Generate MATLAB code), если ваш фильтр был спроектирован или отредактирован с Нулевым полюсом Редактором.
Вы не можете переместить квантованные полюса и нули. Можно только переместить ссылочные полюса и нули.
Нажмите кнопку Pole-Zero Editor на боковой панели или выберите Edit> Pole-Zero Editor, чтобы отобразить Нулевую полюсом панель Редактора.
Полюса показывают с помощью "x
"символы и нули показывают с помощью "o
"символы.
Кнопки режима графика расположены слева от диаграммы нулей и полюсов. Нажмите одну из кнопок, чтобы изменить режим диаграммы нулей и полюсов. Нулевой полюсом Редактор имеет эти кнопки слева направо: Move Pole-Zero, Add Pole, Add Zero и Delete Pole-Zero.
Примечание
Для фильтров с порядками, больше, чем приблизительно 100, Нулевой полюсом Редактор может столкнуться с числовыми проблемами когда вычислительные полиномы передаточной функции. В результате отображенные ответы фильтра могут отличаться, чем ожидалось. Чтобы смотреть полюса и нули, не пытаясь вычислить старшие полиномы, выберите Analysis> Pole-Zero Plot. Вы не можете отредактировать фильтр в этом представлении.
Следующие параметры графика и средства управления расположены слева от диаграммы нулей и полюсов и ниже кнопок режима графика.
Filter gain — фактор, чтобы компенсировать полюс (полюса) фильтра и усиления нуля (нулей)
Coordinates — модули (Polar
или Rectangular
) из выбранного полюса или нуля
Magnitude — если полярные координаты выбраны, величина выбранного полюса или нуля
\angle если полярные координаты выбраны, угол выбранного полюса (полюсов) или нуля (нулей)
Действительный если прямоугольные координаты выбраны, действительный компонент выбранного полюса (полюсов) или нуля (нулей)
Imaginary — если прямоугольные координаты выбраны, мнимый компонент выбранного полюса или нуля
Section — для фильтров мультираздела, количества текущего раздела
Conjugate — создает соответствующий сопряженный полюс или нуль или автоматически выбирает сопряженный полюс или нуль, если это уже существует.
AutoUpdate сразу обновляет отображенный ответ величины, когда полюса или нули добавлены, перемещены или удалены.
Edit> Pole-Zero Editor имеет элементы для выбора нескольких полюсов или нулей, для инвертирования и зеркального отражения полюсов или нулей, и для удаления, масштабирования и вращения полюсов или нулей.
Когда вы выбираете полюс или нуль от сопряженной пары, флажок Conjugate и сопряженное автоматически выбраны.
Можно использовать Edit> Convert Structure, чтобы преобразовать текущий фильтр в новую структуру. Все фильтры могут быть преобразованы в следующие представления:
Прямая форма I
Прямая форма II
I транспонированная прямая форма
II транспонированная прямая форма
Образуйте решетку ARMA
Примечание
Если вам установят продукт DSP System Toolbox, вы будете видеть дополнительные структуры в диалоговом окне структуры Преобразования.
Кроме того, следующие преобразования доступны для конкретных классов фильтров:
Минимальные фильтры фазы FIR могут быть преобразованы, чтобы Образовать решетку минимальную фазу
Максимальные фильтры фазы FIR могут быть преобразованы, чтобы Образовать решетку максимальную фазу
Фильтры Allpass могут быть преобразованы, чтобы Образовать решетку allpass
БИХ-фильтры могут быть преобразованы, чтобы Образовать решетку ARMA
Примечание
Преобразование от одной структуры фильтра до других может привести к результату с различными характеристиками, чем оригинал. Это происходит из-за арифметики конечной точности компьютера и изменений расчетов округления преобразования.
Например:
Выберите Edit> Convert Structure, чтобы открыть диалоговое окно структуры Преобразования.
Выберите Direct-form
I
в списке структур фильтра.
Можно использовать Edit> Convert to Second-Order Sections, чтобы сохранить конвертированную структуру фильтра как набор секций второго порядка, а не как монолитная структура высшего порядка.
Примечание
Следующие опции также используются для Edit> Reorder and Scale Second-Order Sections, который вы используете, чтобы изменить структуру фильтра SOS.
Следующие опции Scale доступны при преобразовании прямой формы II структур только:
None
(значение по умолчанию)
L-2
(Норма L2)
L-infinity
(L ∞ норма)
Direction (Up
или Down
) определяет упорядоченное расположение секций второго порядка. Оптимальное упорядоченное расположение изменяется в зависимости от выбранной опции Scale.
Например:
Выберите Edit> Convert to Second-Order Sections, чтобы открыть диалоговое окно Convert to SOS.
Выберите L-infinity
в меню Scale для L ∞ масштабирование нормы.
Оставьте Up
как опция Direction.
Примечание
Чтобы преобразовать от секций второго порядка назад к одному разделу, используйте Edit> Convert to Single Section.
Можно сохранить фильтр или как содействующие переменные фильтра или как переменная объекта фильтра. Сохранить фильтр в рабочее пространство MATLAB:
Выберите File> Export. Диалоговое окно Export появляется.
Выбор Workspace
в меню Export To.
Выберите Coefficients
в меню Export As, чтобы сохранить коэффициенты фильтра или выбрать Objects
сохранить фильтр в объекте фильтра.
Для коэффициентов, имена переменных присвоения с помощью Numerator (для КИХ-фильтров) или Numerator и Denominator (для БИХ-фильтров), или SOS Matrix и Scale Values (для БИХ просачивается форма секции второго порядка), текстовые поля в области Имен переменных.
Для объектов присвойте имя переменной в текстовом поле Discrete Filter. Если у вас есть переменные с теми же именами в вашей рабочей области, и вы хотите перезаписать их, установить флажок Overwrite Variables.
Нажмите кнопку Export.
Сохранить коэффициенты фильтра в текстовый файл,
Выберите File> Export. Диалоговое окно Export появляется.
Выберите Coefficients
File
(ASCII)
в меню Export To.
Нажмите кнопку Export. Диалоговое окно Export Filter Coefficients to FCF File появляется.
Выберите или введите имя файла и нажмите кнопку Save.
Коэффициенты сохранены в текстовом файле, который вы задали, и редактор MATLAB открывается, чтобы отобразить файл. Текстовый файл также содержит комментарии с номером версии MATLAB, номером версии Signal Processing Toolbox™ и информацией о фильтре.
Сохранить коэффициенты фильтра или объект фильтра как переменные в MAT-файле:
Выберите File> Export. Диалоговое окно Export появляется.
Выберите MAT-file
в меню Export To.
Выберите Coefficients
в меню Export As, чтобы сохранить коэффициенты фильтра или выбрать Objects
сохранить фильтр в объекте фильтра.
Для коэффициентов, имена переменных присвоения с помощью Numerator (для КИХ-фильтров) или Numerator и Denominator (для БИХ-фильтров), или SOS Matrix и Scale Values (для БИХ просачивается форма секции второго порядка), текстовые поля в области Имен переменных.
Для объектов присвойте имя переменной в текстовом поле Discrete Filter ( или Quantized Filter). Если у вас есть переменные с теми же именами в вашей рабочей области, и вы хотите перезаписать их, установить флажок Overwrite Variables.
Нажмите кнопку Export . Экспорт в диалоговое окно MAT-File появляется.
Выберите или введите имя файла и нажмите кнопку Save.
Если вам установили продукт Simulink®, можно экспортировать блок Simulink создания фильтра и вставить его в новую или существующую модель Simulink.
Можно экспортировать фильтр, созданный с использованием любой метод создания фильтра, доступный в Filter Designer.
Примечание
Если у вас есть DSP System Toolbox и установленный Fixed-Point Designer™, можно экспортировать CIC-фильтр в модель Simulink.
После разработки вашего фильтра нажмите кнопку боковой панели Realize Model или выберите File> Export to Simulink Model. Понять панель Модели отображена.
Задайте имя, чтобы использовать для вашего блока в Block name.
Чтобы вставить блок в текущую (последнюю выбранную) модель Simulink, установите Destination на Current
. Чтобы вставить блок в новую модель, выберите New
. Чтобы вставить блок в пользовательскую подсистему, выберите User defined
.
Если вы хотите перезаписать блок, ранее созданный из этой панели, проверяйте Overwrite generated `Filter' block.
Если вы устанавливаете флажок 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, и ваш фильтр может быть создан с использованием блок Biquad Filter (DSP System Toolbox) или блок Discrete FIR Filter (Simulink). Для получения дополнительной информации смотрите Filter Realization Wizard (DSP System Toolbox) тема в документации DSP System Toolbox.
Установите параметр Input processing, чтобы задать, выполняет ли сгенерированный фильтр выборку - или основанная на системе координат обработка на входе. В зависимости от типа фильтра вы проектируете, один, или обе из следующих опций могут быть доступными:
Columns as channels (frame based)
— Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
— Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.
Нажмите кнопку Realize Model, чтобы создать блок фильтра. Когда флажок Build model using basic elements устанавливается, Filter Designer реализует фильтр как блок подсистемы с помощью Add (Simulink), Gain (Simulink) и Delay (Simulink) блоки.
Если вы дважды кликаете блок Simulink Filter, структура фильтра отображена.
Можно хотеть включать информацию о фильтре во внешнюю программу C. Чтобы создать заголовочный файл C с переменными, которые содержат данные о параметре фильтра, выполните эту процедуру:
Выберите Targets> Generate C Header. Диалоговое окно Generate C Header появляется.
Введите имена переменных, которые будут использоваться в заголовочном файле C. Конкретная структура фильтра определяет переменные, которые создаются в файле.
Отфильтруйте структуру | Переменный параметр |
---|---|
Прямая форма I Прямая форма II I транспонированная прямая форма II транспонированная прямая форма | Numerator, Numerator length, Denominator, Denominator length |
Образуйте решетку ARMA | Lattice coeff., Lattice coeff. length, Ladder coeff., Ladder coeff. length |
Образуйте решетку MA | Lattice coeff., Lattice coeff. length и Number of sections (неактивный, если фильтр имеет только один раздел), |
КИХ-КИХ Прямой формы прямой формы транспонирован | Numerator, Numerator length и Number of sections (неактивный, если фильтр имеет только один раздел), |
Переменные длины содержат общее количество коэффициентов того типа.
Примечание
Имена переменных не могут быть зарезервированными словами языка C, такими как for
.
Выберите Export Suggested, чтобы использовать предложенный тип данных или выбрать Export As и выбрать желаемый тип данных из выпадающего.
Примечание
Если вам не установили программное обеспечение DSP System Toolbox, выбрав какой-либо тип данных кроме результатов плавающей точки двойной точности в фильтре, который точно не совпадает с тем, вы спроектировали в Filter Designer. Это происходит из-за округления и усечения различий.
Нажмите Generate, чтобы сохранить файл и оставить диалоговое окно открытым для дополнительных определений заголовочного файла C. Чтобы закрыть диалоговое окно, нажмите Close.
Можно сгенерировать код MATLAB, который создает фильтр, который вы спроектировали в Filter Designer из командной строки. Выберите File> Generate MATLAB Code> Filter Design Function и задайте имя файла в Сгенерировать диалоговом окне кода MATLAB.
Примечание
Вы не можете сгенерировать код MATLAB (File> Generate MATLAB Code> Filter Design Function), если ваш фильтр был спроектирован или отредактирован с Нулевым полюсом Редактором.
Следующим является сгенерированный код MATLAB для lowpass по умолчанию, просачиваются Filter Designer.
function Hd = ExFilter %EXFILTER Returns a discrete-time filter object. % % MATLAB Code % Generated by MATLAB(R) 7.11 and the Signal Processing Toolbox 6.14. % % Generated on: 17-Feb-2010 14:15:37 % % Equiripple Lowpass filter designed using the FIRPM function. % All frequency values are in Hz. Fs = 48000; % Sample Rate Fpass = 9600; % Passband Frequency Fstop = 12000; % Stopband Frequency Dpass = 0.057501127785; % Passband Ripple Dstop = 0.0001; % Stopband Attenuation dens = 20; % Density Factor % Calculate the order from the parameters using FIRPMORD. [N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]); % Calculate the coefficients using the FIRPM function. b = firpm(N, Fo, Ao, W, {dens}); Hd = dfilt.dffir(b); % [EOF]
Можно сохранить фильтры, спроектированные на текущем сеансе Filter Designer для расположения каскадом вместе, экспортировав в FVTool или для того, чтобы вспомнить позже на тех же или будущих сеансах Filter Designer.
Вы храните и доступ сохраненные фильтры с кнопками Store Filter и Filter Manager, соответственно, в панели Current Filter Information.
Store Filter — Отображает диалоговое окно Store Filter, в котором вы задаете имя фильтра, чтобы использовать при хранении фильтра в менеджере по Фильтру. Имя по умолчанию является типом фильтра.
Filter Manager — Открывает менеджера по фильтру.
Текущий фильтр описан ниже поле списка. Чтобы изменить текущий фильтр, подсветите желаемый фильтр. Если вы выбираете Edit current filter, Filter Designer отображает в настоящее время выбранные технические требования фильтра. Если вы вносите какие-либо изменения в технические требования, сохраненный фильтр сразу обновляется.
Чтобы расположить каскадом два или больше фильтра, подсветите желаемые фильтры и нажмите Cascade. Новый каскадный фильтр добавляется к менеджеру по Фильтру.
Чтобы изменить название сохраненного фильтра, нажмите Rename. Переименовать диалоговое окно фильтра отображено.
Чтобы демонтировать сохраненный фильтр от менеджера по Фильтру, нажмите Delete.
Чтобы экспортировать один или несколько фильтров в FVTool, подсветите фильтр (фильтры) и нажмите FVTool.
Можно сохранить сеанс создания фильтра как MAT-файл и возвратить в тот же сеанс другое время.
Нажмите кнопку Save Session, чтобы сохранить ваш сеанс как MAT-файл. В первый раз, когда вы сохраняете сеанс, браузер Сеанса Создания фильтра Сохранения открывается, предлагая вам имя сеанса.
.fda
расширение добавляется автоматически ко всем сеансам создания фильтра, которые вы сохраняете.
Примечание
Можно также использовать File> Save Session и File> Save Session As, чтобы сохранить сеанс.
Можно загрузить существующие сеансы в Filter Designer путем нажатия кнопки Open Session или File> Open Session . Браузер Сеанса Создания фильтра Загрузки открывается, который позволяет вам выбирать из своих ранее сохраненных сеансов создания фильтра.