filter

Одномерный цифровой фильтр fi объекты

Синтаксис

y = filter(b,1,x)
[y,zf] = filter(b,1,x,zi)
y = filter(b,1,x,zi,dim)

Описание

y = filter(b,1,x) фильтрация данных в векторе с фиксированной точкой x использование фильтра, описанного вектором с фиксированной точкой b. Функция возвращает отфильтрованные данные в выход fi y объекта. Входные параметры b и x должен быть fi объекты. filter всегда действует по первой не синглтонной размерности. Таким образом, фильтр действует вдоль первой размерности для векторов-столбцов и нетривиальных матриц и вдоль второй размерности для векторов-строк.

[y,zf] = filter(b,1,x,zi) предоставляет доступ к начальным и конечным условиям задержек, zi, и zf. zi - вектор длины (b)-1, или массив с начальной размерностью длины размера (b)-1 и с оставшимися размерностями, совпадающими с размерностями x. zi должен быть fi объект с совпадающим типом данных, что и y и zf. Если вы не задаете значение для ziпо умолчанию это массив с фиксированной точкой со значением 0 и соответствующие numerictype и размер.

y = filter(b,1,x,zi,dim) выполняет операцию фильтрации по заданному измерению. Если вы не хотите задавать вектор начальных условий, используйте [] для входного параметра zi.

Входные параметры

b

Вектор с фиксированной точкой коэффициентов фильтра.

x

Вектор с фиксированной точкой, содержащий данные для фильтрации функции.

zi

Вектор с фиксированной точкой, содержащий начальные условия задержек. Если начальные условия задержек равны нулю, можно задать ноль, или, если вы не знаете подходящего размера и numerictype для zi, использовать [].

Если вы не задаете значение для ziпараметр по умолчанию равен вектору с фиксированной точкой со значением нуля и тем же самым numerictype и размер как выходной zf (по умолчанию).

dim

Размерность для выполнения операции фильтрации.

Выходные аргументы

y

Выходной вектор, содержащий отфильтрованные данные с фиксированной точкой.

zf

Выходной вектор с фиксированной точкой, содержащий конечные условия задержек.

Примеры

свернуть все

Следующий пример фильтрует высокочастотную синусоиду с фиксированной точкой из сигнала, который содержит как низко-, так и высокочастотную синусоиду с фиксированной точкой.

w1 = .1*pi;
w2 = .6*pi;
n  = 0:999;
xd = sin(w1*n) + sin(w2*n);
x  = sfi(xd,12);
b  = ufi([.1:.1:1,1-.1:-.1:.1]/4,10);
gd = (length(b)-1)/2;
y  = filter(b,1,x);
 
% Plot results, accommodate for group-delay of filter
plot(n(1:end-gd),x(1:end-gd))
hold on
plot(n(1:end-gd),y(gd+1:end),'r--')
axis([0 50 -2 2])
legend('Unfiltered signal','Filtered signal')
xlabel('Sample index (n)')
ylabel('Signal value')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Unfiltered signal, Filtered signal.

Полученный график показывает как нефильтрованные, так и отфильтрованные сигналы.

Подробнее о

свернуть все

Длина фильтра (L)

Длина фильтра - длина (b), или количество коэффициентов фильтра, заданное в векторе с фиксированной точкой b.

Порядок фильтра (N)

Порядок фильтра является количеством состояний (задержек) фильтра и равен L- 1.

Совет

  • The filter функция поддерживает только конечная импульсная характеристика. В общем представлении фильтра, b/ a, знаменателем, a, конечной импульсной характеристикой фильтра является скалярная 1, которая является вторым входом этой функции.

  • The numerictype от b может отличаться от numerictype от x.

  • Если вы хотите задать начальные условия, но не знаете что numerictype Для использования сначала попробуйте фильтровать данные без начальных условий. Вы можете сделать это, задав [] для входа zi. После выполнения операции фильтрации у вас есть numerictype от y и zf (при запросе). Потому что numerictype от zi должен совпадать с таковым у y и zf, вы теперь знаете numerictype для использования в начальных условиях.

Алгоритмы

свернуть все

The filter функция использует Прямую-Форму Транспонированную конечную импульсную характеристику реализации следующего разностного уравнения:

y(n)=b1*xn+b2*xn1+...+bL*xnN

где L - длина и N фильтра - порядок фильтра.

Следующая схема показывает структуру транспонированного конечная импульсная характеристика прямой формы, используемую filter функция:

Правила распространения fimath

The filter функция использует следующие правила в отношении fimath поведение:

  • globalfimath подчиняется.

  • Если какой-либо из входов имеет присоединенную fimath, затем используется для промежуточных вычислений.

  • Если больше чем один вход имеет присоединенный fimath, затем fimaths должно быть равным.

  • Выход, y, всегда сопоставляется со значением по умолчанию fimath.

  • Если вектор входа, zi, имеет присоединенный fimath, затем вектор выхода, zf, сохраняет эту fimath.

Расширенные возможности

.

См. также

|

Введенный в R2010a