Cyton with BCI2000 P3 Speller / slow buffering

edited December 2018 in Cyton
Hi everyone,

I'm working for my thesis with OpenBCI Cyton board and I want to use BCI2000 for a P3Speller task. I notice that the sample rate is 250 Hz by default, and the sample block size is 125 Hz, because it sends data to buffer every half second. So the minimum value for "Stimulus Duration" is 500 ms that is not a good value for a P300 based application! When I try to modify the settings on BCI2000, it comes an error about the fact that it wants to take the automatic settings. 
What could I do? Should I work on the firmware? 
Please, give me some advices.

Comments

  • wjcroftwjcroft Mount Shasta, CA
    Lisa, hi.

    Have you seen the other forum posts on P300 Speller, using OpenViBE? I see you are using BCI2000.


    Sample rate for Cyton 8 channel is 250 Hz. With Daisy that drops to 125 Hz.

    You said, "because it sends data to buffer every half second". That is not true. Perhaps your dongle (FTDI) buffering settings are incorrect. See the appropriate section (PC or Mac) on the docs site, for example,


    How are you connecting BCI2000 to Cyton? Is there a direct serial port driver or LSL input capability? 

    Regards,

    William


  • I'm connecting BCI2000 to Cyton with a direct serial port driver.
    I said "because it sends data to buffer every half second" because I read it in this page: https://www.bci2000.org/mediawiki/index.php/Contributions:OpenBCISource

    When I try to modify the settings of sample rate and sample block size on BCI2000 I receive an error.
    I haven't seen the other forum posts you have mentioned but I will see them soon!
    I'm very thankful for your help.
    Regards,
    Lisa


  • wjcroftwjcroft Mount Shasta, CA
    Lisa, hi. That is an interesting page.

    The SampleBlockSize is specific to BCI2000, and has no connection to parameters of the Cyton. It is simply to control how much buffering that BCI2000 does. How many samples it accumulates before processing. I suggest you set it to a low value such as the 20, mentioned in the paragraph. Cyton samples every 4 ms at 250 Hz.

    The author of that page might have had a misunderstanding about the FTDI buffer adjustments. Without those, indeed the Cyton stutters at about .5 second intervals, because of FTDI buffering.

    Please update this thread if you get a speller going on either BCI2000 or OpenViBE. Do you know others who have had success with BCI2000 spellers?

    Regards,

    William

  • Hi William!
    Thank you very much for the precious clarifications, I will follow your advices.
    I don't know others who had success with BCI2000 spellers. I've only read some studies about OpenVibe, but I will keep you informed about the results of my work.
    Regards,
    Lisa
  • Hi William,

    I noticed that BCI2000 works only if SampleBlockSize/Sampling rate is equal or a submultiple of Stimulus Duration. So I changed SampleBlockSize to 15 and sampling rate to 125 Hz, so I have 120 ms of Stimulus Duration. Now the P3 Speller works but I have another problem with the data I save: if I open them with Matlab I have all zeros for each channel. This is not true if I use the OpenBCI GUI to stream data. 

    What could be the possible reason?
    Regards,
    Lisa
  • wjcroftwjcroft Mount Shasta, CA
    edited December 2018
    Lisa, it sounds like your importing OpenBCI CSV data file into Matlab? There are some tutorials,


    re: your working BCI2000 "P3Speller". Can you provide some links or photos or videos on this system, so that others interested in P300 spellers can benefit?

    These results turn up on a search, but not sure which is the correct source you are using,




    Regards,

    William

  • Hi William,

    thank you for your advises. I will send some photos and descriptions about this system as soon as the set up is completed.

    Regards,
    Lisa
  • Hey, sorry to bother, i was trying to connect the OpenBCI Cython with the BCI2000 but im having trounble doing it, can you explain me how did you do it?
Sign In or Register to comment.