Contributions:Biosemi2ADC

From BCI2000 Wiki
Jump to: navigation, search

Synopsis

Working Version of the BIOSEMI acquisition module.

Known Issues

When acquiring at SamplingRate less than the hardware sampling rate, crude averaging of the EEG and AIB signals is performed over each batch of samples: this is better anti-aliasing than the original simple decimation strategy, but still not ideal. Ideally a properly-designed FIR filter would be used prior to decimation.

Location

http://www.bci2000.org/svn/trunk/src/contrib/SignalSource/Biosemi

Versioning

Authors

Samuel A. Inverso (samuel.inverso@gmail.com), Yang Zhen, Maria Laura Blefari, Jeremy Hill, Gerwin Schalk

Version History

Revision 2.2 2010/03/04 gschalk: Fixed nasty reinitialization bug. Now, pressing SetConfig more than once works. There is a remaining problem in the Biosemi2Client code that prevents proper function when initialize is called more than once. As a workaround, we now simply delete and recreate the whole object in the ADC's Initialize() function.

Revision 2.1 2009/05/27 jhill: Bugged trigger signal acquisition fixed and tested. Also added an option to acquire trigger signals simultaneously in one 16-bit channel.

Revision 2.0 2008/11/07 jhill: Updated design, including support for an auxiliary Analog Input Box (AIB) EEG + AIB acquisition tested---triggers not.

Revision 1.2 2008/10/25 Maria Laura Blefari: Fixed the ERROR: Mode changed from 4 to 0

Revision 1.1.1 2005/12/14 15:24:15 mellinger: Fixed state name typo in Process().

Revision 1.1 2005/12/12 00:05:24 sinverso Initial Revision: Working and tested offline. Not tested in real experiments.

Source Code Revisions

  • Initial development: 960
  • Tested under: 2372
  • Known to compile under: 2372
  • Broken since: --

Functional Description

Acquires from a Biosemi Act2. Version 1.0 tested with a MK1. Versions 1.2 and up tested on a MK2.

EEG channels, Analog Input Box (AIB) channels, and one-bit channels reflecting the digital trigger input states are acquired in sync.

Warning: If TriggerChList is empty, the trigger values will not be saved in the data files and are not recoverable.

Installation

Copy the Labview_DLL.dll to the prog directory for the module to work. (In the BCI2000 Contrib distribution, that DLL is already in place.) If you experience problems with the Biosemi 2 source module, uninstall the 'Labview Run time engine' included in the Active View CD (as suggested by Hohyun Cho).

Parameters

As of version 2.0 (svn revision 2189) the old parameters PostFixTriggers and TriggerScaleMultiplier have been removed. The functionality of the former is replaced by TriggerChList and the latter can be simulated by setting the corresponding elements of SourceChGain accordingly.

EEGChlist

A list of (one-based) indices to the EEG channels to be acquired. These EEG channels appear first in the final ordering, before AIB and trigger channels.

AIBChList

A list of indices (each in the range 1 through 32 inclusive) indicating which Analog Input Box channels are to be acquired. By default, none are acquired. AIB channels are postfixed immediately following the EEG channels.

TriggerChList

The old PostfixTriggers parameter has been replaced by this, a list of indices (each in the range 1 through 16 inclusive) indicating which one-bit trigger channels to postfix after the EEG and AIB channels. By default, all 16 are postfixed (for legacy compatibility).

Instead of a list, you may alternatively supply a single 0: this means "acquire all triggers simultaneously in one 16-bit channel."

States

BatteryLow

Set to 1 when hardware reports low battery state.

MODE

The mode corresponding to the one on the front of the Biosemi box.

MK2

Set to 1 when connected to an MK2.


See also

User Reference:Filters, Contributions:ADCs