Интерактивный проект фильтра
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
, 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.
Задайте формат, фильтр применяется к данным, которые будут отфильтрованы. Для всех случаев 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
— Сохраните младший значащий бит в результате, когда необходимо будет сократить слова данных.
Определение точности
Позволяет вам установить точность (дробная длина) используемый выводом от умножения.
Задайте, как фильтр фиксированной точки выполняет арифметические операции в фильтре. Затронутые фрагменты фильтра являются продуктами фильтра, суммами, состояниями и выводом. Выберите одну из этих опций:
Full precision
— Указывает, что фильтр поддерживает полную точность во всех вычислениях для продуктов, выводе, и в аккумуляторе.
Определение точности
Установите слово, и дробные длины применились к результатам операций продукта, фильтр вывод и аккумулятор. Выбор этой опции включает слово и дробные средства управления длиной.
Выбор этой опции направляет фильтр, чтобы использовать подписанные представления для коэффициентов фильтра.
Устанавливает размер слова для связанного параметра фильтра в битах.
Устанавливает дробную длину для объединенного параметра фильтра в битах.
Используйте этот параметр, чтобы задать, как требуется определять слово аккумулятора и дробные длины.
Определяет, как аккумулятор выходные параметры сохранил значения. Выберите из следующих опций:
Full precision
— Поддержите полную точность в аккумуляторе.
Keep MSB
— Сохраните старший значащий бит в аккумуляторе.
Keep LSB
— Сохраните младший значащий бит в аккумуляторе, когда необходимо будет сократить слова данных.
Определение точности
Позволяет вам установить точность (дробная длина) используемый аккумулятором.
Устанавливает режим использование фильтра масштабировать выходные данные после фильтрации. У вас есть следующий выбор:
Avoid Overflow
— Установите длину части выходных данных стараться не заставлять данные переполняться. Avoid overflow
рассматривается консерватором, устанавливающим, потому что это независимо от значений входных данных и области значений.
Best Precision
— Установите длину части выходных данных максимизировать точность в выходных данных.
Определение точности
Установите дробную длину, используемую отфильтрованными данными.
Параметры в этой группе управляют, как фильтр округляет значения фиксированной точки и как это обрабатывает значения то переполнение.
Устанавливает режим использование фильтра квантовать числовые значения, когда значения находятся между представимыми значениями для формата данных (слово и дробные длины).
потолок
Вокруг к положительной бесконечности.
convergent
— Вокруг к самому близкому представимому целому числу. Связывает к самому близкому даже сохраненному целому числу. Это наименее смещено из методов, доступных в этом программном обеспечении.
zero/fix
— Вокруг к нулю.
пол
Вокруг к отрицательной бесконечности.
самый близкий
Вокруг к самому близкому. Связывает к положительной бесконечности.
вокруг
Вокруг к самому близкому. Связывает к отрицательной бесконечности для отрицательных чисел, и к положительной бесконечности для положительных чисел.
Выбор, который вы делаете, влияет на все кроме содействующих значений и входных данных который всегда вокруг. В большинстве случаев продукты не переполняются — они поддерживают полную точность.
Устанавливает режим использование фильтра отвечать на условия переполнения в вычислениях с фиксированной точкой. Выберите из следующих опций:
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 появляется.
Выберите свой желаемый ответ фильтра из меню и разработайте ваш фильтр.
Следующие разделы описывают опции, доступные для каждого типа ответа.