我試圖從採樣率爲500Hz的10分鐘長的EEG信號中過濾θ範圍(3-8Hz)。這是我的代碼。請幫助我瞭解什麼是錯的。目前,過濾的信號似乎已被破壞。非常感謝!matlab實驗中的EEG帶通濾波器
fs=500;
Wp = [3 8]/(fs/2); Ws = [2.5 8.5]/(fs/2);
Rp = 3; Rs = 40;
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
[b,a] = butter(n,Wn,'bandpass');
fdata = filter(b,a,data);
x=0:ts:((length(data)/fs)-ts);
f=-fs/2:fs/(length(data)-1):fs/2;
subplot(2,2,1)
plot(x,data)
subplot(2,2,2)
z1=abs(fftshift(fft(data)));
plot(f,z1)
xlim([0 150]);
subplot(2,2,3)
plot(x,fdata)
subplot(2,2,4)
z=abs(fftshift(fft(fdata)));
plot(f,z);
xlim([0 150]);
張貼圖片,或來樣的數據,以便我們能夠重現鏈接你的問題 –