[Eeglablist] Spectopo Function Negative Power Values

Tarik S Bel-Bahar tarikbelbahar at gmail.com
Wed Nov 15 11:25:38 PST 2017


Hello, This is a brief followup about your question regarding negative
values in spectopo. In brief, the reason why the values are negative in
spectopo results is because eeglab developers made it so that the values
are transformed to dB, which leads to some negative values. You can find
out more about dB computation by examining various resources on computing
spectra for EEG.
As always, you can google for more information by searching for something
like the following:  eeglablist spectopo db

See also the books and resources that I have suggested previously. Good
luck with your adventures in learning more about basic spectral computation!

The link below shows an image for the same spectopo result image  with
spectopo code running normally (where some values are negative), and with
dB computation turned off in the code (where the values are all positive)

The image on the left is the normal image with spectopo running normally.

The image on the right is without negative values, with the following line
in the spectopo function.

eegspecdB = 10*log10(eegspecdB);

changed to        eegspecdB = eegspecdB;


Note that the spectopo function is called by pop_spectopo, and the
documentation on each is easily reviewed by looking into both functions, as
you would with any other function in matlab. The change described above was
done by entering the function itself, finding the place where the values
are transformed to dB, and essentially "turning off" that computation, as
per the code change detailed above. Note that you should be saavy with
matlab coding, and with spectral computation, in order to make such changes
safely and in a principled manner.

ps. some specific hints about this came from the google groups page for
Mike X. Cohen's Time-Frequency book, found via the suggested google search
listed above.

pps. Note there are many ways to get spectral output, such via Matlab
without eeglab, via eeglab, via Chronux, via other eeg analysis toolboxes
for matlab, and via other codes/scripts such as those provided in Cohen's
books. Overall it is best to learn how to compute spectra by hand so one
has a better handle on what is happening "under the hood". That is of
course much better than just "trusting" functions to do things.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20171115/d49275bb/attachment.html>

More information about the eeglablist mailing list