[Eeglablist] Cleanline and Basic FIR filter
erichg2013 at gmail.com
Wed Sep 9 06:07:40 PDT 2015
Hi Andreas and Makoto,
Thank you very much for your responses! I've been trying to adapt the
function for windowed sinc FIR filter as you suggested with Kaiser as
window type (Widmann et al. 2015):
EEG = pop_firws(EEG, 'fcutoff', [1 70], 'ftype', 'bandpass', 'wtype',
'kaiser', 'warg', 5.65326, 'forder', 1812, 'minphase', 0);
However, I have some questions about the use:
1) Is this the best way to use a FIR filter?
2) Is there any way to estimate the "Kaiser window beta" ('warg') without
using the GUI?
3) Is there a way to estimate the filter order ('forder') without using the
On Wed, Sep 2, 2015 at 8:02 PM, Makoto Miyakoshi <mmiyakoshi at ucsd.edu>
> Dear Eric,
> > The only major difference is that you define passband edges in
> pop_eegfiltnew but half amplitude (-6 dB) cutoffs in the windowed sinc
> For details, see below.
> On Sun, Aug 30, 2015 at 11:20 AM, Andreas Widmann <widmann at uni-leipzig.de>
>> Hi Eric,
>> > I have some questions about both cleanline and the basic FIR filter:
>> > 1) Do you have any recommendation about which one should be used first?
>> At the moment I'm doing this (cleanline first and then bandpass filtering):
>> Highpass filtering should be done before cleanline. Cleanline expects
>> stationary data. See Nima’s recent paper for a more detailed explanation
>> (Bigdely-Shamlo N, Mullen T, Kothe C, Su K-M and Robbins KA (2015) The PREP
>> pipeline: standardized preprocessing for large-scale EEG analysis. Front.
>> Neuroinform. 9:16. doi: 10.3389/fninf.2015.0001). Consider the „temporary
>> highpass“-solution suggested there in applications not requiring a highpass
>> > [EEG, Sorig, Sclean, f, amps, freqs, g] = pop_cleanline(EEG,
>> 'Bandwidth',2,'ChanCompIndices',[1:EEG.nbchan], ...
>> 'SignalType','Channels','ComputeSpectralPower',true, ...
>> > 'LineFrequencies',[50 100]
>> ,'NormalizeSpectrum',false, ...
>> 'LineAlpha',0.01,'PaddingFactor',2,'PlotFigures',false, ...
>> 'ScanForLines',true,'SmoothingFactor',100,'VerboseOutput',1, ...
>> > EEG = pop_eegfiltnew(EEG, 1, 70, 1650, 0, , 1);
>> > 2) I'm doing the filtering before epoching the data (on continuous
>> data). Can that lead to any problem with the filtering?
>> Filtering should always be done on the continuous data!
>> > In cleanline: Both the 'SlidingWinLength' and 'SlidingWinStep' are the
>> length of the recording. However, the 'SmootingFactor is 100, which
>> shouldn't matter when the window length = EEG length.
>> > 3) Is there an easy way to figure out the filter order for
>> pop_eegfiltnew? The current 1650 is just what was decided through the GUI.
>> Use the windowed sinc FIR filter to manually adjust the filter order.
>> pop_eegfiltnew is just a front-end for the windowed sinc filter with
>> hardcoded hamming window and a default heuristic for filter order as
>> explained in the help text. The only major difference is that you define
>> passband edges in pop_eegfiltnew but half amplitude (-6 dB) cutoffs in the
>> windowed sinc filter.
>> Hope this helps! Best,
>> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
>> To unsubscribe, send an empty email to
>> eeglablist-unsubscribe at sccn.ucsd.edu
>> For digest mode, send an email with the subject "set digest mime" to
>> eeglablist-request at sccn.ucsd.edu
> Makoto Miyakoshi
> Swartz Center for Computational Neuroscience
> Institute for Neural Computation, University of California San Diego
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the eeglablist