Contributions:NihonKohdenSource

Synopsis
The Nihon Kohden JE-120A amplifier is a clinical monitoring system capable of acquiring EEG or ECoG signals from up to 256 channels. Paired with the QI-123A LAN converter box, this system can provide a research data stream in addition to the clinical data stream. The research data stream can be sampled at up to 2kHz for 256 channels, 5kHz for 128 channels or 10kHz for 64 channels.
Location
http://www.bci2000.org/svn/trunk/src/private/SignalSource/NihonKohdenSource
Versioning
Authors
Griffin Milsap (griffin.milsap@gmail.com) Johns Hopkins University
Peter Brunner (brunner@neurotechcenter.org) Washington University in St. Louis
Markus Adamek (adamek@neurotechcenter.org) Washington University in St. Louis
Alexander Belsten (belsten@neurotechcenter.org) Washington University in St. Louis
Version History
- Version 1.0 (r4913): November 2015 - Initial release.
- Version 1.1 (r6245): March 2021 - Updated to support x64.
Source Code Revisions
- Initial development: 4913
- Tested under: 6245
- Known to compile under: 6245
- Broken since: --
Functional Description
This setup requires the following components:
- JE-120A amplifier:
- QI-123A LAN converter:
The amplifier is a clinical monitoring system capable of acquiring EEG or ECoG signals from up to 256 channels. Paired with the QI-123A LAN converter box, this system can provide a research data stream in addition to the clinical data stream. The research data stream can be sampled at up to 2kHz for 256 channels, 5kHz for 128 channels or 10kHz for 64 channels.
- Input range: ±3.2 mV or ±12.8 mV (selectable)
- Effective resolution: 16 bit (97.65 nV/LSB) or 16 bit (390.62 nV/LSB) (selectable)
- Input impedance: 200 MΩ
- Sampling Rates: 100Hz, 200Hz, 500Hz, 1000Hz, 2000Hz, 5000Hz, 10000Hz
Clinical Setup
To enable the research data stream, enable "Use QI-124A ports" under the JE-120 settings.
Installation
This source module is located in a private directory of BCI2000. To build the source, you must have the necessary credentials, enable BUILD_PRIVATE in CMake, and modify the CMakeLists.txt in the private and SignalSource directories to build to NihonKohdenSource.
Parameters
- SourceCh total number of channels to be acquired from the source module or auto for all channels enabled in the Neuroworkbench
- SampleBlockSize number of samples acquired in each block or auto for default setting (1/10th of sampling rate)
- 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 auto for default settings (0 for each channel).
- SourceChGain auto for default settings (1 for each channel).
- SourceChList list of channels that should be acquired or auto for all channels enabled in the Neuroworkbench
- SourceBufferSize
Valid Operating Modes
The NihonKohdenSource only accepts specific sampling rates. The number of channels acquired is limited at sampling rates of 5000 Hz and above. The following table shows all valid combinations of sample rate and maximum number of channels.
| SamplingRate | Max SourceCh | Aliasing Filter Cut-Off |
|---|---|---|
| [samples/sec] | [channels] | [Hz] |
| 100 | 256 | 30 or 35 |
| 200 | 256 | 60 or 70 |
| 500 | 256 | 120 |
| 1000 | 256 | 300 |
| 2000 | 256 | 600 |
| 5000 | 128 | 1200 |
| 10000 | 64 | 3000 |
Valid Operating Modes
State Variables
- DC01 to DC16 DC Input data
- Digital Range: 0 to 65535
- Analog Range: 0xFFFF(Max)-0x8000(0V)-0x0000(Min). (Signed.)
- 1LSB: 366.3uV
- SpO2
- Digital Range: 0 to 100
- 0 means 0%, 100 means 100%
- EtCO2
- Digital Range: 0 to 100
- 0 means 0mmHg, 100 means 100mmHg
- BP1 to BP2
- not implemented
- DigitalMark1 to DigitalMark2
- not implemented
DC Input From Other Devices
Analog data from a g.TRIGbox and parallel port can be obtained though the JE120A's DC inputs. A parallel port Y-splitter and a custom cable is necessary. Connection of the custom cables and Y-splitter is outlined in the image below.
The outputs from the g.TRIGbox and parallel port to the DC input of the JE120A are defined below. Note that the g.TRIGbox trigger outputs are the TTL pins. See Contributions:ParallelPortFilter for information on how to set the outputs of a parallel port from BCI2000.
| JE120A | g.TRIGbox | Parallel Port | |||
|---|---|---|---|---|---|
| Pin No. | Signal | Pin No. | Signal | Pin No. | Signal |
| 1 | DC01 | 2 | Output A | - | - |
| 2 | DC02 | 3 | Output B | - | - |
| 3 | DC03 | 4 | Output C | - | - |
| 4 | DC04 | 5 | Output D | - | - |
| 5 | DC05 | 8 | Encoded Output | - | - |
| 6 | DC06 | - | - | - | - |
| 7 | DC07 | - | - | - | - |
| 8 | DC08 | - | - | - | - |
| 9 | DC09 | - | - | 2 | Data0 |
| 10 | DC10 | - | - | 3 | Data1 |
| 11 | DC11 | - | - | 4 | Data2 |
| 12 | DC12 | - | - | 5 | Data3 |
| 13 | DC13 | - | - | 6 | Data4 |
| 14 | DC14 | - | - | 7 | Data5 |
| 15 | DC15 | - | - | 8 | Data6 |
| 16 | DC16 | - | - | 9 | Data7 |
| 24 | GND | 1 | GND | 24 | GND |
Certification Results
The Nihon Kohden certification was performed to give a better understanding of the restraints that must be placed on the system when using this device. Certification success criteria was determined internally and without rigor, and reflects our experience with psychophysical experiments and the performance we expect to need for the system. More information about certification testing can be found on the certification wiki page.
PC Specifications
- Lenovo Thinkpad E580 (https://www.lenovo.com/us/en/laptops/thinkpad/thinkpad-e-series/ThinkPad-E580/p/22TP2TEE580)
- Processor: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz 2.7GHz
- Installed Ram: 8.00 GB
- Graphics Card: Intel(R) HD Graphics 620
- System Type: 64-bit operating system, x64-based processor
- BCI2000 compiled with MSVC2019 and Qt 5.15.2
- g.USBamp UB with driver version 3.16.00 installed
Certification Tests Performed
Certification testing varied number of channels (4, 8, 16) task (P3Spell (7x7 grid), P3Spell (1x1 grid), CursorTask, CursorTaskLow, and StimulusPresentation), and tested audio and video latency, for a total of 15 performed tasks.
Success Criteria and Overall Results
| Name | Actual Latency | Success Criteria | Result |
| Timestamp Latency Mean | 2.81 µs | 1 ms | passed |
| Timestamp Latency STD | 2.75 ms | 5 ms | passed |
| Processing Latency Mean | 35 ms | 20 ms | failed |
| Processing Latency STD | 164 ms | 10 ms | failed |
| Video Latency Mean | 66.9 ms | 65 ms | failed |
| Video Latency STD | 6.31 ms | 20 ms | passed |
| Audio Latency Mean | 76.2 ms | 65 ms | failed |
| Audio Latency STD | 3.94 ms | 20 ms | passed |

