User Reference:gHIamp
Synopsis
The g.HIamp is a 256 analog channel and 16 digital channel amplifier from g.tec. The contributed source module acquires raw signals from the amplifier in real time for use in BCI2000.
Location
http://www.bci2000.org/svn/trunk/src/core/SignalSource/g.HIampSource
Versioning
Authors
Griffin Milsap (griffin.milsap@gmail.com) Rensselaer Polytechnic Institute
Kristopher Kaleb Goering (kaleb.goering@gmail.com) University of Kansas
Version History
Version 0.9: August 2011
- Supports one g.HIamp
- Supports Filters
- Referencing by any channel
- Future compatible with g.HIamp master/slave configurations
- Using g.HIamp C API version 1.11.02
Version 1.0 June 2015
- Digital Inputs enabled
- Using g.HIamp C API version 2.14.03
Source Code Revisions
- Initial development: 3472
- Tested under: 4908
- Known to compile under: 4908
- Broken since: --
Functional Description
Acquires raw data from the g.HIamp.
Installation
Compile the gHIampSource module using CMake and your compiler. The resulting gHIampSource.exe should be placed in the prog directory automatically.
gHIampgetinfo Tool
gHIampgetinfo.exe is a simple console application that can be used to determine what gHIamp devices are connected to your system, and what hardware filters they support. This tool is automatically compiled with BCI2000 and resides in the prog directory.
The outputted tables display the index of the filter (num), the high pass frequency (hpf), the low pass frequency (hpf), the corresponding sampling frequency (sfr), the order of the filter (or), and the type. Type-name correspondence can be seen in the table below:
| Type | Name |
|---|---|
| 0 | Chebyshev |
| 1 | Butterworth |
| 2 | Bessel |
Parameters
- SourceCh represents the total number of channels to be logged from the source module.
- SampleBlockSize should be set equal to the size of the sample block pulled from the device.
- NOTE: Only specific combinations of SampleBlockSize and SampleRate are valid! See #Valid Operating Modes
- SampleRate determines the rate at which the device samples data.
- NOTE: Only specific combinations of SampleBlockSize and SampleRate are valid! See #Valid Operating Modes
- 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.
- DeviceIDMaster is the serial number identifier of the master g.HIamp device. This serial can be found on the physical device and is typically in a "HA-20XX.XX.XX" format. This parameter can also be set to "auto" if there is only one g.HIamp device connected to the machine.
- DeviceIDs is a list of device serials (typically in "HA-20XX.XX.XX" format) which corresponds to the devices to record channels from. One of these serials must be specified as the master device in the "DeviceIDMaster" parameter. This parameter can also be set to "auto" if there is only one g.HIamp device connected to the machine.
- NOTE: Device slaving is not yet supported by the module OR the g.HIamp C API. -- This parameter only exists for future compatibility.
- AcquisitionMode: Data acquisition mode
- Analog Signal Acquisition = 0
- Calibration Signal = 1
- Impedance Measurement = 2
- RefChList is a list of channels which can act as "Reference" channels for each amp. If left blank, no channel will be used as a reference, and the raw signal will be recorded in the output.
- NOTE: If specifying reference channels, there must be one reference channel per device specified in "DeviceIDs" in the same order.
- SourceChList
- FilterEnabled
- FilterHighPass
- FilterLowPass
- FilterModelOrder
- FilterType
- NotchEnabled
- NotchHighPass
- NotchLowPass
- NotchModelOrder
- NotchType
- SourceBufferSize
- EnableDigitalInputs is a toggle button to enable both digital input ports and store them in synchronous states DigitalInput1 - DigitalInput16.
- NOTE To record digital input, at least one analog channel must also be recorded.
Valid Operating Modes
The gHIamp only accepts specific combinations of sampling rates and sample block sizes. The following table shows all valid combinations of sample rate and block size. Operating outside of these modes is untested and could result in problems.
| Sample Rate | Valid Sample Block Sizes |
|---|---|
| 256 Samples per second | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 32 64 128 256 |
| 512 Samples per second | 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 32 64 128 256 |
| 600 Samples per second | 4 5 6 7 8 9 10 11 12 13 15 16 17 32 64 128 256 |
| 1200 Samples per second | 8 9 10 11 12 13 14 15 16 32 64 128 256 |
| 2400 Samples per second | 16 32 64 128 256 |
| 4800 Samples per second | 32 64 128 256 |
Digital Input
The g.HIamp has two digital input ports which give a total of 16 digital input channels, see figures below. These channels can be read and stored in synchronous states and the same sample rate as the analog channels. More information on the states are below.
State Variables
The state name gives which pin the value was read from. They are saved synchronously as the signals are read. Their value can be either a 0 or a 1.
----------------------------------------- StateName == Sensor ----------------------------------------- DigitalInput1 == Digital In 1 Pin1 DigitalInput2 == Digital In 1 Pin2 DigitalInput3 == Digital In 1 Pin3 DigitalInput4 == Digital In 1 Pin4 DigitalInput5 == Digital In 1 Pin5 DigitalInput6 == Digital In 1 Pin6 DigitalInput7 == Digital In 1 Pin7 DigitalInput8 == Digital In 1 Pin8 DigitalInput9 == Digital In 2 Pin1 DigitalInput10 == Digital In 2 Pin2 DigitalInput11 == Digital In 2 Pin3 DigitalInput12 == Digital In 2 Pin4 DigitalInput13 == Digital In 2 Pin5 DigitalInput14 == Digital In 2 Pin6 DigitalInput15 == Digital In 2 Pin7 DigitalInput16 == Digital In 2 Pin8 -----------------------------------------