The power data scale from time-frequency representation (tfr) is different from power spectral density (PSD)

Dear MNE users,

When I managed my EEG data, the results of mne.time_frequency.tfr_morlet (or the other two methods) were an array of power around 1e-7. When being plotted with dB = ‘True’, a good graph was got only when the scale of color is around -150 to -200. However, when I did the psd analysis, the power is around 0-40. What made the differences? Besides, I also did time-frequency analysis with eeglab on matlab, the color scale of dB is around -40 to 40. I cannot understand the differences. Who can explain it, thanks.

Below is the tfr done with matlab(eeglab).

I would trust the plot_psd results in terms of units.

the power plot are typically combined with some base correction to the unit
is less carefully controlled.


So would you say we’re seeing a bug here?

not necessarily a bug as we don’t show units in the power.

I never checked if the windows are scaled etc.


1 Like

Which one could consider “bad style” :slight_smile:

Maybe I have found the reason. The psd_plot function gets results with the unit of ‘μV^2/Hz’, while other function like ‘tfr_morlet’, ‘tfr_multitapers’ get results with the unit of ‘V^2/Hz’. I don’t know why to make such a weird setting. Whatever, when the power array multiplied with 1e12, the scale seemed identical with that made by eeglab.

1 Like

ok great

thanks for investigating