Contributions:vAmpADC

From BCI2000 Wiki
Jump to: navigation, search

Function

The vAmpADC filter acquires data from a V-Amp or FirstAmp EEG amplifier. The V-Amp is an amplifier/digitizer combination from Brain Products. Support for this device in BCI2000 consists of a BCI2000-compatible Source Module (vAmpSource.exe).

V-Amp Hardware

The V-Amp consists of 16 independent 24-bit A/D converters that can sample at up to 2 kHz per channel (16 channels, plus 2 auxiliary) or 20kHz per channel (4 channels).

Installation

The necessary system drivers are located in the BCI2000\src\extlib\brainproducts\vamp\ folder. To install the driver, follow these steps:

  1. Plug in the V-Amp to a USB port. Windows should recognize it, and start to install drivers.
  2. Depending on the version of Windows being used, a Found New Hardware dialog should appear. Do NOT search online for drivers; instead, select Don't Search Online.
  3. When it asks you to insert the disc that came with the amplifier, select the option that allows you to browse for the driver.
  4. Navigate to BCI2000\src\extlib\brainproducts\vamp\. It should find the driver files, and installed the necessary software.
  5. For the last step, copy the files DiBpGmbH.dll and FirstAmp.dll to the BCI2000\prog\ folder.
  6. You should now be able to run the vAmpSource.exe module in BCI2000.

Parameters

Parameters common to all source modules are described under User Reference:DataIOFilter. In addition, the vAmpADC provides the following parameters:

SamplingRate

The sample rate of the system. All data is either acquired at 2000 Hz or 20 kHz, and then decimated to the desired rate. Therefore, only rates that are integer divisors of the base rates are accepted. In 2000 Hz mode, the valid rates are:

  • 2000
  • 1000
  • 666.6
  • 500
  • 400
  • 333.3
  • 285.7
  • 250
  • 222.22
  • 200

In 20 kHz mode, 10 times the above rates are valid. Prior to decimation, a 2nd-order anti-aliasing Butterworth filter with a corner frequency of 0.45 times the sample rate is applied to the signal. All sampling rates are supported for one or more amplifiers. If you are sampling at high rates, the CPU may be overloaded depending on the speed of your computer and the BCI2000 configuration. In case you are experiencing problems (e.g., data loss, jerky display, etc.), increase the SampleBlockSize so that you are updating the system less frequently (usually, updating the system 20-30 times per second is sufficient for most applications), and increase Visualize->VisualizeSourceDecimation. This parameter will decrease the number of samples per second that are actually drawn in the Source display.

HPFilterCorner

A high-pass digital filter for removing DC offsets. This occurs after data has been read into BCI2000.

SampleBlockSize

Samples per channel per digitized block. Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) will be updated 30 times per second.

SourceCh

The total number of channels. In high-speed mode, this number may not be higher than 5 (4 channels + digital).

SourceChList

The list of channels that should be acquired from the vAmp device. The total number of channels listed should correspond to SourceCh. The order of channels does not matter; i.e., '1 2 3 4' is the same as '2 3 1 4'. The channels are always in ascending order. Channels may not be listed twice; e.g., entering '1 2 3 4 5 6 7 1' if SourceCh = '8' will result in an error. If this parameter is left blank (the default), then all channels are acquired. For the V-Amp 16, channels 1-16 are EEG channels, 17-18 are Auxiliary channels, and 19 are the 8 digital channels stored in bits. For the V-Amp 8, channels 1-8 are EEG channels, 9-10 are Auxiliary channels and 11 is the digital channel.

AcquisitionMode

  • If set to analog signal acquisition, the V-Amp records analog signal voltages (default).
  • If set to high-speed acquisition, the V-Amp records analog signals at 20 kHz instead of 2000 Hz.
  • If set to Calibration, the signal output is a square wave test signal generated by the V-Amp (which can be used to verify correct system calibration).
  • If set to Impedance, impedance data is recorded instead of the signal. The impedance values are showm in the V-Amp display. Values are currently updated 3 times per second.
  • If set to high-speed calibration, a square wave is generated at 20 kHz.

Additional Information

Data Storage

  • The signal is originally recorded from the V-Amp as 32-bit integers, and converted into \mu V.
  • The auxiliary input units are in volts.
  • (SourceChOffset is assumed (and required) to be zero for all channels.)

BCI2000 Signal Processing or any offline analysis routine can derive, as with any other BCI2000 source module, sample values in \mu V by subtracting, from each stored sample, SourceChOffset (i.e., zero), and multiplying it with SourceChGain for each channel. If SignalType is set to float32, data samples are stored in units of \mu V. In this case, SourceChGain should be a list of 1's (because the conversion factor between data samples into \mu V is 1.0 for each channel). Still, when values other than 0 and 1 are specified, a consistent data file will be produced, i.e. values will be transformed before they are written to the file, such that applying SourceChOffset and SourceChGain will reproduce the original values in \mu V.

V-Amp Service Troubleshooting

Please note that when BrainVision Recorder was running on the computer before you are using BCI2000 there is a daemon service called "VAmpService.exe" running in background on the computer. This service must be stopped before using V-Amp amplifier.

Log VampServiceDetected.png


In order to stop the “VAmpService.exe”, the following steps need to be done:

1. Open Windows Start menu by clicking on icon StartWin.png in left-bottom corner.

2. In Windows Start menu type Services, and click on „Services“ when it appears in the menu.

VampServiceOff step1.png


3. Service window opens, showing the list of services running on your PC.

ServiceExplorer.png

4. Search for the „VAmpService“ in the list.

5. Right-click on „VAmpService“ and the drop-down menu will appear.

6. From the drop-down menu select “Stop”. This action stops the service.

Now you can use V-Amp device.


A more convenient way to solve this problem is to edit the *.bat-file for your experiment like described below, especially if you are using BCI2000 and BrainVision Recorder alternately. This avoids problems with BrainVision Recorder that you might encounter when killing the "VampService.exe" process.

start C:\Vision\Recorder\VAmpService.exe -Uninstall
cd ..\prog
start vAmpSource.exe 127.0.0.1
start ARSignalProcessing 127.0.0.1
start CursorTask.exe 127.0.0.1
operator.exe
start C:\Vision\Recorder\VAmpService.exe -Install
cd ..

Make sure that the path to "VAmpService.exe" is correct on your system. Please keep in mind that you have to customize the *.bat-file shown above regarding your experiment. For using the V-Amp in the way described, the highlightened parts are important. Please note that the commandline-window will stay open during the usage of BCI2000 (unlike when using the other *.bat-files) because of the operator.exe is started without the "start"-parameter. This is necessary to make sure that the VAmpService.exe process is started again just when BCI2000 is closed.

See also

User Reference:Filters, Contributions:ADCs