English / 繁體中文 :
  • English
  • 繁體中文

OPI Console Data Formats and Algorithms

Global time-stamp support: UTC +/- Local Time Zone offset is automatically recorded in header section of EDF files, allowing easy conversions between local time zones.

I. Generic ( .edf, _act.txt) file contents:

  • ADC (512Hz):  main ADC signal from high-gain amplifier, can be EEG, ECG, EMG based on skin location.
  • Accel. X-axis (8Hz): +/-2G range, (X+Y)/1.414 corresponds to right (+ value) and left (- value) side tilt posture measure.
  • Accel. Y-axis (8Hz): +/-2G range, (X+Y)/1.414 corresponds to right (+ value) and left (- value) side tilt posture measure.
  • Accel. Z-axis (32Hz): +/-2G range, Z corresponds to forward/down (- value)  and backward/up (+ value) tilt posture measure.
  • Temperature (8Hz): average of 8 samples (with 1Hz smoothed output) is recommended. Note: the measured temperature is weighted average of skin temperature and environment temperature.
  • Activity (8Hz): 0~50dB range,  10*log10(ACT/1000000), where ACT=sum-of-square(dZ @32Hz) + 1/3*sum-of-square(dX,dY,mean-dZ4 @8Hz) + 1/24*sum-of-square(dX, dY, mean-dZ4, spaced 0.5sec apart @2Hz).  ACT is a weighted sum total of energetic motions at different speeds: superfast @32Hz, fast @8Hz and slow @2Hz. 
  • The Activity summary ( _act.txt) reported on Posture Viewer is based on calibrated normal activity intensity levels at:

(i) <6dB: no motion or noise level;
(ii) 6~10dB: low or slow motion;
(iii) 10~20dB: mid or walking motion;
(iv) 20~28dB: high or running motion; and
(v) >28dB: intense or rapid shaking motion. 

  • The Pedometer step count reported on Posture Viewer is based on Z-axis zero-crossing (over 1 sec moving average) with hysteresis of more than +/-0.09G.

II. EEG ( _EEG.edf) file contents:

  • M2 (8Hz): upper EMG band, 156.5~256Hz excluding Utility Pollution bands; primarily muscle activities.
  • M1 (8Hz): lower EMG band, 104.5~144Hz excluding Utility Pollution bands; primarily muscle activities.
  • G2 (8Hz): upper Gamma (super Beta) band, 62.5~96Hz excluding Utility Pollution bands; highly affected by muscle activities.
  • G1 (8Hz): lower Gamma (super Beta) band, 40~58Hz excluding Utility Pollution bands; still affected by muscle activities.
  • UP (8Hz): combined utility pollution bands, centered on 50, 60, 100, 120, 150, 180, 200, 240Hz with side lobes; highly affected by muscle activities.
  • Beta (8Hz): Beta band, 16~40Hz; somewhat affected by muscle activities, somewhat affected by strong Delta waves.
  • Sigma (8Hz): Sigma (sleep spindles) narrow band (-1Hz<center>+2Hz), center frequency should be custom adjusted: for center @11Hz (10~13Hz); somewhat affected by strong Delta waves and Alpha waves (due to proximity or overlapping). Sigma wave (sleep spindle) is primary cue for Sleep2 and Sleep3 stages.
  • Alpha (8Hz): Alpha narrow band (-1Hz<center>+2Hz), center frequency should be custom adjusted: for center @9Hz (8~11Hz); somewhat affected by strong Delta waves and Sigma waves (due to proximity or overlapping).  Alpha wave is one of the primary cues for certain meditation stages, and is much stronger when measured near temporal or parietal lobes.  However, very many individuals (>>10%) do not have strong Alpha waves, even at temporal or parietal lobes.  So any Alpha wave based measurements should be viewed cautiously.
  • Theta (8Hz): Theta band, 4~7Hz; highly affected by strong Delta waves and Alpha waves. Theta band is mostly a transitional band, usually associated with drowsiness.
  • Delta (8Hz): Delta band, 1~4Hz; highly affected by motions and pressure changes (skin piezo-electric effects), if skin contact conduction is not improved by using gel pads or conductive adhesive. Delta wave is the primary cue for deep sleep (Sleep3) stage, and certain meditation stages.
  • All EEG bands are in 0~100dB range, 10*log10(Power)-70dB(offset). Using FFT @512Hz and 1024 samples (2 sec. window with 1sec. moving center), the frequency resolution is 0.5Hz.
  • The preset Alpha, Sigma values are tabulated in User Profile (stored in opic_cfg.txt with opiconsole.exe).

III. ECG ( _ECG.edf, _RR.txt) file contents:

  • RR (32Hz): Extracted instantaneous beat-to-beat, or R-peak to R-peak interval in mili-seconds, converted to beat-per-minute (bpm) by 60*1000/RR. 0~3276.7msec range.  RR responds and changes (called arousal) rapidly to physical, emotional (or brain) activities.  To isolate emotional (or brain) activities from physical activities, stable and comfortable posture is preferred.  RR is generally modulated by breathing cycle (faster when inhaling, slower when exhaling), therefore RR can be modulated and trained (or through bio-feedback) by various timed or deep breathing techniques.  The _RR.txt file can be optionally generated, which can feed into Kubios HRV program for more detailed analysis.
  • RPeak (32Hz): Extracted R-peak amplitude in microVolts with +/-800uV range. RPeak also corresponds to breathing cycle (lower when inhaling, higher when exhaling) and can be supplemental bio-feedback signal.
  • SDNN (32Hz): Standard Deviation (SD) of RR, same as SDRR, calculated over 4096 samples (128sec) and updated every 16sec, in mili-seconds with 0~327.67msec range.  Highly sensitive to any kind of arousal, and numerical effects (or artifacts) may last up to 256sec.  SDNN is simple measure of HRV (heart rate variation) and larger SDNN is generally associated with good health.
  • HFpower (32Hz): Spectral power of HF(0.15~0.4Hz) band of RR calculated over 4096 samples (128sec) in dB. -40~40dB range.  Highly sensitive to any kind of arousal, and numerical effects (or artifacts) may last up to 256sec.
  • LHRatio (32Hz): LF (0.04~0.15Hz)/HF(0.15~0.4Hz) ratio of RR calculated over 4096 samples (128sec) in dB. -20~20dB range (0.01X to 100X).  Highly sensitive to any kind of arousal, and numerical effects (or artifacts) may last up to 256sec.
  • ECG results are sometimes used for sleep analysis, their unusual patterns during REM stage and deep sleep stage are very interesting.

IV. Sleep ( _hyp.edf, _hyp.txt, _hyp_sum.txt) file contents:

  • Sleep scoring: Epoch=30sec. 6=Wake state, 5=REM sleep, 4=N1(S1) transitional, 3=N2(S2) shallow sleep, 2=N3(S3) deep sleep, 1=M2 motion disturb/arousal, 0=P incorrect posture for sleep.
  • Total time = total time of data set; Lie Down time = time with correct posture, Sleep time = N1+N2+N3+REM. Note: 1=M2 may be equivalent to 6=Wake if followed by Wake state, otherwise it is generally considered as continuation of previous state.  However, in this program, 1=M2 is excluded from Sleep time.
  • Algorithm sequence:
    1. detect and exclude incorrect Posture;
    2. detect and exclude M2 and Activity motion artifacts;
    3. detect G1 wave threshold (referenced to M2) for Wake state;
    4. detect Delta wave threshold (referenced to G1 and self-reference) for N3;
    5. detect Sigma wave threshold (referenced to G1) or lower Delta wave threshold for N2;
    6. detect Theta wave threshold (referenced to G1) for N1;
    7. assign epoch with no features. 
    8. Note: the algorithm sequence is for reducing artifacts from motion (M2 and Activity) on high frequency bands and from Delta waves (real or motion) on low frequency bands. 
    9. The preset threshold values are tabulated in User Profile (stored in opic_cfg.txt with opiconsole.exe), it may need to be adjusted for individual and sensor wearing locations.
  • It's highly recommended that you take these "scores" as reference only. It's more fun with deeper understanding to learn about your own EEG patterns, by viewing the spectrogram of your ADC signal in .edf file, or viewing the EEG bands in _EEG.edf file.

V. Meditation ( _med.edf, _med.txt, _med_sum.txt) file contents:

  • Meditation scoring: Epoch=10sec. 6=Mind active, 5=Alpha wave, 4=N1 drowsy, 3=N2 dozing, 2=N3 Delta wave, 1=M2 motion disturb/arousal, 0=P incorrect posture for meditation.
  • Total time = total time of data set; Meditate(head-up) time = time with correct posture, Dozing=N1+N2. Note: 1=M2 may be equivalent to 6=Mind active.
  • Algorithm sequence:
    1. detect and exclude incorrect Posture;
    2. detect and exclude M2 and Activity motion artifacts;
    3. detect G1 wave threshold (referenced to M2) and Beta wave threshold (referenced to M2) for Mind active state; many meditation techniques require no active mind during meditation, while other techniques promote active mind during meditation.
    4. detect Delta wave threshold (referenced to G1 and self-reference) for N3; some meditation techniques regard Delta wave as special.
    5. detect Alpha wave threshold (referenced to G1) for Alpha; many people do not have prominent Alpha wave.
    6. detect Sigma wave threshold (referenced to G1) or lower Delta wave threshold for N2;
    7. detect Theta wave threshold (referenced to G1) for N1;
    8. assign epoch with no features.
    9. Note: the algorithm sequence is for reducing artifacts from motion (M2 and Activity) on high frequency bands and from Delta waves (real or motion) on low frequency bands.
    10. The preset threshold values are tabulated in User Profile (stored in opic_cfg.txt with opiconsole.exe), it may need to be adjusted for individual and sensor wearing locations.
  • It's highly recommended that you take these "scores" as reference only. It's more fun with deeper understanding to learn about your own EEG patterns, by viewing the spectrogram of your ADC signal in .edf file, or viewing the EEG bands in _EEG.edf file.

Dear all, you are welcome to modify and improve the algorithms used, and if possible, share with everyone.

 

English