Problem obtaining EMG data from text file

I am currently trying to use OpenBCI to relay EMG data to a c++ software, by having it read the generated text file. In the GUI, I can get good results by setting up a filter from 15 to 50 Hz, and using the wrist as a SRVB signal (bias not added). I can also read the data from the .txt into my software without problems.

However, I have not been able to get any meaningful information out of the text file. I have added a high-pass filter into my file to get rid of the offset, as well as a rms conversion over 50 data points (added after the filter), but after passing through the high pass filter, the signal suffers no difference from EMG activity. Results after the rms conversion tend to stay between 10 and 11 uV for the biceps braquealis measurements regardless of it's position or what else is shown in the GUI.

From my understanding, after adding a low pass filter and converting it's value to rms, I should have obtained a signal that can actually be used to determine muscle activity. Is there anything I am missing, or that I might be doing wrong?

Comments

  • wjcroftwjcroft Mount Shasta, CA
    There is library code in C (or C++, even C#; also Python, etc.) to read the data stream directly, not needing the text file. Similarly there are signal processing libraries in these languages.

    I might suggest using one of the VPL interface languages to experiment with the element blocks there. This is a fast way to prototype and see what you are doing. Avoiding the need to code your own signal processing. Once you have found a combination of elements that works, you could then rewrite in C if desired.


  • First, thank you for the suggestion. So far, I have not had the chance to try it out, but it seems the first order filters I have used in conjunction with a notch filter are insufficient, especially when it comes to the high-pass filter to remove DC values (after a search through OpenBCI_GUI's source code, it seems it uses second order filters). For the next few days I have access to my own code, but not to the OpenBCI board, so I will instead try to recode my own filters with similar parameters to the ones in the GUI. If this does not work, I will try to use a VPL interface language.
Sign In or Register to comment.