任何一个数字滤波器都有幅频特性和相频特性,如果对于滤波不要求实时性,我们可以设计一种滤波器,使得它的相频特性始终为0,这种数字滤波器就称为零相移数字滤波器。
在Matlab中,零相移滤波器对应的函数名称为filtfilt,其帮助中提供的信息如下,翻译一下:
FILTFILT Zero-phase forward and reverse digital filtering.
Y =
FILTFILT(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 described by the difference
equation:
FILTFILT 零相移前向后向数字滤波器
Y = FILTFILT(B, A,
X)通过向量A,B描述的旅欧不起对数据向量X滤波得到滤波后的数据Y。滤波器可以通过差分方程描述如下:
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)
After filtering in the forward direction, the filtered sequence
is then reversed and run back through the filter; Y is the time
reverse of the output of the second filtering op