SSVEP or patterns evoking EEG response

2»

Comments

  • wjcroftwjcroft Mount Shasta, CA
    @royian , hello.

    I merged your SSVEP question into this existing thread. See Chip's blog posts on his SSVEP systems. He modified the OpenBCI_GUI code to do the detection with Processing. That is probably your easiest approach. Various DSP filters are applied to measure the band amplitude at the SSVEP stimulation frequencies.

    Other languages could be used as well. Use the search box at lower right to look for DSP library support, etc.
  • edited November 2015
    Hey guys, I'm doing some research about SSVEP method but can't get a consistent frecuency output on Oz electrode. I'm using openBCI 8bits device to get brain data and a Processing interface.  I tested in Psychtoolbox a checkerboard pattern (20 and 15 Hz) with no light on the room, and watched it by 10 seconds approximately. Then, with EEGLAB got a frecuency-time analysis for both frecuencies. So finally, can't conclude anything xD because maybe the stimulis are not truthful, collected data has too much noise, tried a wrong or not optimal electrode configuration or maybe something else that I can't see. If u had a bit of time take a look on these archives, i would be very grated.


     Greetings from Chile!
  • wjcroftwjcroft Mount Shasta, CA
    Sebastian, hi.

    I merged your question into this existing thread on SSVEP.

    From what @chipaudette has said, the timing accuracy of your computer is crucial as far as generating the blinking patterns (either solid or checkerboards.) Chip found that only certain computers / laptops had the accuracy needed to flash at a consistent rate. Other machines introduced 'jitter' into the on/off cycle which then of course makes it impossible to detect the signal in the FFT.

    So one thing to try would be experiment with other computers. Chip did not actually use that program you mention. But instead generated movie files, containing the flashing screen segment, which he then played back. You may be able to get that movie file on his github.

    Also, Joel Eaton (see previous posts in this thread), ended up making his own LED based flasher, for this same reason: optimal timing accuracy.

    William

  • edited December 2015
    Thank you for ur advices @wjcroft =). Now I fixed a bit the timing acccuracy, but still don't get a nice graph with Fourier and Wavelet analysis associated to the electrode signal from O1 Oz O2 (Ref on Fz) on BCILAB tool.The way I got some coherent results was applying ICA (independent component analysis) considering electrodes O1 and Oz.

    The experiment consisted mainly on watching six frequency patterns (60, 30, 20, 15, 12, 10 Hz) each one during 10 seconds with a 5 seconds pause between them  to relax and blink the eyes.

    After ICA, the stimulis u can observe are partially the 20 Hz, then I got more consistent info for 15 Hz, 12Hz and 10Hz with their armonics. It's hard for me to say if I still have a bit problems with the accuracy blinking patterns (even if I made some adjustments) or the noise is really affecting the measurements.



    Thank you in advance for your time and assistance guys.
  • wjcroftwjcroft Mount Shasta, CA
    I think I remember that one tool that Chip @chipaudette used in his SSVEP experiments, was to hookup a photo cell to an oscilloscope. Then using the controls on the scope you can sync up so that two pulses at once appear on the screen. With the first pulse always at the left edge. (Called triggering in scope terminology.)

    If the two pulses are consistently the same number of milliseconds apart, then you have a good solid timing accuracy. If you see 'jitter' or movement between the two pulses, then your timing and Fourier analysis of the EEG is not going to work very well, regardless of the sophistication of your toolbox (ICA).

    William

  • Hi,
    I'm having trouble getting meaningful response to SSVEP.
    The setup includes a 32bit OpenBCI board, OpenBCI cup electrodes and/or FRI dry electrodes; fresh battery pack.
    BIAS and SRB2 are on mastoids OR BIAS is on mastoid and SRB2 on same-side ear lobe.
    Electrodes are Oz, O1 and Fpz.
    Laptop is on batteries.
    Stimuli are Chip's 1 Block movies either original or ones I've modified to match monitor's refresh rate according to "Visual stimulus design for high-rate SSVEP BCI" by Y. Wang, Y.-T. Wang and T.-P. Jung.
    Before SSVEP experiment electrode impedance is about 5kOhm.
    I nicely see eye blinks and teeth grinding.
    The stimuli are 15 second 1 to 20 Hz alternating white and black movies.

    However with NONE of the movies I could detect the fundamental or any higher multiple frequency!
    I'm looking both in built-in FFT panel and in Matlab spectrogram.

    What could be the problem?

    Thx,
    David 
  • edited January 2016
    Here's the image of the spectrogram 

    image

    As you can see there's nothings at 11 Hz, 22 Hz, 33 Hz, etc.

    Ideas?

    PS Tried with SRB2 @ Cz. No difference.
  • Could u upload your data here in txt file?
  • edited January 2016
  • Error 404
    Unable to resolve the request "4ut6p;"
  • Here's the image of my spectrogram (made from first and last column of data):

    image
  • edited January 2016
    Try now. Sorry http://dropcanvas.com/4ut6p
  • nekrodezynfekator Could you send me the Matlab code you're using?

    Thx,
    D
  • I'm using following code but I'm not sure that is 100% correct:

    fs=250;
    [y,f,t,p] = spectrogram(data,2^nextpow2(fs),fs,2^nextpow2(fs),fs);
    surf(t,f(1:60,:),10*log10(abs(p(1:60,:))),'EdgeColor','none');   
    axis xy; axis tight; colormap(jet); view(0,90);
    xlabel('Time [s]');
    ylabel('Frequency [Hz]');

  • nekrodezynfekator's. The difference was the colormap we're using.
    What bothers me are:
    • The Fp signal is much better pronounced (it should be the other way around, shouldn't it?)
    • The Fp signal is much more stable (why is the O signal intermittent?)
    Ideas?
  • wjcroftwjcroft Mount Shasta, CA
    Here's a link to the related new thread where Nek describes his 16 LED matrix SSVEP.


  • wjcroftwjcroft Mount Shasta, CA
    Thong Vo posted on Chip @chipaudette 's  blog with a link to his SSVEP experiment / blog. This is using the ADS1299 with an STM32 uC and HC05 Bluetooth module. (Not OpenBCI per se, but the same TI A/D converter we use.)


    Software:
    - Signal acquitition: Matlab GUI. Major functions in the background: Serial port data acquitition, Ring buffer to balance the datastream, real-time FFT, real-time configrable FIR/IIR filter, data integrity checker, event marker, game controller, and other signal processing functions.
    - Stimulation: Flickering stimulation at 4 frequency (6.6Hz, 7.5Hz, 8.75 Hz and 12Hz) by Psychtoolbox 3 ( I built this stimulation software from stratch). Highly recommend this tool box for precise timing experiment (with Matlab).
    - Game: Mario maze game ( written on Python). This game communicated with the WEEG signal acquitition via TCP. Insprired by this game


  • We are a group of researchers presently exploring SSVEP based BCI, We use OpenBCI for HW and OpenViBE for the GUI, processing and recording. We are interested in connecting to groups that have used OpenBCI HW for the SSVEP multi Flicker (or Multi class) detection problem.

    Thanks & Regards
    Sastry
Sign In or Register to comment.