1

I am using EmoKit (https://github.com/openyou/emokit) to retrieve data. The sample data looks like as follows:

+========================================================+
| Sensor |   Value  | Quality  | Quality L1 | Quality L2 |
+--------+----------+----------+------------+------------+
|   F3   |   -768   |   5672   |    None    |  Excellent  |
|   FC5  |   603    |   7296   |    None    |  Excellent  |
|   AF3  |   311    |   7696   |    None    |  Excellent  |
|   F7   |   -21    |   296    |  Nothing   |  Nothing   |
|   T7   |   433    |   104    |  Nothing   |  Nothing   |
|   P7   |   581    |   7592   |    None    |  Excellent  |
|   O1   |   812    |   7760   |    None    |  Excellent  |
|   O2   |   137    |   6032   |    None    |  Excellent  |
|   P8   |   211    |   5912   |    None    |  Excellent  |
|   T8   |   -51    |   6624   |    None    |  Excellent  |
|   F8   |   402    |   7768   |    None    |  Excellent  |
|   AF4  |   -52    |   7024   |    None    |  Excellent  |
|   FC6  |   249    |   6064   |    None    |  Excellent  |
|   F4   |   509    |   5352   |    None    |  Excellent  |
|   X    |    -2    |   N/A    |    N/A     |    N/A     |
|   Y    |    0     |   N/A    |    N/A     |    N/A     |
|   Z    |    ?     |   N/A    |    N/A     |    N/A     |
|  Batt  |    82    |   N/A    |    N/A     |    N/A     |
+--------+----------+----------+------------+------------+
|Packets Received:  3101    |  Packets Processed:  3100  |
|   Sampling Rate:   129    |        Crypto Rate:   129  |
+========================================================+

Are these values in micro-volts? If so, how can these be more than 200 microvolts? The EEG data is in the range of 0-200 microvolts. Or does this require some kind of processing? If so what?

chochim
  • 1,710
  • 5
  • 17
  • 30

1 Answers1

1

As described in the frequently asked questions of emokit, :

  • What unit is the data I'm getting back in? How do I get volts out of it?

One least-significant-bit of the fourteen-bit value you get back is 0.51 microvolts. See the specification for more details.

Looking for the details in the specification (via archive.org), we find the following for the "Emotiv EPOC Neuroheadset":

Resolution                      |  14 bits 1 LSB = 0.51μV (16 bit ADC, 
                                |  2 bits instrumental noise floor discarded)
Dynamic range (input referred)  |  8400μV (pp) 

As a validation we can check that for a 14 bits linear ADC, the 8400 microvolts (peak-to-peak) would be divided in steps of 8400 / 16384 or approximately 0.5127 microvolts.

For the Epoc+, the comparison chart indicates a 14-bit and a 16-bit version (with a +/- 4.17mV dynamic range or 8340 microvolts peak-to-peak). The 16-bit version would then have raw data steps of 8340 / 65536 or approximately 0.127 microvolts. If that is what you are using, then the largest value of 812 you listed would correspond to 812 * 0.127 = 103 microvolts.

SleuthEye
  • 14,379
  • 2
  • 32
  • 61
  • Thanks for explaining the rationale here. I have an Emotiv Epoc 1.0 (not Epoc+). In some resources on the net (https://www.emotiv.com/forums/topic/Insight_Sample_EEG_data/), it's mentioned that raw sensor data is offset by 4100 microvolts. Do you think this should be removed from the readings as well? Or should I apply bandpass filter (in frequency domain) to take care of this? – chochim Apr 09 '17 at 10:04
  • 1
    You'd have to do that on the Emotiv data, but [emokit does that for you](https://github.com/openyou/emokit/blob/master/python/emokit/packet.py#L55). – SleuthEye Apr 09 '17 at 11:41
  • Thanks @SleuthEye. – chochim Apr 09 '17 at 11:42