1D цифровой фильтр
y = filter(b,a,x)
y = filter(b,a,x,zi)
y = filter(b,a,x,zi,dim)
[y,zf] = filter(___)
фильтрует входные данные y = filter(b,a,x)
x
с помощью рациональной передаточной функции, заданной числителем и коэффициентами знаменателя b
и a
.
Если a(1)
не равен 1
, то filter
нормализует коэффициенты фильтра a(1)
. Поэтому a(1)
должен быть ненулевым.
Если x
является вектором, то filter
возвращает отфильтрованные данные как вектор, одного размера как x
.
Если x
является матрицей, то filter
действует по первому измерению и возвращает отфильтрованные данные для каждого столбца.
Если x
является многомерным массивом, то filter
действует вдоль первого измерения массива, размер которого не равняется 1.
использует начальные условия y = filter(b,a,x,zi)
zi
для задержек фильтра. Длина zi
должна равняться max(length(a),length(b))-1
.
действует по измерению y = filter(b,a,x,zi,dim)
dim
. Например, если x
является матрицей, то filter(b,a,x,zi,2)
возвращает отфильтрованные данные для каждой строки.
также возвращает итоговые условия [y,zf] = filter(___)
zf
задержек фильтра, с помощью любого из предыдущих синтаксисов.
Если у вас есть Обработка сигналов Toolbox™, можно разработать фильтр, d
, с помощью designfilt
. Затем можно использовать Y = filter(d,X)
, чтобы отфильтровать данные.
[1] Оппенхейм, Алан V, Рональд В. Шафер и Джон Р. Бак. Обработка сигналов дискретного времени. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1999.