filterBuilder

Интерактивное создание фильтра

Синтаксис

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 (DSP System Toolbox)
arbmagПроизвольное создание фильтра величиныfdesign.arbmag (DSP System Toolbox)
arbmagnphaseПроизвольный фильтр ответа (величина и фаза)fdesign.arbmagnphase (DSP System Toolbox)
audioweightingФильтр взвешивания аудиоfdesign.audioweighting (DSP System Toolbox)
полоса пропускания или bpПолосовой фильтрfdesign.bandpass (DSP System Toolbox)
bandstop или bsЗаграждающий фильтрfdesign.bandstop (DSP System Toolbox)
cicCIC-фильтрfdesign.decimator(M,'cic',...) или fdesign.interpolator(L,'cic',...)
Смотрите fdesign.decimator (DSP System Toolbox) и fdesign.interpolator (DSP System Toolbox)
ciccompКомпенсатор CICfdesign.ciccomp (DSP System Toolbox)
расческаГребенчатый фильтрfdesign.comb (DSP System Toolbox)
diffФильтр дифференциатораfdesign.differentiator (DSP System Toolbox)
fracdelayДробный фильтр задержкиfdesign.fracdelay (DSP System Toolbox)
полуполоса или hbФильтр полуполосыfdesign.halfband (DSP System Toolbox)
highpass или hpФильтр Highpassfdesign.highpass (DSP System Toolbox)
hilbГильбертов фильтрfdesign.hilbert (DSP System Toolbox)
isinc,
isinclp, или
isinchp
Инверсия sinc lowpass или фильтр highpassfdesign.isinclp (DSP System Toolbox) и
fdesign.isinchp (DSP System Toolbox)
lowpass или lpФильтр lowpass (значение по умолчанию)fdesign.lowpass (DSP System Toolbox)
меткаОтметьте фильтрfdesign.notch (DSP System Toolbox)
nyquistФильтр Найквистаfdesign.nyquist (DSP System Toolbox)
октаваФильтр октавыfdesign.octave (DSP System Toolbox)
parameqФильтр параметрического эквалайзераfdesign.parameq (DSP System Toolbox)
пикПиковый фильтрfdesign.peak (DSP System Toolbox)

Примечание

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

Панели проекта Filter Builder

Основная панель проекта

Основная панель 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.

Input signal

Задайте формат, фильтр применяется к данным, которые будут отфильтрованы. Для всех случаев, filterBuilder реализует фильтры, которые используют масштабирование двоичной точки и подписанный вход. Вы устанавливаете размер слова и дробную длину по мере необходимости.

Coefficients

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

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

  • Binary point scaling позволяет вам ввести размер слова и дробную длину коэффициентов в битах. Если применимо введите отдельные дробные длины для коэффициентов знаменателя и числителя.

  • Коэффициенты фильтра не выполняют Rounding mode и параметры Overflow mode, которые доступны, когда вы выбираете Specify precision из списка внутренностей Фильтра. Коэффициенты всегда насыщаются и округляются к Nearest.

Section Input

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

  • Binary point scaling позволяет вам ввести слово и дробные длины входа раздела в битах.

  • Specify word length позволяет вам ввести размеры слова в биты.

Section Output

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

  • Binary point scaling позволяет вам ввести слово и дробные длины раздела выход в битах.

  • Specify word length позволяет вам ввести выходные размеры слова в биты.

State

Содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией запусков или сеансов. Используйте этот параметр, чтобы задать, как определять слово состояния и дробные длины. Этот параметр не отображается для прямой формы и прямой формы, я фильтрую структуры потому что filterBuilder выводит состояние непосредственно из формата ввода. Состояния всегда используют подписанное представление:

  • Binary point scaling позволяет вам ввести размер слова и дробную длину аккумулятора в битах.

  • Specify precision позволяет вам ввести размер слова и дробную длину в битах (при наличии).

Product

Определяет, как фильтр обрабатывает выход операций продукта. Выберите из следующих опций:

  • Full precision — Обеспечьте полную точность в результате.

  • Keep LSB — Сохраните младший значащий бит в результате, когда необходимо будет сократить слова данных.

  • Specify Precision — Позволяет вам установить точность (дробная длина) используемый выходом от умножения.

Filter internals

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

  • Full precision — Указывает, что фильтр обеспечивает полную точность во всех вычислениях для продуктов, выходе, и в аккумуляторе.

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

Signed

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

Word length

Устанавливает размер слова для связанного параметра фильтра в битах.

Fraction length

Устанавливает дробную длину для объединенного параметра фильтра в битах.

Accum

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

Определяет, как аккумулятор выходные параметры сохранил значения. Выберите из следующих опций:

  • Full precision — Обеспечьте полную точность в аккумуляторе.

  • Keep MSB — Сохраните старший значащий бит в аккумуляторе.

  • Keep LSB — Сохраните младший значащий бит в аккумуляторе, когда необходимо будет сократить слова данных.

  • Specify Precision — Позволяет вам установить точность (дробная длина) используемый аккумулятором.

Output

Устанавливает режим использование фильтра масштабировать выходные данные после фильтрации. У вас есть следующий выбор:

  • Avoid Overflow — Установите длину части выходных данных стараться не заставлять данные переполняться. Avoid overflow рассматривается консерватором, устанавливающим, потому что это независимо от значений входных данных и области значений.

  • Best Precision — Установите длину части выходных данных максимизировать точность в выходных данных.

  • Specify Precision — Установите дробную длину, используемую отфильтрованными данными.

Fixed-point operational parameters

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

Rounding mode

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

  • ceil Округление в сторону плюс бесконечности.

  • convergent — Вокруг до самого близкого представимого целого числа. Связывает до самого близкого даже сохраненного целого числа. Это наименее смещено из методов, доступных в этом программном обеспечении.

  • zero/fix Округление в сторону нуля.

  • floor Округление в сторону минус бесконечности.

  • nearest — Вокруг к самому близкому. Связывает к положительной бесконечности.

  • round — Вокруг к самому близкому. Связывает к отрицательной бесконечности для отрицательных чисел, и к положительной бесконечности для положительных чисел.

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

Overflow mode

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

  • Saturate — Ограничьте выход самым большим положительным или отрицательным представимым значением.

  • Wrap — Установите переполняющиеся значения к самому близкому представимому значению с помощью арифметики в остаточных классах.

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

Cast before sum

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

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

Эффект очистки или выбора Cast before sum следующие:

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

  • Выбранный — Конфигурирует операции суммирования фильтра, чтобы преобразовать формат ввода слагаемых, чтобы совпадать с выходным форматом суммирования прежде, чем выполнить операцию суммирования. Обычно, выбор Cast before sum генерирует результаты суммирования, которые более тесно совпадают с найденными от цифровых сигнальных процессоров.

Панель генерации кода

Панель генерации кода содержит опции для различных реализаций завершенного создания фильтра. В зависимости от вашей установки можно сгенерировать MATLAB, VHDL и код Verilog от спроектированного фильтра. Можно также принять решение создать или обновить Simulink® модель от спроектированного фильтра. Следующий раздел объясняет эти опции.

HDL

Для получения дополнительной информации об этой опции смотрите Открытие пользовательского интерфейса Filter Design HDL Coder от Filter Builder (Filter Design HDL Coder).

MATLAB

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, поднимает диалоговое окно Файла Сохранения. Задайте имя файла и местоположение, и сохраните. Фильтр теперь содержится в доступном для редактирования файле.

Simulink Model

Generate Simulink blocks and subsystems from your designed filters

Когда вы нажимаете Generate Model, разработчик фильтра генерирует блоки Simulink и подсистемы от ваших спроектированных фильтров.

Нажатие на кнопку Generate Model открывает диалоговое окно Export to Simulink.

  • Block Name — Имя для нового блока подсистемы, набора к Filter по умолчанию.

  • DestinationCurrent сохраняет сгенерированную модель в текущую модель 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 от структуры фильтра.

  • Обработка входа Задайте, как сгенерированный блок фильтра или блок подсистемы обрабатывают вход. В зависимости от типа фильтра вы проектируете, один, или обе из следующих опций могут быть доступными:

    • Columns as channels (frame based) — Блок обрабатывает каждый столбец входа как отдельный канал.

    • Elements as channels (sample based) — Блок обрабатывает каждый элемент входа как отдельный канал.

    Для получения дополнительной информации об основанной на выборке и основанной на системе координат обработке, смотрите Выборку - и Основанные на системе координат Концепции (DSP System Toolbox).

  • 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 появляется.

Выберите свой желаемый ответ фильтра из меню и спроектируйте ваш фильтр.

Следующие разделы описывают опции, доступные для каждого типа ответа.

Произвольное создание фильтра ответа — основная панель

 Отфильтруйте технические требования

 Спецификация ответа

 Свойства полосы

 Алгоритм

 Внедрение фильтра

Создание фильтра взвешивания аудио — основная панель

 Отфильтруйте технические требования

 Алгоритм

 Внедрение фильтра

Проект полосового фильтра — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Проект заграждающего фильтра — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Проект CIC-фильтра — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

Проект компенсатора CIC — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Проект гребенчатого фильтра — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Создание фильтра дифференциатора — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Дробный проект задержки — основная панель

 Технические требования частоты

Проект полуленточного фильтра — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Создание фильтра Highpass — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Гильбертово создание фильтра — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Обратное создание фильтра Sinc — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Создание фильтра lowpass — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

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

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

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

 Отфильтруйте технические требования

 Алгоритм

 Внедрение фильтра

Создание фильтра параметрического эквалайзера — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Получите технические требования

 Алгоритм

 Внедрение фильтра

Создание фильтра пика/Метки — Основная Панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Проект импульсного формирующий фильтра — основная панель

 Отфильтруйте технические требования

 Технические требования частоты

 Технические требования величины

 Алгоритм

 Внедрение фильтра

Представленный в R2009a