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.