Emotiv EPOC Headset UDP Communication-Matlab and BCI2000

Forum for software developers to discuss BCI2000 software development
Locked
amishra
Posts: 5
Joined: 15 May 2012, 16:52

Emotiv EPOC Headset UDP Communication-Matlab and BCI2000

Post by amishra » 19 Apr 2013, 17:06

Hello All

I am trying to send the control signal from BCI2000 to Matlab, while subject is performing 1D cursor task using Emotiv Headset. (Cursor moving up with both hands opening and closing imagination and moving down with rest.)
Offset: -1 0.22 0
Gain: 1.4 3 0
Adaptation: 0 2 0
Buffer Condition: (Feedback)&&(TargetCode==1)
(Feedback)&&(TargetCode==2)
Application: Two target blocks on right corners at the top (TargetCode=1) and the bottom (TargetCode=2)


1) Matlab program is reading from the port number given in BCI2000 connector output tab as - localhost:#####
And the program doesn't stops as the BCI2000 sessions times out. It keeps on getting data for another few seconds and then it stops. Is it supposed to be like that; if yes, then is the timing synchronized for a task like controlling a robot with hand imagination and rest brain states?
2) The data which I am receiving in Matlab also doesn't make any sense to me. Target block is coming up in a random order in BCI2000 during the task, but the data which I am receiving has got all TargetCode = 1, CursorPositonY is not changing and fixed at 204, Signal(0,0) is fixed at 1.4, Signal(1,0) is changing and that's exactly how it should be but, how to find out what range of Signal(1,0) value corresponds to which TargetCode?

Kindly help me get answer to my problems.

Thank You in Advance

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

Re: Emotiv EPOC Headset UDP Communication-Matlab and BCI2000

Post by gschalk » 19 Apr 2013, 20:59

If you turn off the Matlab program, can you control the cursor successfully in BCI2000?

Gerv

amishra
Posts: 5
Joined: 15 May 2012, 16:52

Re: Emotiv EPOC Headset UDP Communication-Matlab and BCI2000

Post by amishra » 20 Apr 2013, 13:56

Hello Dr. Schalk

With Matlab program not running, Cursor control task is working fine. But I have never stopped the Matlab program in between the trial i.e. while the task is in progress. If that what you meant I'll try that as well.
As far as the accuracy of the task is concerned my subject was not able to achieve the accuracy which he achieved in the first run. On the first day he started hitting all the targets after training for four trials (One session contained eight trial) and second day he was not able to repeat the accuracy with the same settings.
But, does the accuracy affects the data being sent; I should still be getting which target appeared (TargetCode Values) and what was the control value (Signal(1,0)) at that time. Please, correct me if I am wrong here.

Thank You,
Abhineet

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

Re: Emotiv EPOC Headset UDP Communication-Matlab and BCI2000

Post by gschalk » 20 Apr 2013, 17:47

Hi,

The format of the results is certainly the same whether or not you have high accuracy.

Based on everything you write, it seems like your Matlab program cannot keep up reading the values from BCi2000 sent via UDP. You could check the Windows TaskManager -- Matlab is probably consuming a whole CPU. Thus, to improve the situation, you may need to write code that is more efficient, or increase the SampleBlockSize parameter in BCI2000 (which will determine how many times per second the AppConnector sends out values).

Gerv

amishra
Posts: 5
Joined: 15 May 2012, 16:52

Re: Emotiv EPOC Headset UDP Communication-Matlab and BCI2000

Post by amishra » 29 Apr 2013, 18:29

Thank You Dr. Schalk. I got it works now.

Locked

Who is online

Users browsing this forum: No registered users and 16 guests