Jump to content

Contributions:actiCHamp: Difference between revisions

From BCI2000 Wiki
Ignatp (talk | contribs)
No edit summary
 
Mellinger (talk | contribs)
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Synopsis==
==Synopsis==
actiCHamp is a modular amplifier from BrainVision products. This contributed module allows you to use the actiCHamp in BCI2000.
actiCHamp is a modular amplifier from BrainVision products. This contributed module allows you to use the actiCHamp in BCI2000.
==Hardware Quirks==
*The BrainVision PowerPack is a "dumb" battery. There is no way to get the mAh ratings off of it, thus there is no way to calculate the battery life in BCI2000. Therefore, '''BCI2000 will not show the battery life for the BrainVision actiCHamp or warn you if the battery life is low.'''
*This ADC module only supports card modules on the BrainVision actiCHamp in order (for example if you have module cards in slots 1, 2 and 3) if you have cards in slots 1, 2, and 4, the module '''WILL NOT WORK''', in fact such mode is currently '''UNTESTED'''.
*The BrainVision actiCHamp runs at frequencies lower than 10,000 Hz through decimation, some SampleRate/SampleBlockSize frequencies work better than others (ones that can be easily evenly divided). The actiCHamp will however stall and unsync if run under 64 Hz.
*The BrainVision actiCHamp does not have a dedicated ground/reference node like the g.USBamp or the g.HIamp. It only has a node that is supposed to act as a ground to the whole array, therefore in order to get intelligible data it is necessary to set the reference channel to the node closest to the ground signal node.


==Location==
==Location==
Line 9: Line 18:
===Authors===
===Authors===
Paul Ignatenko (paul dot ignatenko at gmail dot com)
Paul Ignatenko (paul dot ignatenko at gmail dot com)
Rensselaer Polytechnic Institute


===Version History===
===Version History===
'''Version 1.0: January 2013 -- Revision 4363 (CURRENT)'''
* Supports monitoring of EEG, AUX, and Triggers
* Supports arbitrary number of EEG, AUX, and Triggers in lists.
* Supports impedance, normal, test, and ActiveShield modes.
* Library reference by any channel
Version 0.1: December 2012
Version 0.1: December 2012
* Supports EEG Channels
* Supports EEG Channels
Line 18: Line 32:


===Source Code Revisions===
===Source Code Revisions===
*Initial development: --
*Initial development: 4337
*Tested under: --
*Tested under: 4363
*Known to compile under: --
*Known to compile under: 4363
*Broken since: --
*Broken since: --


==Functional Description==
==Functional Description==
Acquires raw data from the actiCHamp.
Acquires EEG, AUX and Trigger Input data from the BrainVision actiCHamp.


==Installation==
==Installation==
Line 30: Line 44:


==Parameters==
==Parameters==
* '''SourceCh''' represents the total number of channels to be logged from the source module. The AUX channels follow the EEG channels. <br />
** '''NOTE:''' If you would like to record the AUX channels and have only 1 module installed you set this to 40 channels. 72 for 2 modules, 104 for 3, etc.
** '''NOTE:''' This ADC module only supports card modules on the actiCHamp in order (for example if you have module cards in slots 1, 2 and 3) if you have cards in slots 1, 2, and 4, the module '''WILL NOT WORK''', in fact such mode is currently '''UNTESTED'''.
* '''SampleBlockSize''' should be set equal to the size of the sample block pulled from the device.
** '''NOTE:''' The actiCHamp runs at frequencies lower than 10,000 Hz through decimation, some SampleRate/SampleBlockSize frequencies work better (ones that can be easily evenly divided). A list of valid modes is coming soon.
* '''SampleRate''' determines the rate at which the device samples data. <br/>
** '''NOTE:''' Only specific SampleRates are valid, ones that can divide into 10,000 without a remainder. The system will not run on SampleRates that are not evenly factored.
* '''ChannelNames''' is a convenience parameter.  Name channels here and they can be referenced by these names later.
* '''SourceChOffset''' should be set to a list of "0"s -- one 0 for each channel as indicated by SourceCh, separated by spaces.
* '''SourceChGain''' should be set to a list of "1"s -- one 0 for each channel as indicated by SourceCh, separated by spaces.
* '''actiCHampAmplifierID''' The ID of the amplifier to acquire signals from, amplifiers are enumerated by the library, 0 will work properly if you have only 1 amplifier installed.
** '''NOTE:''' Currently there is no way to specify which device to open without knowing it's number on the system.
* '''AcquistionMode''' Is the mode in which to operate the device, 0 for normal signal acquisition, 1 for shielded signal acquisition, 3 for impedance values, 4 for a test square wave generated out of the GND channel.
** '''NOTE:''' Only normal signal acquisition is supported for now.
* '''ReferenceChannel''' Use this value to automatically use a channel as a reference(subtract that EEG channel from all others), use 0 to disable this value.
**" '''NOTE:''' You probably want to set this value in order to have intelligible output, and have that channel's electrode as close to GND as possible.


===SourceCh===
This represents the total number of channels to be logged from the source module. This must be equal to the total number of channels in EegChList, AuxChList, and TriggerChlist.
===SampleRate===
Determines the rate at which the device samples data.
===SampleBlockSize===
Should be set equal to the size of the sample block to be pulled from the device.
===SourceChOffset===
This should be set to a list of "0"s -- one 0 for each channel as indicated by SourceCh, separated by spaces.
===SourceChGain===
The appropriate respective gain values for the EEG and AUX channel banks are hard-coded into the driver, so this should just be set to a list of "1"s -- one 1 for each channel as indicated by SourceCh, separated by spaces.
===actiCHampAmplifierID===
The ID of the amplifier to acquire signals from, amplifiers are enumerated by the library, 0 will work properly if you have only 1 amplifier installed.
===AcquisitionMode===
Is the mode in which to operate the device, 0 for normal signal acquisition, 1 for shielded signal acquisition, 3 for impedance values, 4 for a test square wave generated out of the GND channel.
===ReferenceChannel===
Use this value to automatically use a BCI channel as a reference (subtract that EEG channel from all others); use 0 to disable this.
===EegChList===
A list of (one-based) indices to the EEG channels to be acquired. These EEG channels appear first in the final ordering, before AUX and trigger channels.
===AuxChList===
A list of indices (each in the range 1 through 8 inclusive) indicating which Auxiliary channels are to be acquired. Aux channels are postfixed immediately following the EEG channels.
===TriggerChList===
A list of indices (each in the range 1 through 16 inclusive) indicating which Trigger channels are to be acquired. Trigger channels are postfixed immediately following the Aux channels.


===Valid Operating Modes===
===ActiveShieldGain===
This list will be generated in January 2013.
The value you wish to set ActiveShieldGain to in ActiveShield mode, (1-100) inclusive.


==See also==
==See also==

Latest revision as of 15:04, 7 August 2020

Synopsis

actiCHamp is a modular amplifier from BrainVision products. This contributed module allows you to use the actiCHamp in BCI2000.

Hardware Quirks

  • The BrainVision PowerPack is a "dumb" battery. There is no way to get the mAh ratings off of it, thus there is no way to calculate the battery life in BCI2000. Therefore, BCI2000 will not show the battery life for the BrainVision actiCHamp or warn you if the battery life is low.
  • This ADC module only supports card modules on the BrainVision actiCHamp in order (for example if you have module cards in slots 1, 2 and 3) if you have cards in slots 1, 2, and 4, the module WILL NOT WORK, in fact such mode is currently UNTESTED.
  • The BrainVision actiCHamp runs at frequencies lower than 10,000 Hz through decimation, some SampleRate/SampleBlockSize frequencies work better than others (ones that can be easily evenly divided). The actiCHamp will however stall and unsync if run under 64 Hz.
  • The BrainVision actiCHamp does not have a dedicated ground/reference node like the g.USBamp or the g.HIamp. It only has a node that is supposed to act as a ground to the whole array, therefore in order to get intelligible data it is necessary to set the reference channel to the node closest to the ground signal node.

Location

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

Versioning

Authors

Paul Ignatenko (paul dot ignatenko at gmail dot com)

Version History

Version 1.0: January 2013 -- Revision 4363 (CURRENT)

  • Supports monitoring of EEG, AUX, and Triggers
  • Supports arbitrary number of EEG, AUX, and Triggers in lists.
  • Supports impedance, normal, test, and ActiveShield modes.
  • Library reference by any channel

Version 0.1: December 2012

  • Supports EEG Channels
  • Supports AUX Channels
  • Referencing by any channel

Source Code Revisions

  • Initial development: 4337
  • Tested under: 4363
  • Known to compile under: 4363
  • Broken since: --

Functional Description

Acquires EEG, AUX and Trigger Input data from the BrainVision actiCHamp.

Installation

Compile the actiCHamp module using CMake and your compiler. The resulting actiCHampSource.exe should be placed in the prog directory automatically.

Parameters

SourceCh

This represents the total number of channels to be logged from the source module. This must be equal to the total number of channels in EegChList, AuxChList, and TriggerChlist.

SampleRate

Determines the rate at which the device samples data.

SampleBlockSize

Should be set equal to the size of the sample block to be pulled from the device.

SourceChOffset

This should be set to a list of "0"s -- one 0 for each channel as indicated by SourceCh, separated by spaces.

SourceChGain

The appropriate respective gain values for the EEG and AUX channel banks are hard-coded into the driver, so this should just be set to a list of "1"s -- one 1 for each channel as indicated by SourceCh, separated by spaces.

actiCHampAmplifierID

The ID of the amplifier to acquire signals from, amplifiers are enumerated by the library, 0 will work properly if you have only 1 amplifier installed.

AcquisitionMode

Is the mode in which to operate the device, 0 for normal signal acquisition, 1 for shielded signal acquisition, 3 for impedance values, 4 for a test square wave generated out of the GND channel.

ReferenceChannel

Use this value to automatically use a BCI channel as a reference (subtract that EEG channel from all others); use 0 to disable this.

EegChList

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

AuxChList

A list of indices (each in the range 1 through 8 inclusive) indicating which Auxiliary channels are to be acquired. Aux channels are postfixed immediately following the EEG channels.

TriggerChList

A list of indices (each in the range 1 through 16 inclusive) indicating which Trigger channels are to be acquired. Trigger channels are postfixed immediately following the Aux channels.

ActiveShieldGain

The value you wish to set ActiveShieldGain to in ActiveShield mode, (1-100) inclusive.

See also

User Reference:Filters, Contributions:ADCs