OpenBCI: Why are 1–50Hz bandpass and 60Hz notch filters both applied by default?

Tags: #<Tag:0x00007fe161c47648>


Hello there,

I’m puzzled by the fact that the OpenBCI Processing app has both a 1–50Hz bandpass and a 60Hz bandstop filter applied by default.

I know that the 1–50Hz is to remove the DC offset, and the 60Hz (or optional 50Hz) notch is to remove interference from mains power. But 60Hz is already cut off by the bandpass, so it shouldn’t make any difference. And if they have the 60Hz notch, why not open up the bandpass to, say, 1–100Hz, and let Gamma activity get through? And if it’s already bandpassed, why the “max frequency” button. What’s that about?

I thought it was just a design redundancy, but when I run data into BrainBay, I found that if I just had the bandpass there was wild interference, which was removed by a 59–60Hz notch following it!

Can anyone explain what I’ve overlooked here?



This is a great question. I’ve actually wondered the same thing for a long time. Chip Audette (of wrote the filtering code for the Processing GUI. I’ll direct him to this thread to see if we can get some clarification.

My guess has always been that the effects of the filtering are weighted (it’s not all or nothing), and that the notch filter has a heavy influence, whereas the BP filters are not weighted as heavily. But this inference could be incorrect.

  • Conor


Hi All,

Chip Audette here. I did write the GUI and default filtering. The reason for the 1-50 is indeed to block DC as you said. It’s also there to gently roll off the higher frequencies because, to me, most of the interesting action is 50 Hz and below. You/we could probably open it up without too much effect on the display.

Be aware that this bandpass filter is not very steep. It is not so perfect that it lets through 49 Hz but completely cuts 51 Hz. The filter is not perfect like that. Instead, it rolls-off much more gently with frequency.

IIRC, the bandpass filter is a 4th order IIR butterworth filter. You can think of it as a 2nd order high-pass filter (with cutoff at 1Hz) combined with a 2nd order low-pass filter (with a cutoff at 50 Hz). A 2nd order filter is not very steep. For example, it will only attenuate 60 Hz by 5 dB…which is hardly enough if you’ve got a lot of 60 Hz interference. That’s why I also included the 60 Hz notch filter.

As for the “max frequency” button, that simply sets that maximum frequency that is displayed on the FFT plot at the bottom of the screen. It does not affect how the signal is filtered.

Finally, you should also be aware that the data written to the data file is not filtered in any way. It is the raw EEG data. So, if you don’t like the filtering that you happened to be applying while recording, it doesn’t matter – you can re-process it however you’d like upon playback or upon post-processing.



Aha … that makes sense. Thanks for your replies, you have cleared up the confusion in my mind :grinning:


I have two questions regarding using notch filter in electroencephalography recordings:

  1. I understand that notch filter can be set while data acquisition or post acquisition and during data processing.
    My question is, if data was gathered with notch filter applied on one range, i.e. 45-55Hz, can I change it and use another notch filter when processing the data, like 45-55Hz and 95-105Hz together?

  2. Is there any benefit from applying a notch filter in a wide range when using bandpass in the following range 0.3-30Hz?

May anyone help answering the questions?
Any suggestions on references- books or papers on the subject “for beginners:)”?