Jump to content

Contributions:NihonKohdenSource: Difference between revisions

From BCI2000 Wiki
Swiftj (talk | contribs)
No edit summary
No edit summary
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[File:NihonKohdenDevice.jpg|thumb|Nihon Kohden|400px]]
==Synopsis==
==Synopsis==
The Nihon Kohden JE-120A amplifier is a clinical monitoring system capable of acquiring EEG or ECoG signals from up to 256 channels.  
The Nihon Kohden JE-120A amplifier is a clinical monitoring system capable of acquiring EEG or ECoG signals from up to 256 channels.  
Line 45: Line 47:


==Clinical Setup==
==Clinical Setup==
To enable the research data stream, enable "Use QI-124A ports" under the JE-120 settings.
[[File:NihonKohdenEnableResearchDataStream.png|900px|alt text]]


==Installation==
==Installation==
Line 50: Line 55:


==Parameters==
==Parameters==
* '''SourceCh''' total number of channels to be acquired from the source module or auto for all channels (256 channels)
* '''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)
* '''SampleBlockSize''' number of samples acquired in each block or auto for default setting (1/10th of sampling rate)
** '''NOTE:''' <span style="text-decoration: underline;">Only specific combinations of SampleBlockSize and SampleRate are valid!  See [[#Valid Operating Modes]]</span>
** '''NOTE:''' <span style="text-decoration: underline;">Only specific combinations of SampleBlockSize and SampleRate are valid!  See [[#Valid Operating Modes]]</span>
Line 58: Line 63:
* '''SourceChOffset''' auto for default settings (0 for each channel).
* '''SourceChOffset''' auto for default settings (0 for each channel).
* '''SourceChGain''' auto for default settings (1 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
* '''SourceChList''' list of channels that should be acquired or auto for all channels enabled in the Neuroworkbench
* '''SourceBufferSize'''
* '''SourceBufferSize'''


===Valid Operating Modes===
===Valid Operating Modes===
The NihonKohdenSource only accepts specific sampling rates. The number of channels acquire 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.  
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.  


{| border="1"
{| border="1"
Line 274: Line 279:


===Certification Tests Performed===
===Certification Tests Performed===
Certification testing varied block size (50, 100 ms), and task (P3Spell (7x7 grid), P3Spell (1x1 grid), CursorTask, CursorTaskLow, and StimulusPresentation), and tested audio and video latency, for a total of 12 performed tasks. The audio latency and video latency are partitioned into separate windows, as we tested them in different runs.  
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===
===Success Criteria and Overall Results===
Line 284: Line 289:
|-
|-
|Timestamp Latency Mean
|Timestamp Latency Mean
|509µs
|2.81 µs
|1 ms
|1 ms
|passed
|passed
|-
|-
|Timestamp Latency STD
|Timestamp Latency STD
|2.02ms
|2.75 ms
|1 ms
|5 ms
|failed
|passed
|-
|-
|Processing Latency Mean
|Processing Latency Mean
|44.7ms
|35 ms
|20 ms
|20 ms
|failed
|failed
|-
|-
|Processing Latency STD
|Processing Latency STD
|20.3ms
|164 ms
|10 ms
|10 ms
|failed
|failed
|-
|-
|Video Latency Mean
|Video Latency Mean
|73.1ms
|66.9 ms
|65 ms
|65 ms
|failed
|failed
|-
|-
|Video Latency STD
|Video Latency STD
|17.7ms
|6.31 ms
|20 ms
|20 ms
|passed
|passed
|-
|-
|Audio Latency Mean
|Audio Latency Mean
|62.9ms
|76.2 ms
|65 ms
|65 ms
|passed
|failed
|-
|-
|Audio Latency STD
|Audio Latency STD
|3.33ms
|3.94 ms
|20 ms
|20 ms
|passed
|passed
|}
|}


<!--
===Individual Task Breakdown===
===Individual Task Breakdown===
<div style="border:black 1px solid;width:1000px;height:600px;overflow:auto;">
<div style="border:black 1px solid;width:1000px;height:600px;overflow:auto;">
Overall result: 0/16 tasks passed, 16/16 tasks failed, 16 tasks are missing data
Overall result: 0/15 tasks passed, 15/15 tasks failed, 15 tasks are missing data


global 2021-03-04T16:21:40
global 2021-03-04T16:21:40
Line 775: Line 781:
   AudioLatency -- time interval between stimulus trigger, and audio signal detected:
   AudioLatency -- time interval between stimulus trigger, and audio signal detected:
   n=50, <x>=81.2ms±3.09ms
   n=50, <x>=81.2ms±3.09ms
C:/BCI2000.x64/data/Certification_nihon_final/StimulusPresentationAV_1000_all_100ms001/StimulusPresentationAV_1000_all_100msS001R01.dat 2021-03-04T13:58:27
could not evaluate all 10 requirements:
  AmpLatency.mean() < time("7ms")  missing or invalid data
  AmpLatency.sdev() < time("2ms")  missing or invalid data
  TimestampLatency.mean() < time("1ms")  failed
  TimestampLatency.sdev() < time("1ms")  failed
  ProcessingLatency.mean() < time("20ms")  passed
  ProcessingLatency.sdev() < time("10ms")  passed
  VideoLatency.mean() < time("65ms")  failed
  VideoLatency.sdev() < time("20ms")  passed
  AudioLatency.mean() < time("65ms")  failed
  AudioLatency.sdev() < time("20ms")  passed
  AmpLatency -- interval between block begin, and amp digital out signal change:
  n=nan, <x>=nan±nan
  TimestampLatency -- clock skew between sample clock, and SourceTime time stamp:
  n=210, <x>=1.78ms±2.3ms
  ProcessingLatency -- time interval between block received, and stimulus triggered:
  n=50, <x>=4.67ms±2.41ms
  PresentationLatency -- time interval between stimulus trigger, and video memory change:
  n=50, <x>=9.78ms±7.77ms
  AudioPresentationLatency -- time interval between audio buffering, and estimated audio output:
  n=50, <x>=39.7ms±6.59ms
  VideoLatency -- time interval between stimulus trigger, and video signal change detected:
  n=49, <x>=66ms±4.56ms
  AudioLatency -- time interval between stimulus trigger, and audio signal detected:
  n=50, <x>=73.9ms±7.43ms
</div>
</div>
-->


==See also==
==See also==

Latest revision as of 21:37, 3 September 2024

Nihon Kohden

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

  1. Version 1.0 (r4913): November 2015 - Initial release.
  2. 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.

alt text

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)
  • SampleRate determines the rate at which the device samples data.
  • 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.

alt text

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

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


See also

User Reference:Filters, Contributions:ADCs