Cyton with LabVIEW, how to issue SDK command, to avoid cross-talk

ozberkoozberko Turkey
edited November 2020 in Cyton

Hello dear OpenBCI community,
In our research project, we need to include multiple channel EMG readings and OpenBCI Cyton board seemed to suffice our needs. Since I have electronics engineering background, I was eager to use LabVIEW for required signal processing to bypass lower level programming and started to work with Cassani's Labview toolkit.

Everything was alright for streaming only one channel, however; when I tried to stream two channels their response seemed to be coupled. When I contracted one of the targeted muscles, I was seeing the activity in both displays.

I switched to the original OpenBCI GUI and understood that this was result of SRB2 being ON for hardware settings . When I turned them off, there were no cross talks present.

I decided to close the SRB2s of related channels in LabVIEW and followed the explanations in Cyton SDK documentation. Even though board send back the confirmation messages for respective channel settings, I'm still seeing the same cross talks between the channels.

Did anyone of you had a similar problem before? It would be great if you can give me some inputs because I cannot really pass this point.

Regards,
Ozberk

Comments

  • wjcroftwjcroft Mount Shasta, CA

    Ozberk, hi.

    It sounds possible that this may be a bug in Ray Cassani's Labview toolkit. (The part that sends Cyton command strings.) Since turning off SRB2 for those channels, works with OpenBCI GUI. Have you tried contacting @Cassani ? He has an account here on the Forum, and you can Private Message him by clicking on his blue user name, then the Message button.

    Another way you could do this is with the Brainflow libraries.

    https://brainflow.readthedocs.io/en/stable/
    https://brainflow.org/

    Regards, William

  • wjcroftwjcroft Mount Shasta, CA

    Please mention the SDK command string you tried, it's also possible there was some error in that.

  • Hi Ozberk,
    What kind of configuration as you using for the different channels?
    As @wjcroft suggested, please share what commands are sent to the board, and what the boards returns.
    Best, Raymundo

  • Hello William, Raymundo thank you so much for your quick replies. I will have a look on Brainflow too,

    I actually solved the problem though I still don't understand why it happened. Let me show my solution.
    This was my main block diagram where I'm using the library provided by Raymundo to read the data and unbundle it to read CH2 &CH5 and accelerometer datas.

    I added an additional subVI to send SDK messages which is supposed to close unused channels and configure Ch2 and 5 to remove them from SRB2 which looked something like this.

    Even though I read the confirmation message from the board, signals seemed pretty noisy and in fact seemed to be negative of one other. This was the point where I posted the forum about.

    Then I realized that there was a problem with filter block(to cancel baseline noise and harmonics) that I use before waveform charts since the signals had a clear baseline noise even though I was using a highpass filter.

    I took the filters inside and connected these before one of the charts,

    And voila it works

    Sorry for long post and I'm not sure if it will be useful for anyone but just in case if somebody wants to close SRB2 channels through LabView they can have a look on the codes in the attachments.
    Ozberk

  • Hello William, Raymundo thank you so much for your quick replies, I will have a look on Brainflow too,

    I actually solved the problem though I still don't understand why it happened. Let me show my solution.
    This was my main block diagram where I'm using the library provided by Raymundo to read the data and unbundle it to read CH2 &CH5 and accelerometer datas.

    I added an additional subVI to send SDK messages which is supposed to close unused channels and configure Ch2 and 5 to remove them from SRB2 which looked something like this.

    Even though I read the confirmation message from the board, signals seemed pretty noisy and in fact seemed to be negative of one other. This was the point where I posted the forum about.

    Then I realized that there was a problem with filter block(to cancel baseline noise and harmonics) that I use before waveform charts since the signals had a clear baseline noise even though I was using a highpass filter.

    I took the filters inside and connected these before one of the charts,

    And voila it works

    Sorry for long post and I'm not sure if it will be useful for anyone but just in case if somebody wants to close SRB2 channels through LabView, they can send me a message, I was not able to upload it here.

    Regards,
    Ozberk

Sign In or Register to comment.