[FieldTrip] Band Limited Power Analysis in Fieldtrip?

Ian M. Andolina i.andolina at ucl.ac.uk
Tue Feb 25 11:25:02 CET 2014

Hi, I wanted to use Fieldtrip to recreate the methodology used in a 
paper by Leopold et al., 2003 
<http://dx.doi.org/10.1093/cercor/13.4.422> — the relevant methods 
section is the following:

/“The LFP signals were resampled to 1 kHz, and then band-pass filtered 
into seven frequency ranges using a second order, bi-directional, 
zero-phase Chebyshev type-1 filter. The frequency ranges, as well as 
their rough mapping onto classically defined electroencephalographic 
conventions, were the following: δ (1–4 Hz), θ (5–8 Hz), α (9–14 Hz), β 
(15–30 Hz), γL (30–50 Hz), γH (50–100 Hz), and γVH (100–150 Hz). The 
resulting band-limited signals were full-wave rectified by taking their 
absolute value. They were then resampled to 20 Hz after low-pass 
filtering with an eighth order Chebyshev type-1 filter (cutoff = 8 Hz).”/

My LFP data is sampled at 1kHz, and I manually pad with data either side 
of the event triggered region of interest. Fieldtrip doesn’t have a 
|chebyshev type-1| filter, but would a second order two-pass (aka zero 
phase?) butterworth be good enough considering the frequency bands used? 
I’m using the following cfg passed to |ft_preprocessing| for the initial 
bandpass filtering and rectification:

|freq ={[1  4], [5  8], [9  14], [15  30], [30  50], [50  100], [100  150]};
for  j  =1:length(freq)
  cfg                        =[];
  cfg.padding                =0;
  cfg.bpfilter            ='yes';
  cfg.bpfilttype            ='but';
  cfg.bpfreq                = freq{j};
  cfg.bpfiltdir            ='twopass';
  cfg.bpfiltord            =2;
  cfg.bpinstabilityfix    ='reduce';
  cfg.rectify                ='yes';
  bp{j}  = ft_preprocessing(cfg,ft);

As far as I can see in |ft_preprocessing| rectification occurs after 
filtering, so this is as specified by Leopold /et al.,/

Then for downsampling/resampling:

|cfg                        =[];
cfg.padding                =0;
cfg.lpfilter            ='yes';
cfg.lpfreq                =8;
cfg.lpfilttype            ='but';
cfg.lpfiltdir            ='twopass';
cfg.lpfiltord            =8;
cfg.lpinstabilityfix    ='reduce';
bp{j}  = ft_preprocessing(cfg,bp{j});
cfg                        =[];
cfg.resample            ='yes';
cfg.resamplefs            =20;
cfg.detrend                ='no';
bp{j}  = ft_resampledata(cfg,bp{j});

Does this seem a correct translation of this method in Fieldtrip? Are 
there any caveats other than the filter differences?

Thanks, Ian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20140225/a73da687/attachment-0001.html>

More information about the fieldtrip mailing list