[Eeglablist] 0.01 Hz highpass filter isn't running

Andreas Widmann widmann at uni-leipzig.de
Thu Feb 8 01:54:16 PST 2024


Dear all,

> After doing some research and reading the manuals online, I’ve seen a
> recommendation that for FIR filters a lower limit of about 0.1 is
> recommendable and limits lower than that are not.
Where did you read that?

> I’ve additionally learned
> that the lower and higher limits used in this function do not directly
> correspond to the “cut-off” (e.g using 0.05, the “cut-off frequency” is set
> to 0.025). All of these led me to have some questions:
This is a peculiarity of the pop_eegfiltnew() function, explicitly requested by the EEGLAB maintainers for backward compatibility with the legacy EEGLAB filter functions. In the other functions of the firfilt-plugin, as well as in most other software packages, the cutoff frequency must be specified.

> 1) Is there any way to still run 0.01 highpass filter with pop_eegfiltnew()
> and if so how?
The perfect answer has already been given by Cedric (thank you!): downsample if possible, use the usefftfilt option in pop_eegfiltnew (or pop_firws), more CPU power or cores usually helps as well.

> 2) If I chose to run a 0.05 Hz highpass filter instead, would it be
> appropriate to still set the lower limit as 0.05 but also report the
> outcome of the function when writing the paper (i.e. transition band width:
> 0.05 Hz / passband edge(s): 0.05 Hz / cutoff frequency(ies) (-6 dB): 0.025
> Hz / filtering the data; zero-phase, non-causal)?
Perfect description. I would recommend also reporting filter order or length (order + 1).

> 3) On an unrelated note: the filters are run very slow, even the 0.05Hz.
> Does anyone else maybe have the same issue and if so how are you dealing
> with it? I updated MATLAB, EEGLAB, even my operating system to the latest
> version + freed up my storge but nothing has changed.
Have you tried the usefftfilt option? On modern CPUs, this should speed up long filters significantly.

> Am 07.02.2024 um 22:18 schrieb Lena Marreel via eeglablist <eeglablist at sccn.ucsd.edu>:
> Some practical points I found out, EEGlab FIR filters (the new default)
> don't offer a filter order high enough to be able to handle those low
> frequency cut offs.
This is incorrect. There is no limit to filter order other than practical limitations of memory, CPU, and MATLAB. We regularly use 0.01 and 0.05 Hz cutoffs, e.g. for CNV or readiness potential analysis.

> Am 08.02.2024 um 00:58 schrieb Arnaud Delorme via eeglablist <eeglablist at sccn.ucsd.edu>:
> The default EEGLAB filtering function cannot design a filter below 0.1 Hz.
This is incorrect. Where did you read that?

Hope this helps! Best,
Andreas


More information about the eeglablist mailing list