Filtering EEG signals with bandpass filter
7 次查看(过去 30 天)
显示 更早的评论
my EEG signals is signal with time domain and the magnitude in Voltage. How i want to filter my EEG signals, so that I only have signals with frequency 3Hz-40Hz. My Fs is 128Hz. Anyone can help? I see this in bandpas filter, d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',1/4,3/8,5/8,6/8,60,1,60); But i dont know how i want to determine my Ast as it is in db.. should i convert my signal to db first?
0 个评论
采纳的回答
Wayne King
2013-12-17
编辑:Wayne King
2013-12-17
First of all, you should design your filter in Hz.
d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2',1,3,40,45,40,1,40,128);
The stopband attenuation setting should depend on the dynamic range of the signal. I doubt that in EEG data you need 60 dB of stopband attenuation.
Also, are you sure you need a bandpass filter? and not just a lowpass filter with a cutoff at 40 Hz? You're creating many more demands on your filter to try and have a stopband from [0 3) Hz.
How about just
d = fdesign.lowpass('Fp,Fst,Ap,Ast',40,45,1,40,128);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 EEG/MEG/ECoG 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!