www.gusucode.com > datafun 工具箱matlab源码程序 > datafun/filter.m

    %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). 
%
%   FILTER always operates along the first non-singleton dimension,
%   namely dimension 1 for column vectors and non-trivial matrices,
%   and dimension 2 for row vectors.
%
%   [Y,Zf] = FILTER(B,A,X,Zi) gives access to initial and final
%   conditions, Zi and Zf, of the delays.  Zi is a vector of length
%   MAX(LENGTH(A),LENGTH(B))-1, or an array with the leading dimension 
%   of size MAX(LENGTH(A),LENGTH(B))-1 and with remaining dimensions 
%   matching those of X.
%
%   FILTER(B,A,X,[],DIM) or FILTER(B,A,X,Zi,DIM) operates along the
%   dimension DIM.
%
%   Tip:  If you have the Signal Processing Toolbox, you can design a
%   filter, D, using DESIGNFILT.  Then you can use Y = FILTER(D,X) to
%   filter your data.
%
%   See also FILTER2, FILTFILT, FILTIC, DESIGNFILT.
%
%   Note: FILTFILT, FILTIC and DESIGNFILT are in the Signal Processing
%   Toolbox.

%   Copyright 1984-2013 The MathWorks, Inc.

%   Built-in function.