[FieldTrip] spectral resolution & interpretation of power estimates

Helene Gudi helene.gudi at uni-hamburg.de
Tue Nov 25 13:15:46 CET 2014

Dear FieldTrip List,

Since  a while I am struggeling with a question regarding the spectral 
resolution and its consequences for interpreting the power vaules. I 
would appreciate any comments or hints which help me understand the issue.

As described in the tutorial on TFR analysis when using the Morlet 
wavelets the spectral bandwidth at a given frequency is determined by 
the formula: F/width*2, meaning that when I define cfg.width=7 and look 
into the estimated power values of e.g. 8Hz, what I get is the power 
values not for 8 Hz but for a spectral band of 8Hz+/- (8/7*2)/2.
Am I correct?
If yes, is this also true when estimating the power values using a 
Hanning window? As described in the tutorial when using the Hanning 
taper the frequency resolution is defined by: 1/length of the sliding 
window. Let's say my sliding window = .5s, resulting in a frequency 
resolution of 2 Hz. Now, if i look into the power estimate for 10 Hz, do 
I get the spectral band of 2Hz at a given frequency eg. 9-11Hz, for 10Hz 

My next question refers to the 'cfg.pad' parameter, in the help it says: 
"the padding determines the spectral resolution". I unfortunately could 
not find any further explanations. What exactly does it mean? How do I 
compute the exact frequency resolution once cfg.pad has been used? Is it 
Does the padding allow to estimate power values for frequencies other 
than given by '1/length of time window'-resolution? As in the code below 
power estimates are calculated in 1Hz steps. Do the power estimates at 
3Hz,4Hz etc. make sense at all, given the frequency resolution of 2.5Hz 
(as defined by 1/cfg.t_ftimwin)? What spectral band is actually included 
in the single 1Hz bins? Is it a problem if the frequency resolution ist 
not an integer?

                 cfg = [];
                 cfg.output = 'pow';
                 cfg.channel = 'all';
                 cfg.keeptapers  = 'no';
                 cfg.pad = 7;
                 cfg.method = 'mtmconvol';
                 cfg.toi = -1.75:0.05:1.75;
                 cfg.taper = 'hanning';
                 cfg.keeptrials  = 'yes';
                 cfg.foi = 3:35;
                 cfg.t_ftimwin = ones(length(cfg.foi),1) .* 0.4;
                 ft_freqanalysis(cfg, data);

I would be very thankful for any help!

More information about the fieldtrip mailing list