如果我把截止值设为0.25*fs/2,一切看起来都很好。但这是否意味着频率含量略高于0.25*fs/2(例如0.4*fs/2)的信号不能线性解释(或者,如何实现这一点?).
等等,我是不是把旧的和新的混为一谈了?如果fs=fs_new=40Hz,我就能理解发生了什么。如果我将截止值设置为0.25*fs_new/2,其中fs_new=40Hz,那么这就是10Hz(原始采样率)的上限截止频率。所以,fircls1中的Wn(95,Wn,0.01,0.0001)必须是<=0.25。听起来对吗?
谢谢你的评论。
% create input
told = (0:1:299)/10; % time index for plotting xold
tnew = (0:1:1199)/40; % time index for plotting xnew
xold = sin(2*pi*0.1*told + 1); % fc=0.1Hz (Pc=10 sec); samplerate = fs = 10Hz
% create filter
num = fircls1(95, 0.7, 0.01, 0.0001); % set filter cutoff to 0.7*(fs/2)=3.5Hz
Hm = mfilt.firinterp(4,num);
% apply filter
xnew = 4*filter(Hm, xold);
% plot results
plot(told, xold, 'bo', tnew, xnew, 'r+');
title('Input (blue) and filtered input (red) versus time index');