Extensions: Fiddler – P300 ‘generator’ for debug

  • NB: Document was written for OpenViBE 2.0.1 (30.Jan.2018)

OpenViBE 2.0.1 introduced a plugin called ‘Fiddler’ to the Acquisition Server. Fiddler is intended to debug P300 scenarios. The idea is that in debug conditions, Fiddler guarantees you will have a P300-like pattern in your acquired data after the ‘attended’ flashes.

Fiddler’s operation is relatively simple:

  1. Note when a stimulus OVTK_StimulationId_Target is in the pending stimulations set (e.g. from TCP Tagging).
  2. Superimpose a linear template to all channels of the signal, with its peak approximately 300ms after the stimulus

To put it another way, with Fiddler enabled, you can be guaranteed that your signal will contain a specifically shaped template embedded in the other signal 300ms after the target stimulus marker. Hence, if your P300 sends the stimuli over TCP Tagging to AS after each target flash, and yet it does not work with Fiddler enabled, you have likely uncovered an issue in your P300 which is occurs even when timing is correct and there is a clear pattern in the signal. However, Fiddler cannot be used to discover issues with timing, since with it the effect is always correctly placed with relation to the marker. In real P300, the markers may be misaligned due to various reasons.

The strength of the effect added by Fiddler can be controlled from the Acquisition Server preferences. Strength 0 indicates Fiddler is disabled. This should always be the case in normal use of OpenViBE. Be careful not to leave it on.

Fiddler could have been equivalently implemented as a box that does the similar thing to the incoming signal. In its present form, Fiddler illustrates how to implement a signal-modifying extension inside Acquisition Server. On the AS side, there is some small cleverness needed in order not to process the same samples twice. This can be seen from the Fiddler code.

In the future Fiddler might be enhanced to provide toy models of other paradigms, e.g. SSVEP or Motor Imagery.


This entry was posted in Documentation, Acquisition Server documentation. Bookmark the permalink.