How to get band powers from noisy data

I have an application where I wish to collect band powers from my 16 channel EEG, globally, and buffer it (to then match it to various activities and see correlations)

Due to the nature of dry electrodes and me being a suboptimal eeg-on-head placer I expect a bunch of the electrodes will end up railed and most (all?) of them will be very noisy.

My current approach to dealing with this is, instead of using absolute power for the bands (what the GUI is doing) to use relative power on a per electrode basis.
I.e. say channel 1 has voltages:
c1 = [10, 50, 60 ... 5]
and channel 2 has:
c2 = [600, 80000, 53553 ... 12000]
My code does something like:

c1_bands = band_decomp(c1)
c2_bands = band_decomp(c2)
pct_theta = (c1_bands['theta'] /  np.mean(c1_bands.values())  + (c2_bands['theta'] / np.mean(c2_bands.values()) 

Would this approach work "in principle" to correct for the noise ? Of course, some noise would still remain, but if the nosie is random and at least a few electrodes are functioning signal should come through.
Is there a problem inherent from not computing the bands using summed amplitude from each electrode (or however the GUI does it ?) Are there kosher approaches for doing this type of thing ?

Comments

  • wjcroftwjcroft Mount Shasta, CA
    edited March 4

    George, hi.

    Have you looked at this thread on suggestions to address railing headset channels?

    https://openbci.com/forum/index.php?p=/discussion/1481/how-to-become-de-railed

    Alternately, if you cannot tame a channel, have you considered just switching it off by toggling the channel number button on the time series graph?

    I don't believe you can extract any useful information for channels that are showing huge numbers of microvolts. Whatever the source of the channel amplitude, it is unlikely to be authentic EEG.

    You might be interested in the alternate headset frame offerings at:

    https://www.shapeways.com/product/QX6FQX82D/m4-ultra-brachycephalic-headset-frame?optionId=63475545&li=shops
    https://www.shapeways.com/shops/ultrabci

    https://www.google.com/search?as_q=Brachycephalic&as_sitesearch=openbci.com

    William

  • I don't believe you can extract any useful information for channels that are showing huge numbers of microvolts. Whatever the source of the channel amplitude, it is unlikely to be authentic EEG.

    Right, but I am unsure what "huge number" means here, as in, how I determine the cutoff is my problem!

  • As for the headests you link... those seem to be the MK4, which I already have

  • wjcroftwjcroft Mount Shasta, CA

    @George3d6 said:
    As for the headsets you link... those seem to be the MK4, which I already have

    Did you see the headset frames & info on 'Brachycephalic' head shape. If a large number of electrodes are having issues, it is possible that your head shape may not be matching the design criteria for the headset dimensions. 'Asian' derived genetics leads to different head shape than 'western' genetics.

    https://www.google.com/search?q=Brachycephalic+human+skull

  • wjcroftwjcroft Mount Shasta, CA
    edited March 4

    @George3d6 said:
    ...
    Right, but I am unsure what "huge number" means here, as in, how I determine the cutoff is my problem!

    Any EEG above 80 to 100 uV is suspect. If you are seeing hundreds to thousands that is decidedly noise.

  • Did you see the headset frames & info on 'Brachycephalic' head shape. If a large number of electrodes are having issues, it is possible that your head shape may not be matching the design criteria for the headset dimensions. 'Asian' derived genetics leads to different head shape than 'western' genetics.

    Didn't notice that... but I am using this with more than just myself so optimizing for the head shape is besides the point.... and their heads are quite different

  • wjcroftwjcroft Mount Shasta, CA

    Did you try the link I gave for reducing 'railed' condition? OR switching off the railing channels?

  • Any EEG above 80 to 100 uV is suspect. If you are seeing hundreds to thousands that is decidedly noise.

    I am usually getting readings between 1 * pow(10,5) and 50 * pow(10,5)
    I'm unsure what the unit used here is (?) -- I assume uv? If so it does indeed seem like everything I have is railed, but this doesn't match with what the GUI is telling me

  • wjcroftwjcroft Mount Shasta, CA
    edited March 12

    uV is the shorthand for microvolts, as mV is millivolts. The u in uV refers to the 'micro' character, which is not on keyboards, but does have a unicode representation.

    https://www.compart.com/en/unicode/U+00B5

    So using that: µV

    Have you tried simply TURNING OFF the railing channels. I assume this is just a few. Then your band powers will look more normal because all are below 100 uV. EEG above 100 uV is either noise or possibly muscle artifact. Try clenching your jaw or working your face / head muscles. That will produce huge readings.

Sign In or Register to comment.