simple fft filtering vs e.g. butterworth filtering
24 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am currently working on functional connectivity analysis of EEG, and need to bandpass filter my data into different frequency bands (Delta, Theta, Alpha and Beta). An important thing is that the filter doesn't cause phase distortion. I know a butterworth filter and processing the data in both the forward and reverse directions (e.g. with filtfilt in Matlab) is a good approach, however I was still wondering about the simple FFT/IFFT filtering approach. What are the exact disadvantages of this method? Does this method cause phase distortions? What are 'edge effects' that occur with this method?
0 Kommentare
Antworten (1)
Star Strider
am 20 Mai 2014
Filters with sharp cutoffs (for instance using the FFT/IFFT approach) can create undesirable ringing ( Gibbs phenomenon ). This is especially problematic for EEG and other low-frequency signals. (The method used by fftfilt has the disadvantage of being slow for long data sequences. I’ve not used it, so I can’t comment on it.)
I suggest the Butterworth for an initial approach, using the tf2sos transformation to avoid filter instability for narrow passbands. Butterworth filters have the advantage of more gradual cutoffs, therefore lower distortion, especially with filtfilt. If it gives good results in your application, stop there. If it doesn’t, you might want to experiment with filters with sharper cutoffs. I suggest first the Chebyshev, and that still doesn’t give you the result you want, then elliptic implementations. They have their own optimal implementation characteristics, well described in the MATLAB documentation. Use the freqz function to analyse your filter designs. It’s quite useful.
You will have to adjust the passbands with a low frequency cutoff high enough to eliminate baseline drift and low enough to not eliminate valid low-frequency EEG data. Notably, absence episodes are characterised by 3 Hz spike-and-wave complexes, so the low frequency cutoffs have to be able to include such information if you’re studying them.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Filter Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!