我使用这样的过滤器,我不知道它是否是正确的方法。 如果最后一行中的过滤器功能被 filtfilt 替换,那么我的外边缘会有一些零。并且filtfilt的输出 zerophase ? 基于它的输出,我认为是,而滤波器功能的输出则不是。
function [grpdly,out] = myflt(fs,f2,f1,order,data)
Fs = fs; % Sampling Frequency
N = order; % Order
Fc1 = 1/f1;% % First Cutoff Frequency
Fc2 = 1/f2; % Second Cutoff Frequency
flag = 'scale'; % Sampling Flag
% Create the window vector for the design algorithm.
win = hamming(N+1);
% Calculate the coefficients using the FIR1 function.
[b,a] = fir1(N, [Fc1 Fc2]/(Fs/2), 'bandpass', win, flag);
% Hd = dfilt.dffir(b);
out=filtfilt(b,a,data);
grpdly = grpdelay(b,a);
s=mysignal;
[gd,out] = myflt(1,30,60,100,s);
我这样使用它,out没有在两个边缘填充零,而gd是100.有什么问题吗?