Jump to content

Contributions:LiveAmpADC: Difference between revisions

From BCI2000 Wiki
Ratko (talk | contribs)
No edit summary
 
(7 intermediate revisions by one other user not shown)
Line 2: Line 2:


==Function==
==Function==
The ''LiveAmpADC'' filter acquires data from a ''LiveAmp'' wireless (Bluetooth) amplifier.  
The ''LiveAmpADC'' filter acquires data from a ''LiveAmp'' wireless (Bluetooth) amplifier.  
The ''LiveAmp'' is an amplifier/digitizer combination from Brain Products.
The ''LiveAmp'' is an amplifier/digitizer combination from Brain Products.
Line 7: Line 8:


===LiveAmp Hardware===
===LiveAmp Hardware===
The LiveAmp consists of 32 independent 24-bit A/D converters that can sample at: 250, 500 and 1000 Hz.
 
Either up to 32 referential EEG/ExG channels (with either passive or active electrodes) or up to 24 EEG/ExG referential channels plus up to 8 bipolar ExG channels (with passive electrodes only).\\
8 AUX channel can be attached to AUX input, using the Sensor Trigger Extension. There is one Trigger channel and 8 Digital I/O.
There is a built-in 3-axis acceleration sensor with 3 separate channels (x, y, z).\\
More on hardware can be found at: [http://www.brainproducts.com/productdetails.php?id=63 LiveAmp Technical details].


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


# Plug in the V-Amp to a USB port. Windows should recognize it, and start to install drivers.
The BlueTooth dongle UBT21 must be installed first. The driver comes with the LiveAmp.
# 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.
# When it asks you to insert the disc that came with the amplifier, select the option that allows you to browse for the driver.
# Navigate to BCI2000\src\extlib\brainproducts\vamp\. It should find the driver files, and installed the necessary software.
# For the last step, copy the files DiBpGmbH.dll and FirstAmp.dll to the BCI2000\prog\ folder.
# You should now be able to run the vAmpSource.exe module in BCI2000.


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


===SamplingRate===
[[File:LiveAmpADC.png| 500px| center| ]]
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
===SerialNumber===
*1000
Each LiveAmp has the serial number. The serial number can be found on the back of the amplifier. This number must be set as a parameter (without letters "LA-"). It is necessary for the Bluetooth connection
*666.6
*500
*400
*333.3
*285.7
*250
*222.22
*200


In 20 kHz mode, 10 times the above rates are valid.
===SourceCh===
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.
The total number of channels: EEG + AUX + Acc + Triggers (see parameters below).  
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===
===SampleBlockSize===
Samples per channel per digitized block.  
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.
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 500 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) will be updated 25 times per second.


===SourceCh===
===SamplingRate===
The total number of channels. In high-speed mode, this number may not be higher than 5 (4 channels + digital).
The sample rate of the system. All data is either acquired at 250, 500 or 1000Hz
In case you are experiencing problems by higher sampling rates (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.


===SourceChList===
===SourceChGain===
The list of channels that should be acquired from the vAmp device.
Gain for each channel.  
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==
===SourceChOffset===
Offset for each channel.


===Data Storage===
===ChannelNames===
*The signal is originally recorded from the V-Amp as 32-bit integers, and converted into <math>\mu V</math>.
Names of each channel.
*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 <math>\mu V</math> 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 <math>\mu V</math>. In this case, ''SourceChGain'' should be a list of 1's (because the conversion factor between data samples into <math>\mu V</math> 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 <math>\mu V</math>.


===V-Amp Service Troubleshooting===
===AcquisitionMode===
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.
Data acquisition mode, it can be:  
 
*inactive - no recording
[[File:Log_VampServiceDetected.png]]
*analog signal acquisition - standard recording mode
 
*test signal - a test signal, same on all channels
 
In order to stop the “VAmpService.exe”, the following steps need to be done:
 
1. Open Windows Start menu by clicking on icon [[File:StartWin.png]]  in left-bottom corner.
 
2. In Windows Start menu type Services, and click on „Services“ when it appears in the menu.
 
[[File:VampServiceOff_step1.png]]
 
 
3. Service window opens, showing the list of services running on your PC.
 
[[File: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.
==Parameters:LiveAmp==


Now you can use V-Amp device.
===EegChList===
List of indexes of EEG channels used. For example, you can write index in any order, like: 21, 3, 5, 6, 7, 8 (the order of channels does not matter). That means that only 6 EEG physical channels will be recorder: 3,5,6,7,8 and 21. Channels may not be listed twice.


===BipolarChannels===
Checking this option the last 8 of 32 channels will be bipolar. When user wants to record bipolar channel, he/she must put appropriate indexes in the 'EegCHList' (indexes between 25 and 32).


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.
===AuxChList===
List of indexes of AUX channels. For example, if there are 6 AUX available, you can put 1, 2, 5, 6. That mans that only 4 AUX channel will be recorder, with indexes 1,2, 5 and 6.


'''start C:\Vision\Recorder\VAmpService.exe -Uninstall'''
===ACCList===
cd ..\prog
List of indexes of Acc (acceleration sensor) channels. There are 3 Acc channels, with indexes 1(x), 2(y) and 3(z).
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.
===TriggerChList===
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.
List of indexes of trigger channels. There is one analog and 8 digital channels. The order of indexes can be used in the same manner as EEG and AUX channel indexes.  
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==
==See also==

Latest revision as of 21:29, 20 August 2019

LiveAmpADC

Function

The LiveAmpADC filter acquires data from a LiveAmp wireless (Bluetooth) amplifier. The LiveAmp is an amplifier/digitizer combination from Brain Products. Support for this device in BCI2000 consists of a BCI2000-compatible Source Module (LiveAmpSource.exe).

LiveAmp Hardware

Either up to 32 referential EEG/ExG channels (with either passive or active electrodes) or up to 24 EEG/ExG referential channels plus up to 8 bipolar ExG channels (with passive electrodes only).\\ 8 AUX channel can be attached to AUX input, using the Sensor Trigger Extension. There is one Trigger channel and 8 Digital I/O. There is a built-in 3-axis acceleration sensor with 3 separate channels (x, y, z).\\ More on hardware can be found at: LiveAmp Technical details.

Installation

The BlueTooth dongle UBT21 must be installed first. The driver comes with the LiveAmp.

Parameters:LiveAmpADC

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

SerialNumber

Each LiveAmp has the serial number. The serial number can be found on the back of the amplifier. This number must be set as a parameter (without letters "LA-"). It is necessary for the Bluetooth connection

SourceCh

The total number of channels: EEG + AUX + Acc + Triggers (see parameters below).

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 500 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) will be updated 25 times per second.

SamplingRate

The sample rate of the system. All data is either acquired at 250, 500 or 1000Hz In case you are experiencing problems by higher sampling rates (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.

SourceChGain

Gain for each channel.

SourceChOffset

Offset for each channel.

ChannelNames

Names of each channel.

AcquisitionMode

Data acquisition mode, it can be:

  • inactive - no recording
  • analog signal acquisition - standard recording mode
  • test signal - a test signal, same on all channels

Parameters:LiveAmp

EegChList

List of indexes of EEG channels used. For example, you can write index in any order, like: 21, 3, 5, 6, 7, 8 (the order of channels does not matter). That means that only 6 EEG physical channels will be recorder: 3,5,6,7,8 and 21. Channels may not be listed twice.

BipolarChannels

Checking this option the last 8 of 32 channels will be bipolar. When user wants to record bipolar channel, he/she must put appropriate indexes in the 'EegCHList' (indexes between 25 and 32).

AuxChList

List of indexes of AUX channels. For example, if there are 6 AUX available, you can put 1, 2, 5, 6. That mans that only 4 AUX channel will be recorder, with indexes 1,2, 5 and 6.

ACCList

List of indexes of Acc (acceleration sensor) channels. There are 3 Acc channels, with indexes 1(x), 2(y) and 3(z).

TriggerChList

List of indexes of trigger channels. There is one analog and 8 digital channels. The order of indexes can be used in the same manner as EEG and AUX channel indexes.

See also

User Reference:Filters, Contributions:ADCs