Используйте idfilt
, чтобы применить полосу пропускания и другие пользовательские фильтры к временному интервалу или объекту iddata
частотного диапазона.
В целом можно задать любой пользовательский фильтр. Используйте этот синтаксис, чтобы отфильтровать объект iddata
data
с помощью фильтра под названием filter
:
fdata = idfilt(data,filter)
В самом простом случае можно задать фильтр полосы пропускания для данных временного интервала с помощью следующего синтаксиса:
fdata = idfilt(data,[wl wh])
В этом случае w1
и wh
представляют низкие частоты и высокие частоты полосы пропускания, соответственно.
Можно задать несколько полос пропускания, можно следующим образом:
filter=[[w1l,w1h];[ w2l,w2h]; ....;[wnl,wnh]]
Фильтром является n
-by-2
матрица, где каждая строка задает полосу пропускания в радианах в секунду.
Чтобы задать полосу задерживания между ws1
и ws2
, использовать
filter = [0 ws1; ws2 Nyqf]
где, Nyqf
является частотой Найквиста.
Для данных временного интервала фильтрацией полосы пропускания являются расположенные каскадом Фильтры Баттерворта заданного порядка. Порядок фильтра по умолчанию равняется 5. Фильтр Баттерворта совпадает с butter
в продукте Signal Processing Toolbox™. Для данных частотного диапазона выберите обозначенные фрагменты данных, чтобы выполнить фильтрацию полосы пропускания.
Используйте idfilt
, чтобы применить полосу пропускания и другие пользовательские фильтры к временному интервалу или объекту iddata
частотного диапазона.
В целом можно задать любой пользовательский фильтр. Используйте этот синтаксис, чтобы отфильтровать объект iddata
data
с помощью фильтра под названием filter
:
fdata = idfilt(data,filter)
Можно задать общий single-input/single-output (SISO) система для фильтрации данные частотного диапазона или временной интервал. Для частотного диапазона только, можно задать (непараметрическую) частотную характеристику фильтра.
Вы используете этот синтаксис, чтобы отфильтровать объект iddata
data
с помощью пользовательского фильтра, заданного filter
:
fdata = idfilt(data,filter)
filter
может быть также любым следующим:
filter = idm filter = {num,den} filter = {A,B,C,D}
idm
является идентифицированной линейной моделью SISO или объектом LTI. Для получения дополнительной информации об объектах LTI, см. документацию Control System Toolbox™.
{num,den}
задает фильтр как передаточную функцию как массив ячеек числителя и коэффициентов фильтра знаменателя.
{A,B,C,D}
является массивом ячеек матриц пространства состояний SISO.
Специально для данных частотного диапазона вы задаете частотную характеристику фильтра:
filter = Wf
Здесь, Wf
является вектором действительных или комплексных чисел, которые задают частотную характеристику фильтра, где вводы и выводы data
на частоте data.Frequency(kf)
умножаются на Wf(kf)
. Wf
является вектор-столбцом с длиной, равной количеству частот в data
.
Когда data
содержит несколько экспериментов, Wf
является массивом ячеек с длиной, равной количеству экспериментов в data
.
Для данных временного интервала фильтрация является причинной по умолчанию. Причинные фильтры обычно вводят фазу, переключают результаты на нижний регистр. Чтобы использовать непричинный фильтр нулевой фазы (соответствующий filtfilt
в продукте Signal Processing Toolbox), задайте третий аргумент в idfilt
:
fdata = idfilt(data,filter,'noncausal')
Для данных частотного диапазона сигналы умножаются на частотную характеристику фильтра. С фильтрами, заданными, когда, полоса пропускания фильтрует, это вычисление дает идеал, фильтрация нулевой фазы (“фильтры кирпичной стены”). Удалены частоты, которые были присвоены нулевой вес фильтром (вне полосы пропускания или с помощью частотной характеристики).
Когда вы применяете idfilt
к объекту данных idfrd
, данные сначала преобразованы в объект iddata
частотного диапазона (см. Преобразование Между Данными Частотного диапазона и Частотной характеристики). Результатом является объект iddata
.