Использовать 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
объект.