No difference in raw data plot and filtered ones

Hi all,

We are facing problems when it comes to plot our data:
we don’t see any difference when we plot raw data and filtered data… See the code below:

eeg.load_data()

# filter the data between 0.1 to 55 Hz
eeg_filtered = eeg.copy().filter(l_freq=0.1, h_freq = 55)
#plot raw data
eeg.plot(n_channels=30, duration=30)
#plot filtered data
eeg_filtered.plot(n_channels=30, duration=30)

But there is a big difference when we plot the notched data, see the code below :

# notch filter the data for freq =60
eeg_notch = eeg.copy().notch_filter(freqs=60)
#plot notched data
eeg_notch.plot(n_channels=30, duration=30)

Is there a mistake in the code (and it would explain why there is no difference between the raw and the filtered data) or does it just mean that the data already contains frequencies between 0.1 to 55 Hz so the filter (which remove frequencies out of 0.1 to 55 Hz) is useless ?

Let us know if you need any pictures of the plots,

Thanks a lot in advance !!

Without knowing the original signal it is hard to guess why you don’t see a big difference. As you mentioned, the original signal might already be filtered (EEG amplifiers often have hardware filters). In addition, if your goal is to suppress 60Hz line noise, the edge frequency of 55Hz might be too close to yield meaningful attenuation. The discussion in band pass filter and notch filter for an upper frequency do not give the same result might also be relevant.