# [FieldTrip] Question about frequency analysis

Schoffelen, J.M. (Jan Mathijs) jan.schoffelen at donders.ru.nl
Thu Apr 29 09:37:40 CEST 2021

```Hi Chris,

I notice that you only have a single trial in your data. In Fieldtrip, the unit-of-observation that goes into the coherence computation is the so-called ‘rpttap’ dimension, which is the number of trials times the number of tapers applied. If this number is 1, then the coherence will be 1, by mathematical definition.

When the trial length is 0.7 seconds, the specification of tapsmofrq leads to 6 Slepian tapers to be applied (i.e. 2*0.7*5-1), thus to a rpttap of 6 times the number of trials. This brings down the coherence values (but will no doubt still lead to quite biased estimates, because your input just contains a single trial). With only a 0.2 s window selected, the number of tapers will be 1: (2*0.2*5-1), and thus coherence will indeed trivially go to 1 all over the place. I don’t know what happens in the 0.5 s case, though, provided your reported all-ones in this case are indeed observed in this situation as well.

Long story short, you should increase the number of trials in your computation, or ramp up the smoothing parameter (the latter makes you lose spectral resolution, so probably that’s undesired).

Best wishes,
Jan-Mathijs

On 29 Apr 2021, at 09:24, Christodoylos Karittevlis <christodoylos_k at hotmail.com<mailto:christodoylos_k at hotmail.com>> wrote:

Dear Fieldtrip Community,

I am using the function ft_freqanalysis to calculate power spectrum and cross spectrum and after that I calculate the Magnitude Squared Coherence.
The trials are defined to start from -0.200s up to +0.500s .
When I use the function ft_freqanalysis on the whole trial it works fine , Coherence gives values from 0 to 1.
But when I try to use it only for the prestimulus period (e.g -0.2s – 0s ) or only to the poststimulus period (e.g 0 : 0.5s) , I think it does not work correctly because the Magnitude Squared Coherence is equal to 1 for all the pairs of channels .

Do you know if I can calculate the power spectrum and cross spectrum only for prestimulus period or only to the poststimulus period ?

This is the script that I am using :

cfg            = [];
cfg.output     = 'powandcsd';
cfg.method     = 'mtmfft';
cfg.foilim     = [5 100];
cfg.tapsmofrq  = 5;
cfg.keeptrials = 'yes';
cfg.trials     = [1] ;
freq          = ft_freqanalysis(cfg, data );

data have the structured as the output of ft_preprocessing.
When I want to select only the prestimulus or post stimulus period I am using :
cfg = [];
cfg.latency = [-0.2 0] ;
data_pre = ft_selectdata(cfg,data) ;

% select only the post stimulus period 0:0.2
cfg = [] ;
cfg.latency = [0 0.5];
data_post = ft_selectdata(cfg,data) ;

Kind regards,
Chris