data preprocessing

I extracted the EEG data (ex.EDF) with bandpass filter applied by some company program. And when I do read.raw through MNE, it is initialized from 0 to 100Hz, so do I need to apply raw.filter again?

What do you mean by “initialized from 0 to 100Hz”? Are you looking at raw.info["lowpass"] and raw.info["highpass"]? The bandpass filter information is likely not stored int the file exported by the program, so MNE has no way of knowing what the actual filter was. The default lowpass should be half the sampling frequency, so I’m assuming that the signal is sampled at 200Hz, right? If this is the case, the signal is still filtered and you don’t need to do anything.

That’s right, the sampling rate is 200 Hz. So if I do another filter, will it make a difference in the values? What if the raw data is filtered by 1-40, and use the filtering function again?

Yes, it will make a difference, because it will further suppress frequency content in the stop band. However, if the initial filter has a good stop band attenuation to begin with, then there is not much point in filtering a second time (since a filter generally also introduces undesired properties in the pass band like ripple). If the initial filter was too weak, then filtering a second time will improve the desired properties that you want to have (i.e., filtering out content outside of 1–40Hz).

3 Likes