Matlab里面的filter函数的实现说明
%FILTER One-dimensional digital filter.
% Y = FILTER(B,A,X) filters the data in vector X with the
% filter described by vectors A and B to create the filtered
% data Y. The filter is a "Direct Form II Transposed"
% implementation of the standard difference equation:
%
% a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)
% - a(2)*y(n-1) - ... - a(na+1)*y(n-na)
%
% If a(1) is not equal to 1, FILTER normalizes the filter
% coefficients by a(1).
MATLAB里面运行的表达式:y = filter(b,1,x);
C语言实现的差分方程:
y[0] = b[0]*x[0];
y[1] = b[0]*x[1] + b[1]*x[0] - y[0];
y[2] = b[0]*x[2] + b[1]*x[1] + b[2]*x[0] - y[0] - y[1];
y[3] = b[0]*x[3] + b[1]*x[2] + b[2]*x[1] + b