BCI2000 adaptation characterisitics

Forum for software developers to discuss BCI2000 software development
Locked
psrwac
Posts: 1
Joined: 22 Sep 2003, 07:36

BCI2000 adaptation characterisitics

Post by psrwac » 01 Dec 2003, 09:39

I have made some changes to the right-justified block task and was wondering if you could help me with something that I have noticed regarding the adaptation characteristics of the signal processing module.

First let me explain the task. A number of targets (e.g. 5) are aligned vertically along the right side of the screen (as with the RJB task) One of the targets is highlighted at random at the beginning of each trial. The highlighted target appears to scroll downwards so that target 1 becomes
target 2 etc.. until it reaches the bottom when it becomes target 1 again. A cursor is positioned next to the array of targets and centrally in the vertical
axis. The user simply has to move the cursor to the right in order to hit the highlighted target (when the target is aligned with the cursor).

When a participant starts to use the application the program 'learns' the required signal amplitude to make the cursor move to the right to hit the target. However, after time the learning algorithm starts to think that this increased activity is in fact just a baseline signal and so the cursor begins to move uncontrollably towards the cursor until the cursor is 'reset' by the user providing a high amplitude signal once more.
To put it another way, it is as though the cursor has to be shown a high amplitude signal every now and then in order for it to know when a movement is required and when the cursor is required to remain stationary.

I expect I need to adjust some of the learning rate parameters but I thought I would ask you first if you could point me in the right direction before I start changing code/parameters.

I'm not sure if I have explained this very well, but I would appreciate any help you could give me on this.

Thanks
Dave.

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

Adaptation ...

Post by gschalk » 02 Dec 2003, 17:17

Hi,

One component of system adaptation in BCI2000 is the intercept prediction. The offset that is subtracted from the (classified) signal is calculated as the average of the past Statistics->InterceptLength periods defined by Statistics->BaselineCfg. Thus, for example, if InterceptLength is set to 3 and BaselineCfg is set to:

TargetCode 1
TargetCode 2

then the offset (or baseline) is calculated as the average of the average signal the last three times TargetCode was 1 and the average signal the last three times TargetCode was 2. Thus, if you have two targets (e.g., on the top and on the bottom), and the system produces a state TargetCode of 1 and 2 for them, then the system will calculate the offset as the average of the last three times the target was on the top and on the bottom.

You need to consider this when you are moving targets around. You might want to choose a different period to calculate the baseline, e.g., the last 5 times IntertrialInterval was 1 (i.e., the screen was blank). These states and the associated values are described in the Software Design Document.

You can also disable the adaptation by setting InterceptControl to 0.

I hope this helps,
Gerwin

Locked

Who is online

Users browsing this forum: No registered users and 32 guests