Спецификация фильтра Nyquist
d = fdesign.nyquist
d = fdesign.nyquist(l, spec)
d = fdesign.nyquist(l,spec,specvalue1,specvalue2,...)
d = fdesign.nyquist(l,specvalue1,specvalue2)
d = fdesign.nyquist(...,fs)
d = fdesign.nyquist(...,magunits)
d = fdesign.nyquist создает объекта спецификации фильтров Nyquist или L-диапазона d, применение значений по умолчанию для свойств tw и ast. По умолчанию объект фильтра проектирует полупрозрачный фильтр Nyquist минимального порядка (L = 2).
Использование fdesign.nyquist наряду с design метод генерирует Системную object™, если 'SystemObject' флаг в design для метода задано значение true.
d = fdesign.nyquist(l, spec) создает d объекта и устанавливает его Specification свойство к spec. Использование l чтобы задать желаемое значение для L. L = 2 проекты полуполосы конечной импульсной характеристики фильтра, L = 3 конечные импульсные характеристики фильтра третьего диапазона и так далее. Когда вы используете фильтр Nyquist в качестве интерполятора, l или L является фактором интерполяции. Первый входной параметр должен быть l, когда вы не используете синтаксис по умолчанию d = fdesign.nyquist.
Записи в spec представляют различные функции фильтра, такие как порядок фильтра, которые управляют созданием фильтра. Допустимые значения для spec показаны ниже. Значения не учитываются в регистре.
tw, ast (опция по умолчанию)
n, tw
n
n, ast
где,
ast - ослабление в полосе упора в децибелах (единицах измерения по умолчанию).
n - порядок фильтрации.
tw - ширина переходной области между полосами пропускания и упора. Указывается в нормированных модулях.
Методы создания фильтра, которые применяются к объекту спецификации фильтров Nyquist, изменяются в зависимости от Specification опция. Использовать designmethods определить, какой метод проекта применяется к объекту и его опции спецификации. Различные методы создания фильтра также имеют опции, которые можно задать. Использовать designopts с методом проекта, чтобы увидеть доступные опции. Для примера:
f=fdesign.nyquist(4,'N,TW'); designmethods(f)
d = fdesign.nyquist(l,spec,specvalue1,specvalue2,...) создает объект d и устанавливает его спецификацию на spec, и значений спецификации, чтобы specvalue1, specvalue2и так далее во время конструкции.
d = fdesign.nyquist(l,specvalue1,specvalue2) создает объект d со значениями, которые вы предоставляете в l, specvalue1,specvalue2 как значения для l, tw и ast.
d = fdesign.nyquist(...,fs) добавляет аргумент fs, указанный в Гц для определения частоты дискретизации для использования. В этом случае все частоты в спецификациях также находятся в Гц.
d = fdesign.nyquist(...,magunits) задает модули для любой спецификации, заданной в входных параметрах. magunits может быть одним из
linear - задайте величину в линейных модулях
dB - задайте величину в дБ (децибелы)
squared - задайте величину в степенях
Когда вы опускаете magunits аргумент, fdesign принимает, что все величины указаны в децибелах. Обратите внимание, что fdesign сохраняет все спецификации величин в децибелах (преобразование в децибелы при необходимости) независимо от того, как вы задаете величины.
Использование объектов спецификации фильтров Nyquist с equiripple метод проекта накладывает несколько ограничений на полученный фильтр, вызванных equiripple алгоритм проекта.
Когда вы запрашиваете проект минимального порядка у equiripple с вашим объектом Nyquist, алгоритм проекта может не сходиться и может ошибиться с ошибкой сходимости фильтра.
Когда вы задаете порядок вашего необходимого фильтра и используете equiripple метод проектирования, проект может не сходиться.
Как правило, следующие спецификации, отдельно или в комбинации друг с другом, могут вызвать проблемы сходимости фильтров с объектами Nyquist и equiripple метод проекта.
очень высокий порядок
малая ширина перехода
очень большое затухание в полосе задерживания
Обратите внимание, что полуфазные фильтры (фильтры, в которых полоса = 2) не показывают проблем сходимости.
Когда возникают проблемы сходимости, или в упомянутых случаях, или в других, вы можете проектировать свой фильтр с kaiserwin способ.
В сложение, если вы используете объекты Nyquist для разработки дециматоров или интерполяторов (где коэффициент интерполяции или десятикратного уменьшения не является простым числом), использование многоступенчатых созданий фильтра может быть вашим лучшим подходом.
fdesign | fdesign.halfband | fdesign.interpolator | fdesign.interpolator | fdesign.rsrc | zerophase