Используйте Filter Designer с программным обеспечением DSP System Toolbox

Проектирование расширенных фильтров в Filter Designer

Обзор функций Filter Designer

Программное обеспечение DSP System Toolbox™ добавляет новые диалоговые окна и рабочие режимы, и новые варианты выбора меню в конструктор фильтров, предоставляемых программным обеспечением Signal Processing Toolbox™. Из дополнительных диалоговых окон, одного под названием Set Quantization Parameters и одного под названием Frequency Transformations, можно:

  • Разработайте расширенные фильтры, которые программное обеспечение Signal Processing Toolbox не предоставляет инструментам проекта для разработки.

  • Просмотр Simulink® модели структур фильтра, доступные в тулбоксе.

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

  • Квантуйте фильтры двойной точности, которые вы импортируете в это приложение с помощью режима импорта.

  • Анализ квантованных фильтров.

  • Масштабируйте фильтры секции второго порядка.

  • Выберите настройки квантования для свойств квантованного фильтра, отображаемого инструментом:

    • Коэффициенты - выберите опции квантования, примененные к коэффициентам фильтра

    • Вход/вывод - управляйте тем, как фильтр обрабатывает входные и выходные данные

    • Filter Internals - задайте, как ведет себя арифметика для фильтра

  • Проектируйте многоскоростные фильтры.

  • Преобразуйте как конечные импульсные характеристики, так и БИХ из одного ответа в другой.

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

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

Используйте Filter Designer с программным обеспечением DSP System Toolbox

Добавление программного обеспечения DSP System Toolbox к вашему набору инструментов добавляет ряд методов создания фильтра к дизайнеру фильтров. Используйте новые фильтры для разработки фильтров, которые отвечают более сложным требованиям, чем те, которые вы можете проектировать в программном обеспечении Signal Processing Toolbox. В то время как проекты в filter designer доступны как функции командной строки, графический пользовательский интерфейс filter designer делает процесс проектирования более ясным и более простым в выполнении.

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

При просмотре маски можно увидеть, как заданы опции и как их использовать. Хотя это обычно просто для lowpass или highpass фильтров, установка опций для произвольных типов отклика или peaking/notching фильтров более сложна. Наличие масок приводит вас к вашему результату легче.

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

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

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

  • Тип отклика

  • Метод проекта

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

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

Вот как вы проектируете узкополосный фильтр, который удаляет концерт A (440 Гц) из спектра входного музыкального сигнала.

  1. Выберите Notching из списка «Дифференциатор» в поле «Тип отклика».

  2. Выберите IIR в Создание Фильтра Method и выберите Single Notch из списка.

  3. Для спецификаций частоты установите значение Units Hz и Fs, полная частота шкалы, чтобы 1000.

  4. Установите положение центра надреза либо в нормированной частоте, либо в Гц. Для центра надреза на частоте 440 Гц введите 440.

  5. Чтобы сформировать надрез, введите пропускную способность, bw, чтобы быть 40.

  6. Оставьте спецификацию величины в dB (по умолчанию) и оставьте Apass следующим 1.

  7. Нажмите Проект Filter.

    filter designer вычисляет коэффициенты фильтра и строит график фильтра величины отклика в области анализа для анализа.

Когда вы проектируете один узкополосный фильтр, у вас нет возможности задать порядок фильтра - опции порядка фильтров отключены.

Ваш фильтр должен выглядеть примерно так:

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

doc iirnotch

в командной строке. Это открывает Браузер документации и отображает страницу с описанием для функции iirnotch.

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

Любой из проектов может быть квантован в конструкторе фильтров и проанализирован с помощью доступных анализов в меню Анализ (Analysis).

Доступ к функциям квантования Filter Designer

Панель квантования в конструкторе фильтров используется для квантования фильтров. Квантование представляет четвертый рабочий режим для конструктора фильтров, наряду с созданием фильтра, преобразованием фильтра и режимами импорта. Чтобы переключиться в режим квантования, откройте конструктор фильтров из MATLAB® командная строка путем ввода

filterDesigner

Когда откроется filter designer, нажмите кнопку Set Quantization Parameters на боковой панели. Конструктор фильтров переключается в режим квантования, и вы видите следующую панель в нижней части конструктора фильтров с опцией двойной точности по умолчанию, показанной для арифметики фильтра.

Арифметическая опция Filter позволяет вам квантовать фильтры и исследовать эффекты изменения настроек квантования. Чтобы включить настройки квантования в конструкторе фильтров, выберите Fixed-point из арифметики фильтра.

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

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

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

  • Input/Output переключает filter designer на опции квантования входов и выходов для вашего фильтра.

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

  • Применить - применяет изменения, которые вы вносите к параметрам квантования для вашего фильтра.

Квантовать фильтры в Filter Designer

Установите параметры квантования

Квантованные фильтры имеют свойства, которые определяют, как они квантуют данные, которые вы фильтруете. Чтобы задать свойства, используйте диалоговое окно Задать параметры квантования (Set Quantization Parameters) в конструкторе фильтров. Используя опции в диалоговом окне Set Quantization Parameters, filter designer позволяет вам выполнить ряд задач:

  • Создайте квантованный фильтр из фильтра двойной точности после импорта фильтра из вашей рабочей области или с помощью конструктора фильтров для разработки фильтра прототипа.

  • Создайте квантованный фильтр, который имеет структуру по умолчанию (Прямая транспонированная форма II) или любую выбранную структуру и другие выбранные значения свойств.

  • Измените значения свойств квантования для квантованного фильтра после разработки фильтра или импорта его из рабочей области.

Когда вы нажимаете Set Quantization Parameters, а затем меняете арифметику фильтра на Fixed-pointпанель квантованного фильтра откроется в конструкторе фильтров, опции квантования коэффициентов будут установлены на значения по умолчанию.

Опции коэффициентов

Чтобы позволить вам задать свойства для коэффициентов фильтра, которые составляют ваш квантованный фильтр, filter designer перечисляет опции для размера слова числителя (и размеры слова знаменателя, если у вас есть фильтр БИХ). В следующей таблице перечислены каждая опция коэффициентов и краткое описание того, что параметр опции делает в фильтре.

Имя опции

При использовании

Описание

Числитель Размера слова

Только конечная импульсная характеристика

Устанавливает размер слова, используемую для представления коэффициентов числителя в конечная импульсная характеристика.

Числитель ГРП. Длина

КИХ/БИХ

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

Область значений числителя (+/-)

КИХ/БИХ

Позволяет вам задать область значений, который представляют числители. Этот параметр используется вместо параметра «Числитель». Опция Length, чтобы задать точность. Когда вы вводите значение x, полученную область значений от -x до x. Область значений должен быть положительным целым числом.

Значения коэффициента Размера слова

Только БИХ

Устанавливает размер слова, используемую для представления коэффициентов числителя и знаменателя в БИХ. Вы не можете задать различные размеры слова для коэффициентов числителя и знаменателя.

Знаменатель Фрак. Длина

БИХ

Устанавливает длину дроби, используемой для интерпретации коэффициентов знаменателя в БИХ.

Знаменатель Области значений (+/-)

БИХ

Позволяет вам задать область значений, который представляют коэффициенты знаменателя. Вы используете это вместо Denominator Frac. Опция Length, чтобы задать точность. Когда вы вводите значение x, полученную область значений от -x до x. Область значений должен быть положительным целым числом.

Наиболее точные длины дробей

Все фильтры

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

Масштабные значения дроби. длина

Фильтры SOS БИХ

Устанавливает длину дроби, используемой для интерпретации значений шкалы в фильтрах SOS.

Значения шкалы области значений (+/-)

Фильтры SOS БИХ

Позволяет вам задать область значений, который представляют значения шкалы SOS. Вы используете это с фильтрами SOS, чтобы настроить масштабирование, используемое между секциями фильтра. Установка этого значения отключает ГРП «Значения шкалы». опция длины. Когда вы вводите значение x, полученную область значений от -x до x. Область значений должен быть положительным целым числом.

Используйте беззнаковое представление

Все фильтры

Говорит конструктору фильтров интерпретировать коэффициенты как неподписанные значения.

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

Все фильтры

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

Опции ввода/вывода

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

Имя опции

При использовании

Описание

Вход Размера слова

Все фильтры

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

Вход дроби

Все фильтры

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

Входная область значений (+/-)

Все фильтры

Позволяет вам задать область значений, который представляют входы. Вы используете это вместо опции Входа дроби, чтобы задать точность. Когда вы вводите значение x, полученную область значений от -x до x. Область значений должен быть положительным целым числом.

Выход размера слова

Все фильтры

Устанавливает размер слова, используемую для представления выхода из фильтра.

Избегайте переполнения

Все фильтры

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

Выход дроби

Все фильтры

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

Выходная область значений (+/-)

Все фильтры

Позволяет вам задать область значений, который представляют выходы. Вы используете это вместо опции Выхода дроби, чтобы задать точность. Когда вы вводите значение x, полученную область значений от -x до x. Область значений должен быть положительным целым числом.

Шаг входного размера слова

Только фильтры SOS

Устанавливает размер слова, используемую для представления входов в разделе фильтра SOS.

Избегайте переполнения

Только фильтры SOS

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

Вход дроби каскада

Только фильтры SOS

Устанавливает длину дроби, используемую для представления входов в секцию фильтра SOS.

Выходные данные размера слова

Только фильтры SOS

Устанавливает размер слова, используемую для представления выхода из раздела фильтра SOS.

Избегайте переполнения

Только фильтры SOS

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

Выход дроби каскада

Только фильтры SOS

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

Опции фильтрации внутренних элементов

Опции, которые определяют, как квантованный фильтр выполняет арифметические операции, перечислены в таблице ниже.

Опция

Эквивалентное свойство фильтра (использование подстановочного знака *)

Описание

Округлить к

RoundMode

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

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

  • convergent - Округлить до ближайшего представимого целого числа. Привязки к ближайшему даже сохраненному целому числу. Это наименее предвзятый из методов, доступных в этом программном обеспечении.

  • fix/zero - Округлить к нулю.

  • floor - Округлить к отрицательной бесконечности.

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

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

Режим переполнения

OverflowMode

Устанавливает режим, используемый для реагирования на условия переполнения в арифметике с фиксированной точкой. Выберите один из saturate (ограничьте выход наибольшим положительным или отрицательным представимым значением) или wrap (установите переполненные значения на ближайшее представимое значение с помощью модульной арифметики.

Filter Product (Multiply) Options

Режим продукта

ProductMode

Определяет, как фильтр обрабатывает выходы операций продукта. Выберите из полной точности (FullPrecision), или сохранить ли самый значительный бит (KeepMSB) или наименее значимый бит (KeepLSB) в результате, когда необходимо сократить размер слова. Specify all позволяет задать длину дроби, применяемую к результатам операций с продуктом.

Продукт размера слова

*ProdWordLength

Устанавливает размер слова, применяемую для интерпретации результатов операций умножения.

Число, длина дроби

NumProdFracLength

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

Длина дроби Ден.

DenProdFracLength

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

Filter Sum Options

Аккум. способ

AccumMode

Определяет, как аккумулятор выводит сохраненные значения. Выберите из полной точности (FullPrecision), или сохранить ли наиболее значимые биты (KeepMSB) или наименее значимые биты (KeepLSB) когда выходные результаты нуждаются в меньшем размере слова, чем поддерживает аккумулятор. Чтобы позволить вам задать размер слова и точность (длину дроби), используемые выходом из аккумулятора, установите это на Specify all.

Аккум. размер слова

*AccumWordLength

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

Число, длина дроби

NumAccumFracLength

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

Длина дроби Ден.

DenAccumFracLength

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

Приведение сигналов перед суммой

CastBeforeSum

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

Filter State Options

Конечные размеры слова

*StateWordLength

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

Избегайте переполнения

Ничего

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

Длина дроби состояния

*StateFracLength

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

Примечание

Когда вы применяете изменения к значениям на панели «Внутренние фильтры», графики для анализов Magnitude response estimate и Round-off noise power spectrum обновляются, чтобы отразить эти изменения. На другие типы анализа не влияют изменения значений на панели «Внутренние фильтры».

Опции фильтрации внутренних элементов для CIC-фильтров

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

Квантование фильтров двойной точности.  Когда вы квантуете фильтр двойной точности путем переключения на арифметику с фиксированной точностью или с одной точностью с плавающей точкой, выполните следующие шаги.

  1. Щелкните Set Quantization Parameters, чтобы отобразить панель Set Quantization Parameters в конструкторе фильтров.

  2. Выберите Single-precision floating point или Fixed-point из арифметики фильтра.

    Когда вы выбираете одну из необязательных арифметических настроек, filter designer квантует текущий фильтр в соответствии с настройками опций в панелях Set Quantization Parameter и изменяет информацию, отображаемую в области анализа, чтобы показать квантованные данные фильтра.

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

  4. Нажмите Apply.

    Filter Designer квантует фильтр, используя новые настройки.

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

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

  1. Проверьте, что текущий фильтр квантован.

  2. Нажмите кнопку Set Quantization Parameters, чтобы отобразить панель Задать параметры квантования (Set Quantization Parameters).

  3. Проверьте и выберите настройки свойств для квантования фильтра: Коэффициенты, Входные/Выходные и Внутренние Фильтры. Настройки опций на этих панелях определяют, как ваш фильтр квантует данные во время операций фильтрации.

  4. Щелкните Apply, чтобы обновить текущий квантованный фильтр, чтобы использовать новые настройки свойств квантования с шага 3.

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

Анализируйте фильтры с помощью основанного на шуме метода

Анализируйте фильтры с помощью Величины Response Estimate Method

После разработки и квантования фильтра, опция Magnitude Response Estimate в меню Analysis позволяет применить метод шумовой загрузки к фильтру. Когда вы выбираете Analysis > Magnitude Response Estimate из панели меню, конструктор фильтров немедленно запускает испытания Монте-Карло, которые формируют базис для метода, и запускает анализ, заканчивая отображением результатов в области анализа в конструкторе фильтров.

С помощью основанного на шуме метода вы оцениваете комплексную частотную характеристику для вашего фильтра, как определено путем применения шумоподобного сигнала к входу фильтра. Величина Response Estimate использует испытания Монте-Карло, чтобы сгенерировать сигнал шума, который содержит полное содержимое частоты через область значений 0 к Fs. При первом запуске анализа величины оценке ответа используются настройки по умолчанию для различных условий, которые определяют процесс, таких как количество тестовых точек и количество испытаний.

Параметр анализа

Настройка по умолчанию

Описание

Число точек

512

Количество одинаково разнесенных точек вокруг верхней половины модуля круга.

Частотная область значений

0 to Fs/2

Частотная область значений графика по оси X.

Частотные модули

Hz

Модули для определения частотной области значений.

Частота дискретизации

48000

Обратный период дискретизации.

Шкала частоты

dB

Модули, используемые для отображения выхода по оси Y.

Нормированная частота

Off

Используйте нормированную частоту для отображения.

После того, как ваш первый прогон анализа закончится, откройте диалоговое окно Параметры анализа (Analysis Parameters) и соответствующим образом настройте настройки, такие как изменение количества испытаний или числа точек.

Чтобы открыть диалоговое окно Параметры анализа (Analysis Parameters), используйте любую из следующих процедур, когда у вас есть квантованный фильтр в конструкторе фильтров:

  • Выберите Analysis > Analysis Parameters из панели меню

  • Щелкните правой кнопкой мыши в области анализа фильтра и выберите Analysis Parameters из контекстного меню

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

Метод шума, применяемый к фильтру.  Чтобы продемонстрировать метод оценки величины отклика, начните с создания квантованного фильтра. В данном примере используйте конструктор фильтров для разработки фильтра Butterworth БИХ шестого порядка.

Использование анализа на основе шума в Filter Designer

  1. Введите filterDesigner при подсказке MATLAB запуска filter designer.

  2. В группе «Тип отклика» выберите «Highpass».

  3. Выберите IIR в способе проекта. Затем выберите Butterworth.

  4. Чтобы задать порядок фильтра равный 6, выберите «Задать порядок» в разделе «Порядок фильтра». Введите 6 в текстовом поле.

  5. Нажмите Design Filter.

    В конструкторе фильтров область анализа изменяется, чтобы отобразить величину ответ для вашего фильтра.

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

    Конструктор фильтров переключается в режим квантования и отображает панель квантования.

  7. Из арифметики фильтра выберите fixed-point.

    Теперь в областях анализа показана величина реакция для обоих фильтров - вашего исходного фильтра и версии арифметики с фиксированной точкой.

  8. Наконец, чтобы использовать основанную на шуме оценку на квантованном фильтре, выберите Analysis > Magnitude Response Estimate из панели меню.

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

    На приведенном выше рисунке вы видите характеристику величины, оцененную методом анализа.

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

В опцию меню «Анализ» выберите Округление Степени Noise Спектра. В области анализа в конструкторе фильтров вы видите спектр шума, используемого для оценки характеристики фильтра. Детали шумового спектра, такие как область значений и количество точек данных, появляются в диалоговом окне Параметры анализа.

Для получения дополнительной информации см. McClellan, et al., Computer-Based Exercises for Signal Processing Using MATLAB 5, Prentice-Hall, 1998. Смотрите Проект 5: Квантование шума в цифровых фильтрах, страница 231.

Измените параметры анализа шума.  В Noise Method Applied to a Filter вы использовали синтетический белый шум, чтобы оценить амплитудную характеристику для высокоточечного фильтра Баттерворта с фиксированной точкой. Поскольку вы запустили оценку только один раз в конструкторе фильтров, ваш анализ шума использовал настройки параметров анализа по умолчанию, показанные в Analyze Filters с методом оценки отклика величины.

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

  1. Используя результаты выполнения метода оценки шума, отображенного в области анализа дизайнера фильтров, выберите Analysis > Analysis Parameters из панели меню.

    Чтобы предоставить вам доступ к параметрам анализа, откроется диалоговое окно Параметры анализа (Analysis Parameters) (с настройками по умолчанию).

  2. Чтобы использовать больше точек в спектре для оценки величины реакции, измените Число точек на 1024 и щелкните OK, чтобы запустить анализ.

    Конструктор фильтров закрывает диалоговое окно Параметры анализа (Analysis Parameters) и повторяет оценку шума, возвращая результаты в области анализа.

    Чтобы повторить тест, не закрывая диалоговое окно, нажмите Enter после ввода нового значения в настройку, а затем нажмите Apply. Теперь filter designer запускает тест, не закрывая диалоговое окно. Когда вы хотите попробовать много различных настроек для основанного на шуме анализа, это полезный ярлык.

Сравнение оценочных и теоретических характеристик величины

Важной мерой эффективности шумового способа оценки амплитудной характеристики квантованного фильтра является сравнение оцененной характеристики с теоретической характеристикой.

Один из способов сделать это сравнение - наложить теоретический ответ на предполагаемый ответ. Пока в конструкторе фильтров отображается Оценка отклика величины, выберите Analysis > Overlay Analysis в панели меню. Затем выберите Magnitude Response, чтобы показать обе кривые отклика, построенные вместе в области анализа.

Выберите квантованные структуры фильтра

Filter Designer позволяет изменять структуру любого квантованного фильтра. Используйте опцию Преобразовать структуру (Convert structure), чтобы изменить структуру фильтра на ту, которая соответствует вашим потребностям.

Сведения об изменении структуры фильтра в конструкторе фильтров см. в разделе Преобразование структуры фильтра.

Преобразуйте структуру квантованного фильтра

Для изменения структуры фильтра используется опция Преобразовать структуру (Convert structure). Когда источник разработан (квантован) или импортирован (квантован), структура Convert позволяет повторно перенести фильтр в одну из следующих структур:

  • Структура транспонированного фильтра прямой формы II

  • Прямая форма I Транспонированная Структура Фильтра

  • Структура фильтра прямой формы II

  • Прямая форма I Фильтрация структуры

  • Структура фильтра с конечной импульсной характеристикой (КИХ) прямой формы

  • Прямая форма конечной импульсной характеристики транспонированной структуры фильтра

  • Решетка Авторегрессионное Скользящее Среднее значение (ROMA) Структура Фильтра

  • Прямая антисимметричная структура конечной импульсной характеристики фильтра (любой Порядок)

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

  • Прямая форма I

  • Прямая форма II

  • Прямая форма I транспонирована

  • Прямая форма II транспонирована

  • РЕШЕТКА ПЕРЕМИРИЯ

Кроме того, дизайнер фильтров позволяет вам выполнить следующие преобразования:

  • Минимальный фильтр конечной импульсной характеристики фазы в минимальную фазу MA решетки

  • Максимальный фазовый конечная импульсная характеристика в максимальную фазу MA решетки

  • Allpass фильтры к Lattice allpass

Преобразуйте фильтры в форму секций второго порядка

Чтобы узнать об использовании filter designer для преобразования квантованного фильтра в секции второго порядка, смотрите раздел Преобразование в секции второго порядка. Можно заметить, что фильтры, проект в конструкторе фильтров, а не импортированные фильтры, реализованы в форме SOS.

Просмотрите структуры фильтра в Filter Designer.  Чтобы открыть демонстрацию, нажмите Help > Show Filter Structure. После открытия Браузера документации вы увидите страницу с описанием для текущего фильтра. Вы находите структуру потока сигналов схему фильтра на этой странице с описанием или можете перейти к страницам с описанием для другого фильтра.

Масштабные фильтры секций второго порядка

Используйте диалоговое окно «Переупорядочивание и масштабирование секций второго порядка»

Конструктор фильтров предоставляет возможность масштабирования фильтров SOS после их создания. Используя опции в диалоговом окне «Переупорядочивание и масштабирование секций второго порядка», конструктор фильтров масштабирует числители фильтров и значения шкалы фильтров в соответствии с выбранными параметрами масштабирования.

Параметр

Описание и действительное значение

Шкала

Применить любые опции масштабирования к фильтру. Выберите этот параметр при переупорядочивании фильтра SOS и одновременном масштабировании. Или когда вы масштабируете фильтр, с или без переупорядочивания. Масштабирование по умолчанию отключено.

Меньше переполнения - самый высокий ползунок ОСШ

Позволяет вам задать, благоприятствует ли масштабирование уменьшению арифметического переполнения в фильтре или максимизации отношения сигнал/шум (ОСШ) на выходе фильтра. Перемещение ползунка вправо увеличивает акцент на ОСШ за счет возможных переполнений. Маркировка указывает на P-норму, применяемую для достижения желаемого результата в резервировании ОСШ или переполнения.

Максимальный числитель

Максимально допустимое значение для коэффициентов числителя после масштабирования.

Ограничение числителя

Определяет, ограничивать ли и как значения коэффициентов числителя. Опции none, normalize, power of 2, и unit. Выбор none позволяет масштабировать использование любого значения шкалы для числителей путем удаления любых ограничений на числителях, за исключением того, что коэффициенты будут обрезаться, если они превысят максимальный числитель. С Normalize максимальное абсолютное значение числителя вынуждено равняться Максимальному значению Числителя (для всех других ограничений Максимальный Числитель является только верхним пределом, выше которого будут отсечены коэффициенты). The power of 2 масштабирование сил опции, чтобы использовать значения числителя, которые являются степенями 2, такими как 2 или 0,5. С unit, начальный коэффициент каждого числителя принудительно равен значению 1.

Режим переполнения

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

Шкала ограничения по значению

Задайте, нужно ли ограничивать значения шкалы фильтра и как их ограничивать. Допустимые опции unit, power of 2, и none. Выбор unit для ограничения отключает настройку Max Scale Value и заставляет значения шкалы равняться 1.   Power of 2 ограничивает значения шкалы степенями 2, такими как 2 или 0,5, в то время как none удаляет ограничения, накладываемые на значения шкалы, за исключением того, что они не могут превышать Максимальное значение шкалы.

Максимальное значение шкалы

Устанавливает максимально допустимые значения шкалы. Масштабирование фильтра SOS применяет предел Max Scale Value только в том случае, если для параметра Scale Value Constraint задано значение, отличное от unit (настройка по умолчанию). Установка максимального значения шкалы удаляет любые другие пределы значений шкалы.

Вернуться к исходному фильтру

Возвращает фильтр к исходному масштабированию. Возможность вернуться к исходному фильтру облегчает оценку результатов масштабирования фильтра.

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

Масштабирование фильтра SOS

Запустите процесс, разработав lowpass эллиптический фильтр в конструкторе фильтров.

  1. Запустите filter designer.

  2. В поле «Тип отклика» выберите Lowpass.

  3. В Design Method выберите БИХ и Elliptic из списка методов проекта БИХ.

  4. Выберите Минимальный Порядок для фильтра.

  5. Переключите модули измерения частоты путем выбора Normalized(0 to 1) из списка Units.

  6. Чтобы задать спецификации полосы пропускания, введите 0.45 для wpass и 0.55 для wstop. Наконец, в спецификациях величин установите значение Astop равным 60.

  7. Нажмите Проект Filter, чтобы спроектировать фильтр.

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

    Параметр « Опции» для параметра «Соответствовать» был таким же both, что означает, что создание фильтра соответствует спецификации для полосы пропускания и полосы упора.

  8. Чтобы переключиться на масштабирование фильтра, выберите Edit > Reorder and Scale Second-Order Sections в панели меню.

  9. Чтобы увидеть коэффициенты фильтра, вернитесь в конструктор фильтров и выберите Filter Cofficients в меню Analysis. Filter Designer отображает коэффициенты и масштабные значения в filter designer.

С отображенными коэффициентами можно увидеть эффекты масштабирования фильтра непосредственно в значениях шкалы и коэффициентах фильтра.

Теперь попробуйте масштабировать фильтр несколькими различными способами. Сначала масштабируйте фильтр, чтобы максимизировать ОСШ.

  1. Вернитесь в диалоговое окно «Переупорядочивание и масштабирование секций второго порядка» и выберите в левой панели значение «Нет» для параметра «Переупорядочивание». Это препятствует переупорядочиванию разделов фильтра при повторном преобразовании фильтра.

  2. Переместите ползунок Less Overflow - High SNR из Less Overflow в Highest SNR.

  3. Нажмите кнопку Применить (Apply), чтобы масштабировать фильтр и оставить диалоговое окно открытым.

    Через несколько минут конструктор фильтров обновляет отображаемые коэффициенты, чтобы вы увидели новое масштабирование.

    Теперь все масштабные коэффициенты 1, и матрица коэффициентов SOS показывает, что ни один из коэффициентов числителя не является 1 и первый коэффициент знаменателя каждой секции 1.

  4. Щелкните Revert to Original Filter, чтобы восстановить исходные настройки фильтра для масштабирования и коэффициентов.

Переупорядочение разделов фильтров секций второго порядка

Переупорядочить фильтры с помощью Filter Designer

Filter Designer проектирует большинство фильтров дискретного времени в секциях второго порядка. Как правило, фильтры SOS сопротивляются эффектам изменения квантования, когда вы создаете фильтры с фиксированной точкой. После того, как у вас есть фильтр секции второго порядка в конструкторе фильтров, или один, который вы разработали в инструменте, или один, который вы импортировали, конструктор фильтров предоставляет возможность изменить порядок разделов, которые составляют фильтр. Любой фильтр SOS в конструкторе фильтров позволяет переупорядочивать разделы.

Чтобы переупорядочить разделы фильтра, вы получаете доступ к диалоговым окнам «Переупорядочить» и «Масштабирование секций второго порядка» в конструкторе фильтров.

Используя фильтр SOS в конструкторе фильтров, выберите Edit > Reorder and Scale в панели меню. filter designer возвращает диалоговое окно переупорядочивания, показанное здесь с настройками по умолчанию.

Управление диалоговым окном «Переупорядочивание и масштабирование секций второго порядка»

В этом диалоговом окне левая сторона содержит опции для переупорядочивания фильтров SOS. Справа вы видите опции масштабирования. Они являются независимыми - изменение порядка фильтра не требует масштабирования (обратите внимание на опцию Scale), и масштабирование не требует, чтобы вы переупорядочивали фильтр (обратите внимание на опцию None в разделе Reordering). Для получения дополнительной информации о масштабировании фильтров SOS, смотрите Масштабные фильтры секций второго порядка и к scale в разделе ссылки.

Переупорядочивание фильтров SOS включает использование опций в диалоговом окне «Переупорядочивание и масштабирование секций второго порядка». В следующей таблице перечислены каждая опция переупорядочивания и приведено описание того, что эта опция делает.

Опция управления

Описание

Auto

Переупорядочивает секции фильтра, чтобы минимизировать выходную степень фильтра. Обратите внимание, что к каждому типу спецификации применяется различное упорядоченное расположение, такой как lowpass или highpass. Автоматическое упорядоченное расположение адаптируется к типу спецификации вашего фильтра.

None

Не переупорядочивает фильтр. Выбор None позволяет масштабировать фильтр, не применяя переупорядочивание одновременно. Когда вы получаете доступ к этому диалоговому окну с текущим фильтром, это значение по умолчанию - переупорядочивание не применяется.

Least selective section to most selective section

Переставляет секции фильтра так, чтобы наименее ограниченная (самая низкая Q) секция была первой секцией, а самая ограниченная (самая высокая Q) секция была последней секцией.

Most selective section to least selective section

Переставляет секции фильтра так, чтобы самый ограничительный (самый высокий Q) раздел был первым разделом, а наименее ограничительный (самый низкий Q) раздел был последним разделом.

Custom reordering

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

Numerator Order

Задайте новое упорядоченное расположение для разделов фильтра SOS. Введите вектор индексов разделов в том порядке, в котором их можно переставить. Для примера фильтр с пятью разделами имеет индексы 1, 2, 3, 4 и 5. Чтобы переключить второй и четвертый разделы, вектор будет [1,4,3,2,5].

Use Numerator Order

Переставляет знаменатели в порядке, присвоенном числителям.

Specify

Позволяет вам задать порядок знаменателей, а не использовать порядок числителя. Введите вектор индексов разделов, чтобы задать порядок используемых знаменателей. Для примера фильтр с пятью разделами имеет индексы 1, 2, 3, 4 и 5. Чтобы переключить второй и четвертый разделы, вектор будет [1,4,3,2,5].

Use Numerator Order

Переупорядочивает значения шкалы согласно порядку числителей.

Specify

Позволяет вам задать порядок значений шкалы, а не использовать порядок числителя. Введите вектор индексов разделов, чтобы задать порядок используемых знаменателей. Для примера фильтр с пятью разделами имеет индексы 1, 2, 3, 4 и 5. Чтобы переключить второй и четвертый разделы, вектор будет [1,4,3,2,5].

Revert to Original Filter

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

Переупорядочить фильтр SOS.  Когда дизайнер фильтров открывает фильтр второго порядка в качестве текущего фильтра, вы используете следующий процесс для доступа к возможности переупорядочивания и переупорядочиваете фильтр. Начните, запустив filter designer из командной строки.

  1. Введите filterDesigner в командной строке для запуска filter designer.

  2. Разработайте lowpass фильтр Баттерворта с порядком 10 и спецификациями частоты по умолчанию путем ввода следующих настроек:

    • Под Response Type выбрать Lowpass.

    • В разделе Design Method выберите БИХ и Butterworth из списка.

    • Задайте порядок равный 10 в Задайте порядок под Filter Order.

    • Сохраните значения Fs и Fc по умолчанию в Frequency Specifications.

  3. Нажмите Design Filter.

    Filter Designer проектирует фильтр Баттерворта и возвращает фильтр как фильтр Direct-Form II, реализованный с секциями второго порядка. Спецификации отображаются в области Current Filter Information.

    С фильтром второго порядка в конструкторе фильтров при переупорядочении фильтра используется функция «Переупорядочивание и масштабирование секций второго порядка» в конструкторе фильтров (также доступна в Filter Visualization Tool, FVTool).

  4. Чтобы переупорядочить фильтр, выберите Edit > Reorder and Scale Second-Order Sections из меню конструктора фильтров.

Теперь вы готовы переупорядочить разделы вашего фильтра. Обратите внимание, что конструктор фильтров выполняет переупорядочивание текущего фильтра в сеансе.

Используйте метод наименьшего выборочного переупорядочивания разделов.  Чтобы позволить дизайнеру фильтров переупорядочить фильтр так, чтобы наименее избирательный раздел был первым, а самый избирательный - последним, выполните следующие шаги в диалоговом окне Переупорядочивание и масштабирование секций второго порядка.

  1. В разделе «Переупорядочивание» выберите «Наименее избирательное сечение».

  2. Чтобы предотвратить масштабирование фильтра одновременно, снимите флажок Масштабировать в масштабировании.

  3. В конструкторе фильтров выберите View > SOS View Settings из панели меню, чтобы увидеть разделы фильтра, отображенные в конструкторе фильтров.

  4. В диалоговом окне «Параметры вида SOS» выберите «Отдельные разделы». Делая этот выбор, дизайнер фильтров показывает кривые величины отклика для каждого раздела вашего фильтра в области анализа.

  5. В диалоговом окне «Переупорядочивание и масштабирование секций второго порядка» нажмите кнопку Apply, чтобы переупорядочить фильтр в соответствии с Qs разделов фильтра и сохранить диалоговое окно открытым. В ответ дизайнер фильтров представляет ответы для каждого раздела фильтра (должно быть пять разделов) в области анализа.

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

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

Просмотр разделов фильтра SOS

Использование диалогового окна SOS View

Поскольку вы можете проектировать и переупорядочивать разделы SOS-фильтров, filter designer предоставляет возможность просмотра разделов фильтра в области анализа - SOS View. Если в качестве текущего фильтра в конструкторе фильтров у вас есть фильтр секций второго порядка, вы включаете опцию представления SOS, чтобы увидеть разделы фильтра индивидуально, или совокупно, или даже только некоторые из разделов. Включение представления SOS переводит конструктора фильтров в режим, в котором все фильтры секций второго порядка отображают разделы, пока вы не отключите опцию представления SOS. Режим представления SOS применяется к любому анализу, отображаемому в области анализа. Для примера, если вы конфигурируете filter designer, чтобы показать фазовые отклики для фильтров, включение SOS View означает, что filter designer отображает фазовый отклик для каждого раздела SOS фильтров.

Управление диалоговым окном представления SOS

SOS View использует несколько опции, чтобы управлять отображением разделов и разделов конструктором фильтров. Когда вы выбираете View > SOS View из панели меню filter designer, вы видите это диалоговое окно, содержащее опции для настройки операции представления SOS.

По умолчанию SOS View показывает общую характеристику фильтров SOS. Опции в диалоговом окне SOS View позволяют изменять отображение. В этой таблице перечислены все опции и описаны эффекты каждой из них.

Опция

Описание

Полный фильтр

Это знакомое отображение в filter designer. Для фильтра секции второго порядка отображается только общая реакция, а не ответы для отдельных разделов. Это строение по умолчанию.

Отдельные разделы

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

Совокупные разрезы

При выборе этой опции конструктор фильтров отображает ответ для каждого раздела как накопленный ответ для всех предыдущих разделов фильтра. Если ваш фильтр имеет пять сечений, вы видите пять кривых отклика:

  • Первая кривая строит график отклика для первой секции фильтра.

  • Вторая кривая строит график отклика для объединенных первого и второго участков.

  • Третья кривая строит график отклика для первого, второго и третьего разделов вместе взятых.

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

Определяемый пользователем

Здесь определяется, какие разделы отображать и в каком порядке. Выбор этой опции включает текстовое поле, в котором вы вводите массив ячеек индексов разделов фильтра. Каждый индекс представляет один раздел. Ввод одного индекса строит один ответ. При вводе примерно {1:2} отображается комбинированный ответ разделов 1 и 2. Если у вас есть фильтр с четырьмя разделами, запись {1:4} отображает объединенный ответ для всех четырех разделов, тогда как {1,2,3,4} строит график для каждого раздела. Обратите внимание, что после ввода массива ячеек необходимо щелкнуть OK или Apply, чтобы обновить область анализа конструктора фильтров до нового строения SOS View.

Используйте вторично-масштабирующие точки

Это предписывает проектировщику фильтров использовать вторичные точки масштабирования в разделах, чтобы определить, где разделить разделы. Эта опция применяется только, когда фильтр является df2sos или df1tsos фильтр. Для этих структур вторичные точки масштабирования относятся к местам масштабирования между рекурсивной и нерекурсивной частями сечения («середина» сечения). По умолчанию точки вторичного масштабирования не активированы. Этот параметр используется только с опцией «Совокупные сечения».

Просмотр разделов фильтров SOS

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

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

  1. Запустите filter designer.

  2. Создайте lowpass SOS-фильтр с помощью метода проекта Butterworth. Задайте порядок фильтра 6. Использование фильтра низкого порядка делает просмотр разделов более ясным.

  3. Создайте новый фильтр, нажав Design Filter.

    дизайнер фильтра проектирует ваш фильтр и показывает вам величину ответ в области анализа. В Current Filter Information вы видите спецификации для вашего фильтра. У вас должен быть шестой по порядку фильтр Direct-Form II, Секции Второго Порядка с тремя разделами.

  4. Чтобы включить SOS View, выберите View > SOS View в панели меню.

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

  5. Чтобы увидеть характеристики величины для каждого раздела фильтра, выберите Отдельные разделы.

  6. Щелкните Apply, чтобы обновить конструктор фильтров, чтобы отобразить ответы для каждого раздела фильтра. Область анализа изменяется, чтобы показать вам что-то вроде следующего рисунка.

    Если переключить filter designer для отображения фазовых откликов фильтра (путем выбора Analysis > Phase Response), вы увидите фазовый отклик для каждого раздела фильтра в области анализа.

  7. Чтобы определить собственное отображение разделов, используйте опцию User defined и введите вектор индексов разделов для отображения. Теперь вы увидите отображение отклика первого раздела и совокупного отклика первого, второго и третьего разделов:

    • Выберите User defined, чтобы включить поле ввода текста в диалоговом окне.

    • Введите массив ячеек {1,1:3} указать, что конструктор фильтров должен отображать ответ первого раздела и совокупный ответ первых трех разделов фильтра.

  8. Чтобы применить новый выбор SOS View, щелкните Apply или OK (который закрывает диалоговое окно SOS View).

    В области анализа дизайнера фильтров вы видите две кривые - одну для отклика первого участка фильтра и одну для комбинированного отклика разделов 1, 2 и 3.

Импорт и экспорт квантованных фильтров

Обзор и структуры

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

У вас есть опция экспортировать квантованные фильтры в рабочее пространство MATLAB, экспортировать их в текстовые файлы или экспортировать в MAT-файлы.

Общие сведения об импорте и экспорте фильтров в конструкторе фильтров см. в разделах Импорт создания фильтра и Экспорт создания фильтра.

Дизайнер фильтров импортирует квантованные фильтры, имеющие следующие структуры:

  • Прямая форма I

  • Прямая форма II

  • Прямая форма I транспонирована

  • Прямая форма II транспонирована

  • Конечная импульсная характеристика прямой формы

  • Антисимметричная форма конечной импульсной характеристики

  • Решетка allpass

  • Решетка AR

  • Минимальная фаза MA решетки

  • Максимальная фаза MA решетки

  • РЕШЕТКА ПЕРЕМИРИЯ

  • Решетка связанная-allpass

  • Решетка связанная-allpass степень комплементарная

Импорт квантованных фильтров

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

  1. Откройте конструктор фильтров.

  2. Выберите File > Import Filter from Workspace из панели меню или щелкните значок Import Filter from Workspace на боковой панели:

    .

    В нижней области конструктора фильтров панель Design Filter становится Import Filter, и появляются опции для импорта квантованных фильтров, как показано на рисунке.

  3. В списке Структура фильтра выберите Filter object.

    Опции для импорта фильтров изменяются следующим образом:

    • Дискретный фильтр - Введите имя переменной для фильтра с фиксированной точкой дискретного времени в рабочей рабочей области.

    • Частотные модули измерения - Выберите частотные модули из списка модулей в разделе Частота дискретизации и при необходимости укажите значение частоты дискретизации в Fs. Частота дискретизации должна соответствовать выбранным модулям измерения. Для примера, когда вы выбираете Normalized (0 to 1), Fs по умолчанию равен единице. Но если вы выбираете один из опций частоты, вводите частоту дискретизации в выбранных модулях. Если в рабочей рабочей области задана частота дискретизации как переменная, введите имя переменной для частоты дискретизации.

  4. Щелкните Import, чтобы импортировать фильтр.

    Filter Designer проверяет рабочую область на наличие заданного фильтра. Он импортирует фильтр, если находит его, отображая величину ответ для фильтра в области анализа. Если фильтр не найден, возвращается диалоговое окно «Ошибка Filter Designer».

Примечание

Если во время любого сеанса конструктора фильтров вы переключаетесь в режим квантования и создадите фильтр с фиксированной точкой, конструктор фильтров остается в режиме квантования. Если вы импортируете фильтр двойной точности, конструктор фильтров автоматически квантует импортированный фильтр, применяя самые последние параметры квантования.
Когда вы проверяете текущую информацию о фильтре для импортированного фильтра, это указывает, что фильтр является Source: imported (quantized) даже если вы не импортировали квантованный фильтр.

Экспорт квантованных фильтров

Чтобы сохранить создание фильтра, конструктор фильтров позволяет экспортировать квантованный фильтр в рабочее рабочее пространство MATLAB (или можно сохранить текущий сеанс в конструкторе фильтров). При сохранении квантованного фильтра путем его экспорта можно выбрать одну из следующих опций:

Экспорт коэффициентов, объектов или системных объектов в рабочую область.  Можно сохранить фильтр как переменные коэффициентов фильтра или фильтровать переменные System object™.

Чтобы сохранить фильтр в рабочем пространстве MATLAB:

  1. Выберите Экспорт из меню Файла. Откроется диалоговое окно Экспорт (Export).

  2. Выберите Workspace из списка Экспорт в.

  3. В списке Экспорт как (Export As) выберите одну из следующих опций.

    • Выберите Coefficients для сохранения коэффициентов фильтра.

    • Выберите System Objects для сохранения фильтра в Системный объект фильтра.

    The System Objects опция не отображается в раскрывающемся списке, если текущая структура фильтра не поддерживается системными объектами.

  4. Присвойте имя переменной:

    • Для коэффициентов назначьте имена переменных с помощью опций Числитель и Знаменатель в разделе Имена переменных.

    • Для системных объектов присвойте имя переменной в опции Дискретный фильтр.

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

  5. Нажмите Export.

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

    • Чтобы продолжить экспорт фильтра в существующую переменную, нажмите кнопку OK, чтобы отключить предупреждение.

    • Затем установите флажок Перезаписать переменные и нажмите Export.

Экспорт коэффициентов фильтра в текстовый файл.  Чтобы сохранить квантованный фильтр как текстовый файл, выполните следующие шаги:

  1. Выберите Export из меню File.

  2. Выберите Text-file в разделе Экспорт в.

  3. Нажмите кнопку OK, чтобы экспортировать фильтр и закрыть диалоговое окно. Нажмите кнопку Apply, чтобы экспортировать фильтр, не закрывая диалоговое окно Экспорт. Нажав кнопку Apply, можно экспортировать квантованный фильтр в несколько имен, не выходя из диалогового окна Экспорт.

    Появится диалоговое окно Экспорт коэффициентов фильтра в текстовый файл. Это стандартная Microsoft Windows® диалоговое окно сохранения файла.

  4. Выберите или введите папку и имя файла для текстового файла и нажатия кнопки OK.

    Filter Designer экспортирует квантованный фильтр как текстовый файл с указанным именем, и откроется редактор MATLAB, отображающий файл для редактирования.

Экспорт коэффициентов фильтра в MAT-файл.  Чтобы сохранить квантованный фильтр в качестве MAT-файла, выполните следующие шаги:

  1. Выберите Export из меню File.

  2. Выберите MAT-file в разделе Экспорт в.

  3. Присвойте имя переменной для фильтра.

  4. Нажмите кнопку OK, чтобы экспортировать фильтр и закрыть диалоговое окно. Нажмите кнопку Apply, чтобы экспортировать фильтр, не закрывая диалоговое окно Экспорт. Нажав кнопку Apply, можно экспортировать квантованный фильтр в несколько имен, не выходя из диалогового окна Экспорт.

    Появится диалоговое окно Экспорт коэффициентов фильтра в MAT-файл. Это диалоговое окно является стандартным диалоговым окном сохранения файла Microsoft Windows.

  5. Выберите или введите папку и имя файла для текстового файла и нажатия кнопки OK.

    Filter Designer экспортирует квантованный фильтр как MAT-файл с заданным именем.

Сгенерируйте код MATLAB

Сгенерировать код MATLAB можно с помощью меню File > Generate MATLAB Code. В этом меню есть следующие опции:

  • Filter Design Function (with System Objects)

    Эта опция генерирует системный объект. Опция отключена, если текущий фильтр не поддерживается системными объектами.

  • Data Filtering Function (with System Objects)

    Эта опция генерирует код MATLAB, который фильтрует входные данные с текущим созданием фильтра. Код MATLAB готов к преобразованию в код C/C + + с помощью codegen команда. Эта опция отключена, если текущий фильтр не поддерживается системными объектами.

Импорт файлов коэффициентов XILINX (.COE)

Импорт файлов XILINX .COE в Filter Designer

Можно импортировать коэффициенты XILINX (. coe) файлы в конструктор фильтров, чтобы создать квантованные фильтры непосредственно с помощью импортированных коэффициентов фильтра.

Чтобы использовать функцию импорта файла:

  1. Выберите File > Import Filter Из файла коэффициента XILINX (.COE) в конструкторе фильтров.

  2. В диалоговом окне «Импорт фильтра из файла коэффициента XILINX (.COE)» найдите и выберите coe. файл для импорта.

  3. Щелкните Open, чтобы закрыть диалоговое окно и начать процесс импорта.

    Конструктор фильтров импортирует файл коэффициентов и создает квантованную односекционную прямую конечную импульсную характеристику фильтр.

Преобразование фильтров с использованием Filter Designer

Возможности преобразования фильтра Filter Designer

Тулбокс обеспечивает функции для преобразования фильтров между различными формами. Когда вы используете filter designer с установленным тулбоксом, боковая кнопка и опция панели меню позволяют вам использовать панель Transform Filter для преобразования фильтров, а также использовать функции командной строки.

Из выбора на панели меню дизайнера фильтров - Transformations - можно преобразовать lowpass конечную импульсную характеристику и БИХ фильтры в различные формы полосы пропускания.

Можно преобразовать фильтры конечной импульсной характеристики из:

  • Lowpass до lowpass.

  • Lowpass к highpass.

Для БИХ можно преобразовать из:

  • Lowpass до lowpass.

  • Lowpass к highpass.

  • Lowpass на полосу.

  • Lowpass к полосно-заграждающему.

При нажатии кнопки Transform Filter на боковой панели откроется панель Фильтр преобразования (Transform Filter) в конструкторе фильтров, как показано здесь.

Опции для Исходного типа фильтра относятся к типу текущего фильтра для преобразования. Если вы выбираете lowpass, можно преобразовать lowpass-фильтр в другой lowpass-фильтр или в highpass-фильтр, или в многочисленные другие форматы фильтров, действительные и сложные.

Примечание

Когда ваш исходный фильтр является конечной импульсной характеристикой фильтром, опции конечной импульсной характеристики и БИХ преобразованного типа фильтра появляются в списке Преобразованный тип фильтра. Обе опции остаются активными, потому что можно применить преобразования БИХ к конечной импульсной характеристике фильтру. Если источник является фильтром БИХ, в списке БИХ только опций преобразованный фильтр показа.

Исходный тип фильтра

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

  • Когда вы выбираете Lowpass с БИХ, ваш преобразованный тип фильтра может быть

    • Lowpass

    • Highpass

    • Полосно-пропускающий

    • Bandstop

    • Многополосный

    • Бандпас (комплекс)

    • Бандстоп (комплекс)

    • Мультидиапазон (комплекс)

  • Когда вы выбираете Lowpass с конечная импульсная характеристика, ваш преобразованный тип фильтра может быть

    • Lowpass

    • Lowpass (конечная импульсная характеристика)

    • Highpass

    • Highpass (конечная импульсная характеристика) узкополосный

    • Highpass (конечная импульсная характеристика) широкополосный

    • Полосно-пропускающий

    • Bandstop

    • Многополосный

    • Бандпас (комплекс)

    • Бандстоп (комплекс)

    • Мультидиапазон (комплекс)

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

Исходный фильтр

Доступные преобразованные типы фильтров

Lowpass конечная импульсная характеристика

  • Lowpass

  • Lowpass (конечная импульсная характеристика)

  • Highpass

  • Highpass (конечная импульсная характеристика) узкополосный

  • Highpass (конечная импульсная характеристика) широкополосный

  • Полосно-пропускающий

  • Bandstop

  • Многополосный

  • Бандпас (комплекс)

  • Бандстоп (комплекс)

  • Мультидиапазон (комплекс)

Lowpass БИХ

  • Lowpass

  • Highpass

  • Полосно-пропускающий

  • Bandstop

  • Многополосный

  • Бандпас (комплекс)

  • Бандстоп (комплекс)

  • Мультидиапазон (комплекс)

Диаграммы направленности конечной импульсной характеристики

  • Lowpass

  • Lowpass (конечная импульсная характеристика) узкополосный

  • Lowpass (конечная импульсная характеристика) широкополосный

  • Хайпас (конечная импульсная характеристика)

  • Highpass

  • Полосно-пропускающий

  • Bandstop

  • Многополосный

  • Бандпас (комплекс)

  • Бандстоп (комплекс)

  • Мультидиапазон (комплекс)

БИХ Highpass

  • Lowpass

  • Highpass

  • Полосно-пропускающий

  • Bandstop

  • Многополосный

  • Бандпас (комплекс)

  • Бандстоп (комплекс)

  • Мультидиапазон (комплекс)

Бандпас конечной импульсной характеристики

  • Полосно-пропускающий

  • Бандпас ( конечная импульсная характеристика)

Bandpass БИХ

Полосно-пропускающий

Bandstop конечная импульсная характеристика

  • Bandstop

  • Бандстоп (конечных импульсных характеристик)

Bandstop БИХ

Bandstop

Обратите внимание, что опции преобразования изменяются в зависимости от того, является ли ваш исходный фильтр конечная импульсная характеристика или БИХ. Начиная с конечная импульсная характеристика, можно преобразовать в БИХ или конечная импульсная характеристика. С исходным фильтром БИХ, вы ограничены целевыми фильтрами БИХ.

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

Для получения дополнительной информации о преобразовании фильтров см. «Частотные преобразования для действительных фильтров» и «Частотные преобразования для сложных фильтров».

Частотная точка для преобразования

Частотная точка, которую вы вводите в это поле, определяет величину значения отклика (в дБ) на кривую величину отклика.

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

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

Точка Frequency to transform устанавливает величине характеристику на значения, которые вы вводите в Задайте желаемое местоположение частоты. Задайте значение, которое находится либо на краю ограничительной полосы, либо на краю полосы пропускания.

Если, например, вы создаете полосно-пропускающий фильтр из высокочастотного фильтра, алгоритм преобразования устанавливает амплитудную характеристику преобразованного фильтра в местоположении Задайте желаемую частоту, чтобы она совпадала с характеристикой в точке Frequency для преобразования значения. Таким образом, вы получаете полосно-пропускающий фильтр, чья реакция в низком и высокая частота местоположениях одинаковая. Заметьте, что ширина полосы пропускания между ними неопределена. На следующих двух рисунках вы видите исходный фильтр highpass и преобразованный полосно-пропускающий фильтр.

Для получения дополнительной информации о преобразовании фильтров см. «Цифровые частотные преобразования».

Преобразованный тип фильтра

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

  • Lowpass

  • Lowpass (конечная импульсная характеристика)

  • Highpass

  • Highpass (конечная импульсная характеристика) узкополосный

  • Highpass (конечная импульсная характеристика) широкополосный

  • Полосно-пропускающий

  • Bandstop

  • Многополосный

  • Бандпас (комплекс)

  • Бандстоп (комплекс)

  • Мультидиапазон (комплекс)

Не все типы преобразованных фильтров доступны для всех типов фильтров в списке Исходные типы фильтров. Можно преобразовать полосно-пропускающие фильтры только в полосно-пропускающие фильтры. Или полосно-заграждающие фильтры для заграждающих фильтров. Или БИХ к БИХ.

Для получения дополнительной информации о преобразовании фильтров см. «Частотные преобразования для действительных фильтров» и «Частотные преобразования для сложных фильтров».

Задайте желаемое частотное местоположение

Частотная точка, которую вы вводите в частотную точку для преобразования, совпадает с величиной значения отклика. На каждой частоте, которую вы вводите здесь, преобразование пытается сделать величину характеристику такой же, как и характеристика, идентифицированная вашей точкой Frequency, чтобы преобразовать значение.

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

Для получения дополнительной информации о преобразовании фильтров см. «Цифровые частотные преобразования».

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

  1. Разработайте или импортируйте фильтр в конструктор фильтров.

  2. Нажмите кнопку Transform Filter, на боковой панели.

    Конструктор фильтров открывает панель «Фильтр преобразования» в конструкторе фильтров.

  3. В списке Тип исходного фильтра выберите форму отклика преобразуемого фильтра.

    При выборе типа, будь то lowpass, highpass, bandpass или bandstop, конструктор фильтров распознает, является ли ваша форма фильтра конечной импульсной характеристики или БИХ. Используя как выбор типа фильтра, так и форму фильтра, конструктор фильтров корректирует значения в списке Преобразованный тип фильтра, показывая только те, которые применяются к исходному фильтру.

  4. Введите частотную точку для преобразования значения в частотную точку для преобразования. Заметьте, что значение, которое вы вводите, должно быть в кГц; для примера введите 0,1 для 100 Гц или 1,5 для 1500 Гц.

  5. В списке Преобразованный тип фильтра выберите тип фильтра, в который вы хотите преобразовать.

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

    • Когда вы выбираете lowpass или highpass тип фильтра, вы вводите одно значение в Задайте желаемое расположение частоты.

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

    • Когда вы выбираете многополосный тип фильтра, вы вводите значения как элементы в вектор в Specify a vector of desired frequency locations - по одному элементу для каждого желаемого местоположения. Ваши значения определяют ребра полос пропускания и пробок.

      После нажатия кнопки Преобразовать фильтр (Transform Filter) конструктор фильтров преобразует фильтр, отображает величину ответ нового фильтра и обновляет информацию о текущем фильтре, чтобы показать, что фильтр был преобразован. В информации о фильтре источник преобразуется.

      Для примера рисунок, показанный здесь, включает кривые величины отклика для двух фильтров. Исходный фильтр является lowpass с сгибом между 0,2 и 0,25. Преобразованный фильтр является lowpass фильтром с областью сгиба между 0,8 и 0,85.

    • Чтобы продемонстрировать эффекты выбора Narrowband Highpass или Wideband Highpass, следующий рисунок представляет кривые величины отклика для источника lowpass фильтра после его преобразования в узко- и широкополосные высокочастотные фильтры. Для сравнения также появляется реакция исходного фильтра.



      Для узкополосного случая алгоритм преобразования по существу обращает величину отклик назад, подобно отражению кривой вокруг оси Y, затем перемещая кривую вправо, пока источник не лежит на оси X под углом 1. После отражения и преобразования ширина полосы пропускания на высоких частотах является противоположной ширине полосы пропускания исходного фильтра на низких частотах с одинаковыми характеристиками смещения и пульсации.

Проект многоскоростных фильтров в Filter Designer

Введение

Вы не только можете проектировать многоскоростные фильтры из командной строки MATLAB, но и дизайнер фильтров предоставляет те же возможности проекта в графическом инструменте пользовательского интерфейса. При запуске filter designer и переходе в режим проекта многоскоростного фильтра у вас есть доступ ко всем возможностям мультирасового проекта в тулбоксе - дециматорам, интерполяторам и фильтрам изменения дробной скорости, среди прочих.

Переключите Filter Designer в режим проекта многоскоростного фильтра

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

Когда конструктор фильтров откроет, нажмите Create a Multirate Filter, на боковой панели. Вы видите переключатель filter designer в проект, показывающий опции проекта многоскоростного фильтра. Показанный на следующем рисунке является многократным строением проекта по умолчанию, который проектирует интерполяционный фильтр с коэффициентом интерполяции 2. В проекте используется текущий конечная импульсная характеристика в конструкторе фильтров.

Когда текущий фильтр в filter designer не является КИХ-фильтром, multirate filter design panel удаляет параметр Использовать текущий КИХ-фильтр и выбирает параметр Использовать по умолчанию КИХ-фильтр в качестве параметра по умолчанию.

Элементы управления на панели Multirate Design

Вы видите опции, которые позволяют вам проектировать различные многоскоростные фильтры. Параметр Type является вашей начальной точкой. Из этого списка вы выбираете многоскоростной фильтр для проектирования. На основе вашего выбора, другие опции изменяются, чтобы предоставить элементы управления, которые вам нужно задать фильтр.

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

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

Самый правый раздел предлагает опции, которые управляют строением фильтра, когда вы выбираете Cascaded-Integrator Comb (CIC) в качестве метода проекта в центральном разделе. Оба Decimator тип и Interpolator type filters позволяет вам использовать опцию Cascaded-Integrator Comb (CIC) для разработки многоскоростных фильтров.

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

Выберите и сконфигурируйте фильтр

Опция

Описание

Напечатать

Задает тип многоскоростного фильтра для проектирования. Выберите из Decimator, Interpolator, или Fractional-rate convertor.

  • Когда вы выбираете DecimatorУстановите коэффициент десятикратного уменьшения, чтобы задать десятикратное уменьшение, которая будет применяться.

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

  • Когда вы выбираете Fractional-rate convertorустановите коэффициент интерполяции и коэффициент десятикратного уменьшения. Конструктор фильтров использует оба для определения дробного изменения скорости путем деления коэффициента интерполяции на десятикратное уменьшение, чтобы определить дробное изменение скорости в сигнале. Вы должны выбрать значения для интерполяции и десятикратного уменьшения, которые являются относительно простыми. Когда ваш коэффициент интерполяции и коэффициент десятикратного уменьшения не являются относительно простыми, конструктор фильтров уменьшает частоту фракций интерполяции/децимации до самого низкого общего знаменателя и выдает сообщение в строке состояния в конструкторе фильтров. Для примера, если коэффициент интерполяции равен 6, а коэффициент десятикратного уменьшения равен 3, конструктор фильтров уменьшает 6/3 до 2/1, когда вы проектируете переключатель скорости. Но если коэффициент интерполяции равен 8, а коэффициент десятикратного уменьшения равен 3, конструктор фильтров проектирует фильтр без изменений.

Коэффициент интерполяции

Используйте стрелы управления вверх-вниз, чтобы задать величину интерполяции для применения к сигналу. Коэффициент варьируется в диапазоне от 2.

Десятикратное уменьшение

Используйте стрелы управления вверх-вниз, чтобы задать величину десятикратного уменьшения для применения к сигналу. Коэффициент варьируется в диапазоне от 2.

Частота дискретизации

Никаких настроек здесь. Просто единицы и Fs ниже.

Модули

Укажите, заданы ли Fs в Hz, kHz, MHz, GHz, или Normalized (0 to 1) модулей.

Фс

Установите полную частоту дискретизации шкалы в частотных модулях, заданных в модули. Когда вы выбираете Normalized для модулей значение для Fs не вводится.

Проектируйте свой фильтр

Опция

Описание

Используйте текущую конечную импульсную характеристику фильтр

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

Используйте фильтр Nyquist конечную импульсную характеристику по умолчанию

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

Каскадный интегратор-гребень (CIC)

Проектируйте CIC-фильтры, используя опции, представленные в правой области многоуровневой панели проекта.

Удержание интерполятора (нулевого порядка)

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

Линейный интерполятор (первый порядок)

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

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

  • Верхняя подграфика на рисунке представляет сигнал s1 без интерполяции.

  • Средняя подграфика показывает сигнал s1, интерполированный линейным интерполятором с коэффициентом интерполяции 5.

  • Нижняя подграфика показывает сигнал s1, интерполированный интерполятором удержания с коэффициентом интерполяции 5.

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

Опции для разработки CIC-фильтров

Описание

Дифференциальная задержка

Устанавливает дифференциальную задержку для CIC-фильтра. Обычно подходит значение один или два.

Количество разделов

Задает количество каскадов в CIC дециматоре. Количество разделов по умолчанию является 2, и область значений является любым положительным целым числом.

Разработайте преобразователь дробной скорости.  Чтобы ввести процесс, который вы используете для разработки многоскоростного фильтра в конструкторе фильтров, этот пример использует опции для разработки преобразователя дробной скорости, который использует 7/3 в качестве дробной скорости. Начните проект, создав lowpass конечная импульсная характеристика по умолчанию в конструкторе фильтров. Вы не должны начинать с этого конечная импульсная характеристика, но фильтр по умолчанию работает нормально.

  1. Запустите filter designer.

  2. Выберите настройки для lowpass конечной импульсной характеристики минимального порядка, используя Equiripple метод проекта.

  3. Когда конструктор фильтров отобразит величину ответ для фильтра, щелкните на боковой панели. filter designer переключается на режим проекта многоскоростного фильтра, показывая многорейсовую панель проекта.

  4. Чтобы спроектировать дробный фильтр скорости, выберите Fractional-rate convertor из списка Тип. Становятся доступными опции Коэффициент интерполяции и Коэффициент десятикратное уменьшение.

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

  6. Используя стрелу вверх в коэффициенте десятикратного уменьшения, установите 3 как коэффициент десятикратного уменьшения.

  7. Выберите Use a default Nyquist FIR filter. Можно спроектировать преобразователь скорости с текущей конечной импульсной характеристикой фильтром.

  8. Введите 24000 для установки Fs.

  9. Нажмите Create Multirate Filter.

    После разработки фильтра конструктор фильтров возвращается со спецификациями для вашего нового фильтра, отображаемыми в Current Filter Information, и показывает амплитудную характеристику фильтра.

Можно протестировать фильтр, экспортировав его в рабочую область и используя для фильтрации сигнала. Для получения информации об экспорте фильтров см. раздел «Импорт и экспорт квантованных фильтров».

Разработайте CIC-дециматор для 8-битных входных/выходных данных.  Другой вид фильтра, который вы можете спроектировать в дизайнере фильтров, - это фильтры Cascaded-Integrator Comb (CIC). Filter designer предоставляет опции, необходимые для настройки CIC в соответствии с вашими потребностями.

  1. Запустите filter designer и проект фильтр по умолчанию конечной импульсной характеристики lowpass. Разработка фильтра в это время является необязательным шагом.

  2. Переключите конструктора фильтров в режим многоуровневого проекта, нажав на боковую панель.

  3. Для параметра «Тип» выберите Decimator, и установите коэффициент десятикратного уменьшения равным 3.

  4. Чтобы спроектировать дециматор с помощью реализации CIC, выберите Cascaded-Integrator Comb (CIC). Это позволяет использовать опции, связанные с CIC, в правой части панели.

  5. Установите значение дифференциальной задержки равным 2. Как правило, 1 или 2 являются хорошими значениями для использования.

  6. Введите 2 для количества разделов.

  7. Щелкните Создать Многомерный фильтр (Create Многоскоростной Фильтр).

    Filter Designer проектирует фильтр, показывает величину реакцию в области анализа и обновляет текущую информацию о фильтре, чтобы показать, что вы разработали каскадный дециматор-интегратор десятого порядка с двумя секциями. Заметьте, что источником является Multirate Design, что указывает на то, что для создания фильтра вы использовали режим multirate design в конструкторе фильтров. Filter Designer должен выглядеть так.

Разработка других многоскоростных фильтров выполняется по тому же шаблону.

Чтобы спроектировать другие многоскоростные фильтры, выполните одно из следующих действий в зависимости от проектируемого фильтра:

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

    • Используйте фильтр Nyquist конечную импульсную характеристику по умолчанию

    • Каскадно-интеграторный гребень (CIC)

    • Удержание интерполятора (нулевого порядка)

    • Линейный интерполятор (первый порядок)

  • Чтобы спроектировать дециматор, выберите из этих опций.

    • Используйте фильтр Nyquist конечную импульсную характеристику по умолчанию

    • Каскадно-интеграторный гребень (CIC)

  • Чтобы спроектировать преобразователь дробной скорости, выберите Использовать фильтр Nyquist конечную импульсную характеристику по умолчанию.

Квантование многоскоростных фильтров

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

Примечание

CIC-фильтры всегда являются фиксированной точкой.

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

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

  1. Разработайте или импортируйте свой многоскоростной фильтр и убедитесь, что он является текущим фильтром в конструкторе фильтров.

  2. Нажмите кнопку Set Quantization Parameters на боковой панели.

  3. В списке «Арифметика фильтра» на панели «Арифметика арифметики» выберите Fixed-point. Если ваш фильтр является CIC-фильтром, Fixed-point опция включена по умолчанию, и вы не устанавливаете эту опцию.

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

  5. Нажмите Применить.

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

Ввод/Вывод.  Опции, которые определяют, как ваш CIC-фильтр использует вход и выходные значения, перечислены в таблице ниже.

Имя опции

Описание

Вход Размера слова

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

Вход дроби

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

Входная область значений (+/-)

Позволяет вам задать область значений, который представляют входы. Вы используете это вместо опции Входа дроби, чтобы задать точность. Когда вы вводите значение x, полученную область значений от -x до x. Область значений должен быть положительным целым числом.

Выход размера слова

Устанавливает размер слова, используемую для представления выхода из фильтра.

Избегайте переполнения

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

Выход дроби

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

Выходная область значений (+/-)

Позволяет вам задать область значений, который представляют выходы. Вы используете это вместо опции Выхода дроби, чтобы задать точность. Когда вы вводите значение x, полученную область значений от -x до x. Область значений должен быть положительным целым числом.

Доступные опции изменяются при изменении настройки точности фильтра. Переход от Full на Specify all добавляет увеличение управления путем включения дополнительных опций входа и выхода слова.

Внутренние элементы фильтра.  С CIC-фильтром в качестве текущего фильтра опция Точность фильтра (Filter precision) на панели Внутренние фильтры (Filter Internals) включает режимы для управления словом фильтра и длинами дробей.

Для этого существует четыре режима использования (тот же режим, который вы выбираете для FilterInternals свойство в CIC-фильтрах в подсказке MATLAB).

  • Full - Все длины слов и дробей устанавливаются на Bmax + 1, называемые Baccum. Это значение по умолчанию.

  • Minimum section word lengths - Установите минимальные значения размеров слова разделов, которые отвечают требованиям к круговому шуму и выходу.

  • Specify word lengths - Позволяет использовать опцию Section размер слова для ввода размеров слова для каждого раздела. Введите либо скаляр, чтобы использовать одно и то же значение для каждого раздела, либо вектор значений, по одному для каждого раздела.

  • Specify all - Включает опцию «Длина дроби сечения» в дополнение к размеру слова сечения. Теперь можно задать как длину слова, так и длину дроби для каждого раздела, снова используя скаляр или вектор значений.

Экспорт отдельных фазовых коэффициентов полифазного фильтра в рабочую область

После разработки полифазного фильтра в приложении filter designer можно получить отдельные фазовые коэффициенты фильтра путем:

  1. Экспорт фильтра в объект в рабочем пространстве MATLAB.

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

Экспорт полифазного фильтра в объект.  Чтобы экспортировать полифазный фильтр в объект в рабочем пространстве MATLAB, выполните следующие шаги.

  1. В конструкторе фильтров откройте меню File и выберите Export.... Это открывает диалоговое окно для экспорта коэффициентов фильтра.

  2. В диалоговом окне «Экспорт» для Export To выберите Workspace.

  3. Для Export As выберите Object.

  4. (Необязательно) Для Variable Names введите имя объекта Multirate Filter, который будет создан в рабочем пространстве MATLAB.

  5. Нажмите кнопку Export. Многоскоростной фильтр, Hm в этом примере появляется в рабочем пространстве MATLAB.

Создайте матрицу коэффициентов с использованием полифазного метода.  Чтобы создать матрицу коэффициентов фильтра, введите p=polyphase(Hm) в командной строке. polyphase метод создает матрицу, p, коэффициентов фильтра от объекта фильтра, Hm. Каждая строка p состоит из коэффициентов отдельной фазы подфильтра. Первая строка содержит коэффициенты первой фазы подфильтра, вторая строка содержит коэффициенты второй фазы подфильтра и так далее.

Реализуйте фильтры как блоки подсистемы Simulink

Введение

После того, как вы проектируете или импортируете фильтр в конструкторе фильтров, функция реализации модели позволяет вам создать блок подсистемы Simulink, который реализует ваш фильтр. Сгенерированный блок подсистемы фильтра использует либо блоки цифрового фильтра из библиотеки DSP System Toolbox, либо блоки Delay, Gain и Sum в Simulink. Если у вас нет лицензии Fixed-Point Designer™, дизайнер фильтров все еще реализует вашу модель с помощью блоков в режиме с фиксированной точкой от Simulink, но вы не можете запустить какую-либо модель, которая включает блок вашей подсистемы фильтра в Simulink.

Сведения о панели «Реализация модели» в Filter Designer

Чтобы получить доступ к панели Realize Model и опциям реализации квантованного фильтра в качестве блока подсистемы Simulink, переключите конструктора фильтров, чтобы реализовать режим модели, нажав на боковую панель.

На следующей панели показаны опции настройки реализации фильтра конструктором как блока Simulink.

Для получения информации об этих параметрах см. описание на блоке страницы с описанием Filter Realization Wizard.

Реализуйте фильтр с помощью Filter Designer.  После того, как ваш квантованный фильтр в конструкторе фильтров выполняет то, как вы хотите, с вашей желаемой фазой и амплитудной характеристикой, и с правильными коэффициентами и формой, выполните эти шаги, чтобы реализовать ваш фильтр как подсистему, которую вы можете использовать в модели Simulink.

  1. Щелкните Realize Model на боковой панели, чтобы изменить конструктора фильтров для реализации режима модели.

  2. В списке Назначение (Destination) в разделе Модель (Model) выберите:

    • Current model - добавить реализованную подсистему фильтра к текущей модели

    • New model - чтобы открыть новое окно модели Simulink и добавить подсистему фильтра в новое окно

  3. Укажите имя новой подсистемы фильтра в поле Имя.

  4. Решите, перезаписывать ли существующий блок этим новым, и установите или снимите флажок Перезаписать сгенерированный блок «Фильтр».

  5. Установите флажок Build model using basic elements, чтобы реализовать фильтр как блок подсистемы, который состоит из блоков Sum, Gain и Delay.

  6. Выберите или очистите применяемые оптимизации.

    • Оптимизируйте для нулевых усилений - удаляет блоки нулевого усиления из реализации модели

    • Оптимизируйте для усилений по единицам - заменяет блоки усиления по единицам прямыми связями с смежными блоками

    • Оптимизируйте для отрицательных усилений - заменяет блоки отрицательного усиления на изменение знака в ближайшем суммарном блоке

    • Оптимизируйте цепи задержки - заменяет каскадные блоки задержки на один блок задержки, который производит эквивалентный коэффициент усиления

    • Optimize for unity scale values - удаляет все умножения масштабных значений на 1 из структуры фильтра

  7. Щелкните Realize Model, чтобы реализовать квантованный фильтр как блок подсистемы в соответствии с выбранными настройками.

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

Похожие темы