Спецификация фильтра 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