Использование idfilt
применять полосу пропускания и другие пользовательские фильтры к временному интервалу или частотному диапазону iddata
объект.
В общем случае можно задать любой пользовательский фильтр. Используйте этот синтаксис, чтобы отфильтровать iddata
объект data
использование фильтра под названием filter
:
fdata = idfilt(data,filter)
В самом простом случае можно задать фильтр полосы пропускания для данных временного интервала с помощью следующего синтаксиса:
fdata = idfilt(data,[wl wh])
В этом случае, w1
и wh
представляйте низкие частоты и высокие частоты полосы пропускания, соответственно.
Можно задать несколько полос пропускания, можно следующим образом:
filter=[[w1l,w1h];[ w2l,w2h]; ....;[wnl,wnh]]
Фильтром является n
- 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
объект.