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

Примечание

Поскольку они не изменяют структуру фильтра, спецификации значения и метод разработки являются настраиваемыми при использовании 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, Single precision или Fixed point. Некоторые из этих опций могут быть недоступными в зависимости от параметров фильтра. Следующая таблица описывает эти опции.

Арифметическая запись спискаЭффект на фильтр
Double precisionВсе операции фильтрации и коэффициенты используют представления с плавающей точкой, с двойной точностью и математику. Когда вы используете filterBuilder, чтобы создать фильтр, double precision является значением по умолчанию для свойства Arithmetic.
Single precisionВсе операции фильтрации и коэффициенты используют представления с плавающей точкой с одинарной точностью и математику.
Fixed pointЭта запись применяет выбранные значения по умолчанию, обычно используемые на многих цифровых процессорах, для свойств в фильтре фиксированной точки. Эти свойства включают содействующие размеры слова, дробные длины и различные рабочие режимы. Эта установка позволяет подписанные зафиксированные типы данных только. Проект фильтра фиксированной точки с filterBuilder доступен только, когда вы устанавливаете программное обеспечение Fixed-Point Designer™ наряду с программным обеспечением DSP System Toolbox.

Следующие данные показывают панель Data Types после того, как вы выберете Fixed point for 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 — Сохраните младший значащий бит в результате, когда необходимо будет сократить слова данных.

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

Filter internals

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

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

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

Signed

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

Word length

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

Fraction length

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

Accum

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

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

  • Full precision — Поддержите полную точность в аккумуляторе.

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

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

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

Output

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

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

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

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

Fixed-point operational parameters

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

Rounding mode

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

  • потолок Вокруг к положительной бесконечности.

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

  • zero/fix — Вокруг к нулю.

  • пол Вокруг к отрицательной бесконечности.

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

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

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

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 от структуры фильтра.

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

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

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

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

 Отфильтруйте спецификации

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

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

 Алгоритм

 Отфильтруйте реализацию

Аудио, взвешивающее проект фильтра — основная панель

 Отфильтруйте спецификации

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Спецификации частоты

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

Обратный проект фильтра Sinc — основная панель

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Получите спецификации

 Алгоритм

 Отфильтруйте реализацию

Проект Фильтра пика/Метки — Основная Панель

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

 Отфильтруйте спецификации

 Спецификации частоты

 Спецификации значения

 Алгоритм

 Отфильтруйте реализацию

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

Для просмотра документации необходимо авторизоваться на сайте