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) открывает диалоговое окно создания фильтра полосы пропускания. The 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 или highpass фильтрfdesign.isinclp и
fdesign.isinchp
lowpass или lpLowpass фильтр (по умолчанию)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Все операции фильтрации и коэффициенты используют представления с двойной точностью, с плавающей точкой и math. когда вы используете filterBuilder чтобы создать фильтр, double precision является значением по умолчанию для свойства Арифметики.
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 input и Section output.

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

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

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

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

Product

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

  • Full precision - Поддерживать полную точность в результате.

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

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

Filter internals

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

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

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

Signed

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

Word length

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

Fraction length

Устанавливает длину дроби для параметра associate filter в битах.

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 следующий:

  • Cleared - настраивает операции суммирования фильтров, чтобы сохранить дополнения в формате, перенесенном из предыдущей операции.

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

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

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

HDL

Для получения дополнительной информации об этой опции смотрите Открытие пользовательского интерфейса HDL-кодера Filter Design из 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, открывается диалоговое окно Save File. Укажите имя файла и его местоположение, а также сохраните. Фильтр теперь содержится в редактируемом файле.

Simulink Model

Generate Simulink blocks and subsystems from your designed filters

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

При нажатии на кнопку Generate Model открывается диалоговое окно Экспорт в 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 меню.

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

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

Произвольные Создания фильтра отклика - Главная панель

 Спецификации фильтра

 Спецификации к реагированию

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

 Алгоритм

 Реализация фильтра

Взвешивание аудио Создания фильтра - Главная панель

 Спецификации фильтра

 Алгоритм

 Реализация фильтра

Bandpass Создания фильтра - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Bandstop Создания фильтра - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

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

 Спецификации фильтра

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

 Спецификации величины

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

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Гребенчатое Создание фильтра - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Дифференциатор Создания фильтра - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Проект дробной задержки - главная панель

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

Halfband Filter Design - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Highpass Filter Design - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Hilbert Filter Design - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Арксинус Создания фильтра - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Lowpass Filter Design - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Метка

Смотрите Peak/Notch Filter Design - Main Pane.

Nyquist Filter Design - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Octave Filter Design - Главная панель

 Спецификации фильтра

 Алгоритм

 Реализация фильтра

Параметрический уравнитель Создания фильтра - Главная панель

 Спецификации фильтра

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

 Спецификации усиления

 Алгоритм

 Реализация фильтра

Peak/Notch Filter Design - Главная панель

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Импульсно-формирующее Создание фильтра - Главное окно

 Спецификации фильтра

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

 Спецификации величины

 Алгоритм

 Реализация фильтра

Введенный в R2009a