EKG signals leaking into EEG signals when measuring EMG and EEG together

RPSpicerRPSpicer Los Angeles, CA
edited September 2016 in Electrodes
I am attempting to run the 32-bit OpenBCI board + daisy to capture EMG and EEG signals simultaneously. I'm running channels 1-12 with UltraCortex spiked EEG electrodes, and 13-16 with gold cup electrodes + Ten20 paste surgical-taped to the arm. I'm primarily a software guy but I am supporting an EEG/EMG research project and I'll admit I'm a bit lost. I've written my own C# OpenBCI serial interface (which hopefully I can share at some point in the future) but I'm testing with the OpenBCI-Processing UI to make sure my implementation is functioning correctly. 

Long story short: when I connect an EMG reference electrode to my body, ALL the signals, even the EMG signals that should in theory be disconnected from SRB2/bias, get contaminated by EKG-type data.  The Getting Started tutorial claims to work around this, but it doesn't seem to help -- in the OpenBCI Processing GUI and in my own code, I get this coupling.

Any ideas how to fix this? (EG: ch 1-12 using default channel mappings; ch 13-16 disconnected from BIAS and SRB2; separate reference electrode into ch 13-16's P port) 

I'm referencing the Getting Started setup guide, Section V.2Section V.3.e and V.3.f and Section V.4.e for connection and channel settings.

I am connecting the EMG and EEG electrodes to the "N" side of the ADC, and the EMG reference electrode to the "P" side (I ended up using a 1-to-4 splitter to share one reference electrode across all 4 EMG channels).

I am connecting ear clips to SRB and AGND. I am using a Y connector to connect SRB and BIAS between the daisy and mainboard.

As per the guide, I'm configuring the EMG channels (13-16) in the Processing GUI to "Scale: 1x," "Baseline: Don't Include," and "SRB2: No"  (ie: x*000000X as a serial command, if I understand correctly).

Here's a dump of my registers after sending the equivalent commands from my serial interface:

Board ADS Registers
ADS_ID, 0x00, 0x3E, 0, 0, 1, 1, 1, 1, 1, 0
CONFIG1, 0x01, 0xB6, 1, 0, 1, 1, 0, 1, 1, 0
CONFIG2, 0x02, 0xC0, 1, 1, 0, 0, 0, 0, 0, 0
CONFIG3, 0x03, 0xEC, 1, 1, 1, 0, 1, 1, 0, 0
LOFF, 0x04, 0x02, 0, 0, 0, 0, 0, 0, 1, 0
CH1SET, 0x05, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH2SET, 0x06, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH3SET, 0x07, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH4SET, 0x08, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH5SET, 0x09, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH6SET, 0x0A, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH7SET, 0x0B, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH8SET, 0x0C, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
BIAS_SENSP, 0x0D, 0xFF, 1, 1, 1, 1, 1, 1, 1, 1
BIAS_SENSN, 0x0E, 0xFF, 1, 1, 1, 1, 1, 1, 1, 1
LOFF_SENSP, 0x0F, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
LOFF_SENSN, 0x10, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
LOFF_FLIP, 0x11, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
LOFF_STATP, 0x12, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
LOFF_STATN, 0x13, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
GPIO, 0x14, 0x0F, 0, 0, 0, 0, 1, 1, 1, 1
MISC1, 0x15, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
MISC2, 0x16, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
CONFIG4, 0x17, 0x00, 0, 0, 0, 0, 0, 0, 0, 0

Daisy ADS Registers
ADS_ID, 0x00, 0x3E, 0, 0, 1, 1, 1, 1, 1, 0
CONFIG1, 0x01, 0x96, 1, 0, 0, 1, 0, 1, 1, 0
CONFIG2, 0x02, 0xC0, 1, 1, 0, 0, 0, 0, 0, 0
CONFIG3, 0x03, 0xEC, 1, 1, 1, 0, 1, 1, 0, 0
LOFF, 0x04, 0x02, 0, 0, 0, 0, 0, 0, 1, 0
CH1SET, 0x05, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH2SET, 0x06, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH3SET, 0x07, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH4SET, 0x08, 0x68, 0, 1, 1, 0, 1, 0, 0, 0
CH5SET, 0x09, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
CH6SET, 0x0A, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
CH7SET, 0x0B, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
CH8SET, 0x0C, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
BIAS_SENSP, 0x0D, 0x0F, 0, 0, 0, 0, 1, 1, 1, 1
BIAS_SENSN, 0x0E, 0x0F, 0, 0, 0, 0, 1, 1, 1, 1
LOFF_SENSP, 0x0F, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
LOFF_SENSN, 0x10, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
LOFF_FLIP, 0x11, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
LOFF_STATP, 0x12, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
LOFF_STATN, 0x13, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
GPIO, 0x14, 0x0F, 0, 0, 0, 0, 1, 1, 1, 1
MISC1, 0x15, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
MISC2, 0x16, 0x00, 0, 0, 0, 0, 0, 0, 0, 0
CONFIG4, 0x17, 0x00, 0, 0, 0, 0, 0, 0, 0, 0

So far, so good -- seems like CH5-8 have the SRB connection disabled and are set to 1x scale, and BIAS_SENSN and BIAS_SENSP are disabled for the top 4 channels on the daisy board.  But I'm still getting this weirdness in my data -- I attach the EMG reference electrode to the body (which is wired to pins N5P, N6P, N7P and N8P on the daisy), and I get EKG-looking spikes in my EEG data on all 12 channels.The problem persists across the OpenBCI Processing GUI too (same settings, entered via the channel setup GUI).

What's going on here? I feel like I'm misunderstanding something!

Comments

  • wjcroftwjcroft Mount Shasta, CA
    RP, hi.

    What happens when you follow the EEG + ECG tutorial, exactly, to the letter? In other words using gold cups exclusively?

    Mixing electrode metals can cause unusual effects. It is possible to get stick-on Ag-AgCl electrodes. These are widely used for ECG and are compatible with the Ag-AgCl combs in the headset.

    Regards, William


  • wjcroftwjcroft Mount Shasta, CA
    Hmm, just re-read your line,

    I am connecting ear clips to SRB and AGND. I am using a Y connector to connect SRB and BIAS between the daisy and mainboard.

    The Y connector should bridge the two SRB2 pins (closest to board), not the Bias.

  • RPSpicerRPSpicer Los Angeles, CA
    Whoops, I may have written unclearly -- I have two Y connectors. One connects to an ear-clip and the SRB2 pins on the v3 board and the daisy board. The other connects to an ear-clip and the BIAS pins on v3 and daisy.

    If I am not supposed to use a Y connector for BIAS, where do I connect my ear clip for BIAS (daisy or main v3)? It looks like there's a pin (the 2x1 for AGND and BIAS) that should connect between the two so I'm guessing either is OK?  That said, since they're shorted together the second Y connector isn't hurting anything, is it?



  • wjcroftwjcroft Mount Shasta, CA
    Just use one of the Bias pins on mainboard for your ear clip. No need for the Y on Bias. All the Bias pins are equivalent. You only need Y on SRB2's. Go ahead and try following the tutorial steps with gold cups.
  • RPSpicerRPSpicer Los Angeles, CA
    Update: just tried replacing the paste in the gold cups, and re-taping up all the EEG electrodes. Things are markedly less awful -- I get a strong peak in amplitude for the EMG channels when I move my wrist (I'm placing electrodes over the muscles in my forearm, near my elbow) and there does not appear to be any cross-talk.

    No idea what's going on or why, but apparently the biomedical equivalent of "unplug it and plug it back in!" may have helped.
  • wjcroftwjcroft Mount Shasta, CA
    Skin to electrode impedance, when high, will cause various artifacts. Especially in your complex situation.

    The round adhesive ECG Ag-AgCl (snap connector) electrodes may be best for your ECG and EMG leads. You can get cables with a snap connector (female) on one end, and touchproof on the other.

  • RPSpicerRPSpicer Los Angeles, CA
    I'm hoping to adopt the snap connector + single-use adhesive electrodes for EMG already, since it makes disinfecting/sterilizing between subjects easier. The team I'm working with is committed to the UltraCortex spiked electrodes for the EEG channels. The results I'm seeing here make me think that my problem was high electrode impedance with the EMG (I was testing a bunch of things and applying/removing my EMG rig).

    Thanks for your input, wjcroft!
Sign In or Register to comment.