Networking widget LSL, no Ganglion high pass filtering?

wjcroftwjcroft Mount Shasta, CA
edited April 2018 in OpenBCI_GUI
This discussion was created from comments split from: Networking with LSL makes GUI crash, why?.

Comments

  • I would like someone to tell me if the filtering functions that appear in Networking actually work. I have a Ganglion card for several months and I have never been able to receive the data respectively filtered in MATLAB.
    My greatest desire is to be able to receive data without DC offset because although I have applied different techniques for offset removal, but unwanted artifacts are presented due to phase, ripple, etc.

    Thank you
  • wjcroftwjcroft Mount Shasta, CA
    edited March 2018
    Ganglion has a built-in high pass filter (in the hardware) at .3 hz (3 db cutoff). Whereas Cyton is a true DC coupled amplifier. Cyton in general has a much larger DC offset; on the order of tens of thousands of microvolts (tens of millivolts.)

    Because the Ganglion high pass filter appears to "roll off" slowly (as the frequency drops below .3 hz), it does still need offset filtering. In the Ganglion case the offset is more on the order of hundreds of microvolts.

    [I split your question into this new threads. Since it had nothing to do with the LSL crash issue.]
  • Hi William (@wjcroft)

    I'm surprised because I've always seen the DC offset in all the tests I've done with Ganglion and MATLAB through LSL. Further, that DC offset is very dynamic in the time domain. 
    I attached image of the signals collected:      https://prnt.sc/iz2hnb
    What do you recommend?

    Many thanks for your attention. 
  • wjcroftwjcroft Mount Shasta, CA
    edited March 2018
    Can you provide a sample of the CSV text file output from the OpenBCI_GUI? Your purple channel on the graph seems to be without offset...
  • edited March 2018
    Hi William (@wjcroft)

    I attached the link that contains an Excel file with data from a Ganglion transmission. There you can see that channels 2 and 3 do not show DC offset, but channels 1 and 4 do.
    What could be happening?


    Thank you.
  • wjcroftwjcroft Mount Shasta, CA
    Cristhian, hi.

    OK, sorry for my confusion. I'm still unclear myself why some of the Ganglion channels show almost no offset. Could just be your electrode configuration.

    My guess now, is that the Networking LSL output switch that turns on the High Pass filtering, may be broken for Ganglion.

    I guess the output you showed originally from LSL / Matlab, matches pretty well with the raw CSV produced by the GUI. So the issue is likely in the Ganglion version of the widget.

    My suggestion now is that you log an issue at,


    Mention that this seems to be Ganglion specific, and in the Networking widget. I'll update the thread title here.

    To be honest, you should be able to do your own high pass filtering with Matlab, that would be just as good and more controllable -- than the filtering the GUI widget performs. There will always be some phase shift implications for any DSP filtering operation. If you build the filter yourself you have more control over that.

    Regards,

    William

  • William (@wjcroft), hi.

    To be honest, I would like the OpenBCI team not to "forget" Ganglion users. Several of the great functionalities are successful in Cyton but not in Ganglion. I say this because, for example, the transmission of Ganglion and with LSL only works if the GUI is executed from Processing but not from the App. Even, the same happens with Synthetic (algorithmic) of 4 channels.
    The transmission of filtered data from OpenBCI GUI / Networking would be a very useful and interesting tool.
    However, I am very happy with Ganglion and with the support that you provide to users through this forum. 

    I will follow all your recommendations. Thank you very much.
  • wjcroftwjcroft Mount Shasta, CA
    Mention the fact that Processing is required in your bug report, for LSL to work on Ganglion.
Sign In or Register to comment.