我是信号处理的新手,但我试图了解巴特沃斯滤波器的工作原理。为此,我做了以下事情:我假设采样频率为 100Hz,并希望在奈奎斯特频率的一半之后衰减所有内容。我使用的代码如下
[b,a] = butter(2,0.5);
fs = 100; %Sampling frequency
t = 0:1/fs:1-1/fs;
y=0.123*sin(2*pi*20*t+0.234)+0.123*sin(2*pi*10*t); %Pair of sine curves
plot(abs(fft(y))) %This behaves as expected, with two peaks at 10 and 20
dataOut = filter(b, a, y);
figure,
plot(abs(fft(dataOut)))
我希望第二个图与第一个图相同,因为无论如何都没有高于巴特沃斯滤波器截止频率的频率。但是,对于低于 25Hz 的所有分量,信号都会人为地膨胀(少量),然后变为零。请参阅下面的原始信号和滤波后的信号。
这是正常行为吗?如果是这样,它实际上是在我的通带中增加了噪音,不是吗?此外,如果我使用更高阶的巴特沃斯滤波器,这种效果会更糟。