Интерактивное создание фильтра
filterBuilder(h)
filterBuilder('response
')
filterBuilder
запускает интерактивный инструмент для создания фильтров. Это использует fdesign
объектно-объектно-ориентированная парадигма создания фильтра, и предназначается, чтобы уменьшать время разработки во время процесса создания фильтра. filterBuilder
использует сосредоточенный спецификацией подход, чтобы найти лучший алгоритм для желаемого ответа.
Необходимо было установить Signal Processing Toolbox™, чтобы использовать fdesign
и filterBuilder
. Некоторые функции, описанные ниже, могут быть недоступными, если ваша установка дополнительно не включает DSP System Toolbox™. Можно проверить присутствие обоих тулбоксов путем ввода ver
в командной строке.
Для получения дополнительной информации о том, как использовать filterBuilder
, смотрите Процесс проектирования Filter Builder.
Использовать filterBuilder
, введите filterBuilder
в командной строке MATLAB® с помощью одного из трех подходов:
Просто введите filterBuilder
. MATLAB открывает диалоговое окно для вас, чтобы выбрать тип ответа фильтра. После того, как вы выбираете тип ответа фильтра, filterBuilder
запускает соответствующее диалоговое окно создания фильтра.
Войти filterBuilder(h)
, где h является существующим объектом фильтра. Например, если h
полосовой фильтр, filterBuilder(h)
открывается полосовой фильтр проектируют диалоговое окно. h
объект, должно быть, был создан с помощью filterBuilder
или использование fdesign
.
У вас должно быть программное обеспечение DSP System Toolbox, чтобы создать и импортировать Системные объекты фильтра.
Войти filterBuilder('
заменять response
')response
с методом ответа из следующей таблицы. MATLAB открывает диалоговое окно создания фильтра, которое соответствует заданному ответу.
У вас должно быть программное обеспечение DSP System Toolbox, чтобы реализовать много проектов фильтра, перечисленных в следующей таблице. Если у вас только есть программное обеспечение Signal Processing Toolbox, можно спроектировать ограниченный набор следующих типов ответа фильтра.
Метод ответа | Описание получившегося создания фильтра | Объект фильтра |
---|---|---|
arbgrpdelay | Произвольное создание фильтра групповой задержки | fdesign.arbgrpdelay |
arbmag | Произвольное создание фильтра величины | fdesign.arbmag
|
arbmagnphase | Произвольный фильтр ответа (величина и фаза) | fdesign.arbmagnphase
|
audioweighting | Фильтр взвешивания аудио | fdesign.audioweighting |
полоса пропускания или bp | Полосовой фильтр | fdesign.bandpass |
bandstop или bs | Заграждающий фильтр | fdesign.bandstop |
cic | CIC-фильтр | fdesign.decimator(M,'cic',...) или fdesign.interpolator(L,'cic',...) Смотрите fdesign.decimator и fdesign.interpolator |
ciccomp | Компенсатор CIC | fdesign.ciccomp |
расческа | Гребенчатый фильтр | fdesign.comb |
diff | Фильтр дифференциатора | fdesign.differentiator |
fracdelay | Дробный фильтр задержки | fdesign.fracdelay |
полуполоса или hb | Полуленточный фильтр | fdesign.halfband |
highpass или hp | Фильтр Highpass | fdesign.highpass |
hilb | Гильбертов фильтр | fdesign.hilbert |
isinc, isinclp, или isinchp | Инверсия sinc lowpass или фильтр highpass | fdesign.isinclp и fdesign.isinchp |
lowpass или lp | Фильтр lowpass (значение по умолчанию) | fdesign.lowpass |
метка | Отметьте фильтр | fdesign.notch |
nyquist | Фильтр Найквиста | fdesign.nyquist |
октава | Фильтр октавы | fdesign.octave |
parameq | Фильтр параметрического эквалайзера | fdesign.parameq |
пик | Пиковый фильтр | fdesign.peak |
Поскольку они не изменяют структуру фильтра, спецификации величины и метод разработки являются настраиваемыми при использовании filterBuilder
.
Основная панель Filter Builder варьируется в зависимости от типа ответа фильтра, но базовая структура является тем же самым. Следующий рисунок показывает базовый макет диалогового окна.
Когда вы выбираете ответ для фильтра, доступных параметров и расчетных параметров, отображенных в изменении диалогового окна. Это отображение позволяет вам фокусироваться только на параметрах, которые целесообразны в контексте вашего создания фильтра.
Каждое диалоговое окно создания фильтра включает опции, отображенные наверху диалогового окна, показанного в следующем рисунке.
Save variable as — Когда вы нажимаете Apply, чтобы применить ваши изменения или OK, чтобы закрыть это диалоговое окно, filterBuilder
сохраняет текущий фильтр в ваше рабочее пространство MATLAB как объект фильтра с именем, которое вы вводите.
View Filter Response — Отображает ответ величины для текущих спецификаций фильтра и метода разработки путем открытия Инструмента Визуализации Фильтра (FVTool).
filterBuilder
диалоговое окно включает опцию Apply. Каждый раз вы нажимаете Apply, filterBuilder
пишет модифицированный фильтр в ваше рабочее пространство MATLAB. Этот модифицированный фильтр имеет имя переменной, которое вы присваиваете в Save variable as. Чтобы применить изменения, не перезаписывая переменную в вас рабочая область, поменяйте имя переменной в Save variable as, прежде чем вы нажмете Apply.
Существует три вкладки в диалоговом окне Filter Builder, содержа три панели: Main, Data Types и Code Generation. Первая панель изменяется согласно спроектированному фильтру. Последние две панели являются тем же самым для всех фильтров. Эти панели обсуждены в следующих разделах.
Вторую вкладку в диалоговом окне Filter Builder показывают в следующем рисунке.
Arithmetic выпадающее поле позволяет выбор Double precision
Одинарная точность
, или Fixed point
. Некоторые из этих опций могут быть недоступными в зависимости от параметров фильтра. Следующая таблица описывает эти опции.
Арифметическая запись списка | Эффект на фильтре |
---|---|
Double precision | Все операции фильтрации и коэффициенты используют представления с плавающей точкой, с двойной точностью и математику. Когда вы используете filterBuilder создать фильтр, double precision значение по умолчанию для свойства Arithmetic. |
Single precision | Все операции фильтрации и коэффициенты используют представления с плавающей точкой с одинарной точностью и математику. |
Fixed point | Эта запись применяет выбранные значения по умолчанию, обычно используемые на многих цифровых процессорах, для свойств в фильтре фиксированной точки. Эти свойства включают содействующие размеры слова, дробные длины и различные рабочие режимы. Эта установка позволяет подписанные зафиксированные типы данных только. Создание фильтра фиксированной точки с filterBuilder доступно только, когда вы устанавливаете программное обеспечение Fixed-Point Designer™ наряду с программным обеспечением DSP System Toolbox. |
Следующий рисунок показывает панель Data Types после того, как вы выберете Fixed point
для Arithmetic и набора Filter internals к Specify precision
. Этот рисунок показывает панель Data Types для случая, где флажок Use a System object to implement filter не устанавливается в панели Main.
Когда вы устанавливаете флажок Use a System object to implement filter в панели Main, панель Data Types появляется как указано ниже:
Не все параметры, описанные в следующем разделе, применяются ко всем фильтрам. Например, КИХ-фильтры не имеют параметры Section output и Section input.
Задайте формат, фильтр применяется к данным, которые будут отфильтрованы. Для всех случаев, filterBuilder
фильтры реализаций, которые используют масштабирование двоичной точки и подписанный вход. Вы устанавливаете размер слова и дробную длину по мере необходимости.
Выберите, как вы задаете размер слова и дробную длину числителя фильтра и коэффициентов знаменателя:
Specify word length
позволяет вам ввести размер слова коэффициентов в битах. В этом режиме, filterBuilder
автоматически устанавливает дробную длину коэффициентов к двоичной точке, только масштабирующейся, который обеспечивает самую лучшую точность для значения и размера слова коэффициентов.
Binary point scaling
позволяет вам ввести размер слова и дробную длину коэффициентов в битах. Если применимо введите отдельные дробные длины для коэффициентов знаменателя и числителя.
Коэффициенты фильтра не повинуются Rounding mode и параметрам Overflow mode, которые доступны, когда вы выбираете Specify precision
из списка внутренностей Фильтра. Коэффициенты всегда насыщаются и округляются к Nearest
.
Выберите, как вы задаете размер слова и дробную длину типа данных с фиксированной точкой, входящего в каждый раздел фильтра SOS. Этот параметр отображается только, когда выбранная структура фильтра является БИХ и SOS.
Binary point scaling
позволяет вам ввести слово и дробные длины входа раздела в битах.
Specify word length
позволяет вам ввести размеры слова в биты.
Выберите, как вы задаете размер слова и дробную длину типа данных с фиксированной точкой, выходящего из каждого раздела фильтра SOS. Этот параметр отображается только, когда выбранная структура фильтра является БИХ и SOS.
Binary point scaling
позволяет вам ввести слово и дробные длины раздела выход в битах.
Specify word length
позволяет вам ввести выходные размеры слова в биты.
Содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией запусков или сеансов. Используйте этот параметр, чтобы задать, как определять слово состояния и дробные длины. Этот параметр не отображается для прямой формы и прямой формы, я фильтрую структуры потому что filterBuilder
выводит состояние непосредственно из формата ввода. Состояния всегда используют подписанное представление:
Binary point scaling
позволяет вам ввести размер слова и дробную длину аккумулятора в битах.
Specify precision
позволяет вам ввести размер слова и дробную длину в битах (при наличии).
Определяет, как фильтр обрабатывает выход операций продукта. Выберите из следующих опций:
Full precision
— Обеспечьте полную точность в результате.
Keep LSB
— Сохраните младший значащий бит в результате, когда необходимо будет сократить слова данных.
Specify Precision
— Позволяет вам установить точность (дробная длина) используемый выходом от умножения.
Задайте, как фильтр фиксированной точки выполняет арифметические операции в фильтре. Затронутые фрагменты фильтра являются продуктами фильтра, суммами, состояниями и выходом. Выберите одну из этих опций:
Full precision
— Указывает, что фильтр обеспечивает полную точность во всех вычислениях для продуктов, выходе, и в аккумуляторе.
Specify precision
— Установите слово, и дробные длины применились к результатам операций продукта, фильтр выход и аккумулятор. Выбирание этой опции включает слово и дробные средства управления длиной.
Выбирание этой опции направляет фильтр, чтобы использовать подписанные представления в коэффициентах фильтра.
Устанавливает размер слова для связанного параметра фильтра в битах.
Устанавливает дробную длину для объединенного параметра фильтра в битах.
Используйте этот параметр, чтобы задать, как требуется определять слово аккумулятора и дробные длины.
Определяет, как аккумулятор выходные параметры сохранил значения. Выберите из следующих опций:
Full precision
— Обеспечьте полную точность в аккумуляторе.
Keep MSB
— Сохраните старший значащий бит в аккумуляторе.
Keep LSB
— Сохраните младший значащий бит в аккумуляторе, когда необходимо будет сократить слова данных.
Specify Precision
— Позволяет вам установить точность (дробная длина) используемый аккумулятором.
Устанавливает режим использование фильтра масштабировать выходные данные после фильтрации. У вас есть следующий выбор:
Avoid Overflow
— Установите длину части выходных данных стараться не заставлять данные переполняться. Avoid overflow
рассматривается консерватором, устанавливающим, потому что это независимо от значений входных данных и области значений.
Best Precision
— Установите длину части выходных данных максимизировать точность в выходных данных.
Specify Precision
— Установите дробную длину, используемую отфильтрованными данными.
Параметры в этой группе управляют, как фильтр округляет значения фиксированной точки и как это обрабатывает значения то переполнение.
Устанавливает режим использование фильтра квантовать числовые значения, когда значения находятся между представимыми значениями для формата данных (слово и дробные длины).
ceil
Округление в сторону плюс бесконечности.
convergent
— Вокруг к самому близкому представимому целому числу. Связывает к самому близкому даже сохраненному целому числу. Это наименее смещено из методов, доступных в этом программном обеспечении.
zero/fix
Округление в сторону нуля.
floor
Округление в сторону минус бесконечности.
nearest
— Вокруг к самому близкому. Связывает к положительной бесконечности.
round
— Вокруг к самому близкому. Связывает к отрицательной бесконечности для отрицательных чисел, и к положительной бесконечности для положительных чисел.
Выбор, который вы делаете, влияет на все кроме содействующих значений и входных данных который всегда вокруг. В большинстве случаев продукты не переполняются — они обеспечивают полную точность.
Устанавливает режим использование фильтра отвечать на условия переполнения в вычислениях с фиксированной точкой. Выберите из следующих опций:
Saturate
— Ограничьте выход самым большим положительным или отрицательным представимым значением.
Wrap
— Установите переполняющиеся значения к самому близкому представимому значению с помощью арифметики в остаточных классах.
Выбор, который вы делаете, влияет на все кроме содействующих значений и входных данных который всегда вокруг. В большинстве случаев продукты не переполняются — они обеспечивают полную точность.
Задает, бросить ли числовые данные к соответствующему формату аккумулятора прежде, чем выполнить операции суммы. Выбор Cast before sum гарантирует, что результаты затронутых операций суммы совпадают наиболее тесно с результатами, найденными на большинстве цифровых сигнальных процессоров. При выполнении операции броска, прежде чем суммирование добавляет одну или две дополнительных операции квантования, которые могут добавить ошибочные источники в результаты фильтра.
Если вы очищаете Cast before sum, фильтр препятствует тому, чтобы слагаемые были брошены к формату суммы перед операцией сложения. Выберите эту установку, чтобы получить самые точные результаты суммирования, не рассматривая оборудование, которое может использовать ваш фильтр. Формат ввода, на который ссылается Cast before sum, зависит от структуры фильтра, которую вы используете.
Эффект очистки или выбора Cast before sum следующие:
Очищенный — Конфигурирует операции суммирования фильтра, чтобы сохранить слагаемых в формате, который несут от предыдущей операции.
Выбранный — Конфигурирует операции суммирования фильтра, чтобы преобразовать формат ввода слагаемых, чтобы совпадать с выходным форматом суммирования прежде, чем выполнить операцию суммирования. Обычно, выбор Cast before sum генерирует результаты суммирования, которые более тесно совпадают с найденными от цифровых сигнальных процессоров.
Панель генерации кода содержит опции для различных реализаций завершенного создания фильтра. В зависимости от вашей установки можно сгенерировать MATLAB, VHDL и код Verilog от спроектированного фильтра. Можно также принять решение создать или обновить модель Simulink® от спроектированного фильтра. Следующий раздел объясняет эти опции.
Для получения дополнительной информации об этой опции смотрите Открытие пользовательского интерфейса Filter Design HDL Coder от Filter Builder (Filter Design HDL Coder).
Generate MATLAB code based on filter specifications
Generate function that returns your filter as an output
Выбирание этой опции генерирует функцию, которая проектирует объект фильтра с помощью fdesign
.
Generate function that filters your data
Выбирание этой опции генерирует функцию, которая берет данные в качестве входа и выходные данные, отфильтрованные со спроектированным фильтром. Тип данных фильтра выход установлен согласно настройкам типа данных в панели Data Types.
При нажатии на кнопку Generate MATLAB code, поднимает диалоговое окно Файла Сохранения. Задайте имя файла и местоположение, и сохраните. Фильтр теперь содержится в доступном для редактирования файле.
Generate Simulink blocks and subsystems from your designed filters
Когда вы нажимаете Generate Model, разработчик фильтра генерирует блоки Simulink и подсистемы от ваших спроектированных фильтров.
Нажатие на кнопку Generate Model открывает диалоговое окно Export to Simulink.
Block Name — Имя для нового блока подсистемы, набора к Filter по умолчанию.
Destination — Current
сохраняет сгенерированную модель в текущую модель Simulink. New
создает новую модель, чтобы содержать сгенерированный блок. User Defined
создает новую модель или подсистему в местоположении, заданном в User Defined
.
Overwrite generated 'Filter' block — Перезаписывает существующий блок с именем, заданным в Block Name. Снимите этот флажок, чтобы создать новый блок с тем же именем.
Build model using basic elements — Создает модель с помощью только базисные блоки.
Optimize for zero gains — Удаляет все блоки нулевого усиления из модели.
Optimize for unity gains — Замены вся единица получают с прямыми связями.
Optimize for negative gains — Удаляет все отрицательные блоки усиления единицы и изменяет знак в самом близком блоке суммирования.
Optimize delay chains — Замены задерживают цепи, составленные из единичных задержек n с одной задержкой n.
Optimize for unity scale values — Удаляет все умножение значения шкалы 1 от структуры фильтра.
Input processing — Задайте, как сгенерированный блок фильтра или блок подсистемы обрабатывают вход. В зависимости от типа фильтра вы проектируете, один, или обе из следующих опций могут быть доступными:
Columns as channels (frame based)
— Блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
— Блок обрабатывает каждый элемент входа как отдельный канал.
Для получения дополнительной информации об основанной на выборке и основанной на системе координат обработке, смотрите Выборку - и Основанные на системе координат Концепции.
Realize Model — Создает модель параметрами набора.
Когда флажок Use a System object to implement filter устанавливается в панели Main, кнопка Generate Model в панели Simulink model отключена при следующих условиях:
Выберите Filter response как Comb
и Arithmetic на Data Types разделяет на области как Fixed point
.
Выберите Filter response как Arbitrary Response
, Impulse response как IIR
, установите Specify response as на любой Magnitudes and phases
или Frequency response
, и Arithmetic на Data Types разделяет на области как Fixed point
.
Эти настройки проектируют dsp.IIRFilter
Система object™ с вычислениями с фиксированной точкой. Генерация модели Simulink для фиксированной точки dsp.IIRFilter
объект не поддержан.
Выберите свой ответ фильтра из filterBuilder
Главное меню Response Selection.
Если у вас есть программное обеспечение DSP System Toolbox, следующее меню Response Selection появляется.
Выберите свой желаемый ответ фильтра из меню и спроектируйте ваш фильтр.
Следующие разделы описывают опции, доступные для каждого типа ответа.