Simply EEGLAB

High-pass & low-pass filtering

Station 3 · Lesson 2 · EEGLAB 2026.1

In the GUI

  1. ToolsFilter the dataBasic FIR filter (new, default)
  2. Lower edge of the frequency pass band (Hz) 0.1
  3. Higher edge of the frequency pass band (Hz)
  4. FIR Filter order (Mandatory even. Default is automatic*)
  5. Plot frequency responseOK
  6. Name it: D1 hp0.1
  7. Overwrite it in memory (set=yes; unset=create a new dataset)OK
  8. FileSave current dataset as D1_hp0.1.set
  9. ToolsFilter the dataBasic FIR filter (new, default)
  10. Lower edge of the frequency pass band (Hz)
  11. Higher edge of the frequency pass band (Hz) 30
  12. OK D1 hp0.1 lp30

Script

EEG = pop_eegfiltnew(EEG, 'locutoff', 0.1);
EEG.setname = 'D1 hp0.1';
EEG = eeg_checkset(EEG);
EEG = pop_saveset(EEG, 'filename', 'D1_hp0.1.set', 'filepath', pwd);   % path copy: the next lesson starts here
EEG_lp = pop_eegfiltnew(EEG, 'hicutoff', 30);   % exercise only: do not save
EEG_lp.setname = 'D1 hp0.1 lp30';

Which value should I choose?

Your goalHigh-passLow-pass
ERP analysis0.1 Hz30 Hz
Computing ICA1 Hz, sometimes 2Usually not needed
Spectral analysis0.5 to 1 HzNot below the highest frequency you study

Check

  • Read what EEGLAB printed in the command window
  • Compare the spectrum
  • Look at the signal itself

For your Methods

Data were high-pass filtered using a zero-phase Hamming-windowed sinc FIR filter (passband edge 0.1 Hz, cutoff frequency [0.05] Hz at −6 dB, transition bandwidth [0.1] Hz, filter length [4225] points; pop_eegfiltnew, firfilt plugin 2.8, EEGLAB 2026.1; Widmann et al., 2015).

Full lesson: https://simplyeeglab.pages.dev/en/lesson/filtering/

Content license: CC BY-NC-SA 4.0 · MIT (code)

An independent learning site, not affiliated with EEGLAB or SCCN.