我尝试将两个不同频率的正弦波相加,然后再使用一个butterworth滤波器将它们分开。我无法弄清楚要设置高低截止值的方法。这是我一直在玩的代码。
x = 0:.1:40*pi;
% Plot sine wave
subplot(3,1,1)
plot(x, sin(x));
ylim([-2 2])
wave = sin(x) + 2*cos(x/3);
% Plot mixed wave
subplot(3,1,2)
plot(x, wave);
[c d] = butter(5, [.02 .05]);
y2 = filtfilt(c, d, wave);
% Plot recovered wave
subplot(3,1,3)
plot(x, y2);
如果我只想获得正常的正弦波,那么频率不会是0.1 /(2 * pi)或~0.016?手动尝试截止值后,我发现0.02和0.05给了我想要的东西。但0.016超出了该范围。
我做错了什么?
答案 0 :(得分:0)
您的采样频率似乎为10Hz(x = 0:.1:40*pi;
,因此dt
为0.1s
)。因此0.02
截止对应于0.02*2*pi*10 = 1.25 rad/s
或0.2 Hz
。