Jump to content

Contributions:vAmpADC

From BCI2000 Wiki

Function

The vAmpADC filter acquires data from up to four V-Amp or FirstAmp EEG amplifiers. 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 16-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).

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, the 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 and from multiple amplifiers, 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.

DeviceIDs

List of serial numbers (e.g., 70) of all devices. Serial numbers of found devices will be listed in the BCI2000 log window. If you have more than one device, this list determines the order of the channels in the data file.

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 across all USBamp devices.

SourceChDevices

The number of channels acquired from each device. If there is only one device, this parameter has to equal SourceCh. For example, '16 8' will acquire channels from the first device listed under DeviceIDs, and 8 channels from the second device listed under DeviceIDs. Data acquisition always starts at channel 1. The sum of all channels (e.g., 24 in this example) has to equal the value of SourceCh. In high-speed mode, this number may not be higher than 5 per device (4 channels + digital).

SourceChList

The list of channels that should be acquired from each device. The total number of channels listed should correspond to SourceCh. For more than one device, SourceChDevices determines how the SourceChList values are mapped to each device. For example if SourceChDevices = '8 8' and SourceChList = '1 2 3 4 13 14 15 16 5 6 7 8 9 10 11 12', then channels 1-4 and 13-16 will be acquired on the first device, and channels 5-12 will be acquired on the second device. These channels will be saved in the data file as 16 contiguous channels. 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 on a single device. Channels may not be listed twice on a single device; e.g., entering '1 2 3 4 5 6 7 1' if SourceChDevices = '8' will result in an error. If this parameter is left blank (the default), then all channels are acquired on all devices. 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.

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.

This impedance test reports input impedances for each channel in a separate window. Values are color-coded according to the magnitude:

  • Green: 0-5 kOhm
  • Orange: 5-30 kOhm
  • Red: 30-1000 kOhm
  • Purple: > 1 MOhm

Values are updated real-time. Channels are shown in columns, and devices in rows.

  • 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 μ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 μ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 μV. In this case, SourceChGain should be a list of 1's (because the conversion factor between data samples into μ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 μV.