5 views (last 30 days)
Neda Deljavan
Neda Deljavan on 2 Oct 2022
Commented: Walter Roberson on 10 Oct 2022
%% Magnitude-Squared Coherence
% Linear correlation between power espectrum in a frequency f .
% It is sensitive to both phase and amplitude.
% We take the average over the segments of the FFT.
% We take two signals of subject one and visualize its coherence.
% When computing coherence in alpha band, we will average
% the coherence points in the limits of such band (Here, they are red dots)
% and that mean value is called as the coherence for two signals in alpha band.
[coh, f] = mscohere(sig1(:,1), sig1(:,2), hanning(200), 25, 200, EEG.srate);
plot(f,coh, '-')
plot(f(f>=EEG.freqwin(3) & f<=EEG.freqwin(4)), coh(f>=EEG.freqwin(3) & f<=EEG.freqwin(4)), 'ro')
plot([EEG.freqwin(3) EEG.freqwin(3)], [min(coh) 1], '--k')
plot([EEG.freqwin(4) EEG.freqwin(4)], [min(coh) 1], '--k')
legend('Coherence', '\alpha Coherence')
xlabel('Frequency (Hz)')
text(10,0.98, '\alpha', 'FontSize', 20)
set(gcf, 'units','normalized','outerposition',[0 0 1 1]) %EXPANDING FIGURE ON SCREEN
I've got this error:
Unable to resolve the name EEG.srate.
Error in subject_08_ch1_EC1Ac (line 345)
[coh, f] = mscohere(sig1(:,1), sig1(:,2), hanning(200), 25, 200, EEG.srate);
What should I do?
Thanks in advance for any help.
Walter Roberson
Walter Roberson on 10 Oct 2022
EEG.srate = -123456.789;
EEG.freqwin = flintmax() ;
except that you would put in meaningful values for your purposes.

Sign in to comment.

Answers (0)


Find more on EEG/MEG/ECoG in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!