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
Emotiv EPOC Headset UDP Communication-Matlab and BCI2000
Re: Emotiv EPOC Headset UDP Communication-Matlab and BCI2000
If you turn off the Matlab program, can you control the cursor successfully in BCI2000?
Gerv
Gerv
Re: Emotiv EPOC Headset UDP Communication-Matlab and BCI2000
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
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
Re: Emotiv EPOC Headset UDP Communication-Matlab and BCI2000
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
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
Re: Emotiv EPOC Headset UDP Communication-Matlab and BCI2000
Thank You Dr. Schalk. I got it works now.
Who is online
Users browsing this forum: No registered users and 16 guests