<div dir="ltr">Dear Irene,<div><br></div><div>EEGLAB uses pwelch() function, not fft(). This is why they did not match.</div><div>If you want to see if Matlab pwelch() and spectopo() results match, try the code below.</div>

<div><br></div><div>Makoto</div><div><br></div><div>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</div><div><div>% EEGLAB spectopo function</div><div>[spectra,freqs] = spectopo(EEG.data(2,:), 0, EEG.srate, 'nfft', 1024); % For channel 2 (C4)</div>

<div><br></div><div>thetaIdx   = find(freqs>=4 & freqs<=8);                    % theta=4-8</div><div>thetaPower = 10^(mean(spectra(thetaIdx))/10);              % mean theta power</div><div>alphaIdx   = find(freqs>=8 & freqs<=12);                   % alpha=8-12</div>

<div>alphaPower = 10^(mean(spectra(alphaIdx))/10);              % mean alpha power</div><div>eeglabThetaAlphaRatio = thetaPower/alphaPower;</div><div><br></div><div>figure; subplot(1,2,1); plot(freqs,10.^(spectra/10))</div>

<div><br></div><div>% Matlab pwelch function</div><div>x  = EEG.data(2, :);      % For channel 2 (C4)</div><div>Fs = EEG.srate;              % Sampling frequency</div><div>L  = EEG.pnts;               % Length of signal</div>

<div>NFFT = 2^nextpow2(L);        % Next power of 2 from length of x</div><div>% X    = fft(x,NFFT)/L;</div><div>% freqs   = Fs/2*linspace(0,1,NFFT/2+1);</div><div>% spectra = abs(X(1:NFFT/2+1));</div><div><br></div><div>

NOVERLAP = 0;</div><div>WINDOW = 512;</div><div>[spectra,freqs] = pwelch(x,WINDOW,NOVERLAP,NFFT,EEG.srate);</div><div><br></div><div>thetaIdx   = find(freqs>=4 & freqs<=8);            % theta=4-8</div><div>thetaPower = mean(spectra(thetaIdx));              % mean theta power</div>

<div>alphaIdx   = find(freqs>=8 & freqs<=12);           % alpha=8-12</div><div>alphaPower = mean(spectra(alphaIdx));              % mean alpha power</div><div>matlabThetaAlphaRatio = thetaPower/alphaPower;</div>

<div><br></div><div>subplot(1,2,2); plot(freqs,spectra)</div></div><div>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-08 6:31 GMT-07:00 Trilla Gros, Irene (Stud. FPN) <span dir="ltr"><<a href="mailto:i.trilla@student.maastrichtuniversity.nl" target="_blank">i.trilla@student.maastrichtuniversity.nl</a>></span>:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear all,<br>
<br>
I am trying to calculate an index of mu suppression by doing the log ratio between alpha-band power in one condition (e.g. S5) and alpha-band power in baseline (e.g. B5): log(powerS5/powerS6).<br>
<br>
To do that, I first extracted the mean absolute power of the alpha range (8-12 Hz) for condition (S5) and for baseline (B5) using spectopo in EEGLAB:<br>
<br>
    [spectra,freqs] = spectopo(EEG.data(2,:,:), 0, EEG.srate);             % For channel 2 (C4)<br>
    AlphaIdx = find(freqs>=8 & freqs<=12);                                         % alpha=8-12<br>
    AlphaPower = 10^(mean(spectra(AlphaIdx))/10);                            % mean power<br>
<br>
Additionally, I did the same analysis but using directly the FFT function in MATLAB instead:<br>
<br>
    x = EEG.data(2, :, :);       % For channel 2 (C4)<br>
    Fs = EEG.srate;                 % Sampling frequency<br>
    L = EEG.pnts;                     % Length of signal<br>
    NFFT = 2^nextpow2(L);    % Next power of 2 from length of x<br>
<br>
    X = fft(x,NFFT)/L;<br>
    f = Fs/2*linspace(0,1,NFFT/2+1);<br>
    power = abs(X(1:NFFT/2+1));<br>
<br>
    AlphaIdx = find(f>=8 & f<=12);<br>
    AlphaPower = mean(power(AlphaIdx));<br>
<br>
When I compute the ratio (power condition/power baseline) the results are very different depending on whether I use the absolute power calculated with spectopo or whether I use the power from the fft function. Even if the magnitudes computed with spectopo and fft differ, shouldn’t the ratio between the condition and baseline be the same? Aren't these two functions comparable when extracting frequency power?<br>


<br>
Thanks in advance for your answers!<br>
<br>
<br>
Irene<br>
<br>
_______________________________________________<br>
Eeglablist page: <a href="http://sccn.ucsd.edu/eeglab/eeglabmail.html" target="_blank">http://sccn.ucsd.edu/eeglab/eeglabmail.html</a><br>
To unsubscribe, send an empty email to <a href="mailto:eeglablist-unsubscribe@sccn.ucsd.edu">eeglablist-unsubscribe@sccn.ucsd.edu</a><br>
For digest mode, send an email with the subject "set digest mime" to <a href="mailto:eeglablist-request@sccn.ucsd.edu">eeglablist-request@sccn.ucsd.edu</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Makoto Miyakoshi<br>Swartz Center for Computational Neuroscience<br>Institute for Neural Computation, University of California San Diego<br></div>


</div>