filter这个函数是啥意思 在MZTLAB

如题所述

第1个回答  推荐于2017-12-16
有相关回答了,
filter是一维数字滤波器

使用方法:
Y = filter(B,A,X) ,输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子, A为分母
整个滤波过程是通过下面差分方程实现的:
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)

[Y,Zf] = filter(B,A,X,Zi),输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子, A为分母,

《Simulink与信号处理》
并输入Zi指定X的初始状态,Zf为最终状态矢量 《Simulink与信号处理》
filter(B,A,X,[],DIM) 或 filter(B,A,X,Zi,DIM)指定X的维数DIM进行操作

举例
k=-100:100;
>> uk=[zeros(1,100),ones(1,101)];
>> a=[1 -5 6];
>> b=[2 -1];
>> x=uk;
>> y=filter(b,a,x)

或者在matlab中输入,
help 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).

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.

See also filter2 and, in the signal Processing Toolbox, filtfilt, filtic.

Overloaded methods:
timeseries/filter
gf/filter
channel.filter
LagOp/filter
mfilt.filter
adaptfilt.filter
fints/filter
fxptui.filter
sweepsetfilter/filter
sweepset/filter
dfilt.filter

Reference page in Help browser
doc filter

参考资料:http://zhidao.baidu.com/question/352923335.html

本回答被提问者采纳
相似回答