Hello,
I would like some clarification regarding the corticomuscular coherence (CMC) computation performed in Brainstorm.
When comparing my results between MATLAB and Brainstorm, I notice that the frequency axis does not have the same step depending on the tool: a 1 Hz step in Brainstorm, versus a 2 Hz step in MATLAB. I would like to know whether this difference is purely a display/interpolation artifact, or whether it reflects an actual difference in how coherence is computed.
Here is the parameter set I used for my MATLAB analyses:
- Sampling frequency: 512 Hz
- Window length: 256 samples (i.e., 0.5 second)
- No overlap (overlap = 0): windows are independent
With these parameters, the theoretical frequency resolution is Fs/N = 512/256 = 2 Hz, which matches what I observe in MATLAB.
In Brainstorm, using what I understand to be the same windowing parameters (0.5 second, no overlap), I nonetheless obtain a 1 Hz step. I am wondering whether this comes from zero-padding applied internally by Brainstorm before the FFT computation, or whether another parameter in the pipeline explains this discrepancy.
Could you confirm whether my interpretation is correct, and if so, which parameter in process_cohere2 (or elsewhere) would allow me to verify or adjust this behavior?
I have attached screenshots of my MATLAB and Brainstorm results to illustrate the difference.
Thank you in advance for your help.
Best regards,
