Re: channel question for programming Olimex EEG-SMT
Daniel Baker <[email protected]>
| Newsgroups | gmane.comp.science.openeeg.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Arnold,
That's very interesting. I wonder if my device has a loose connection
that causes crosstalk between the channels. That would explain the extra
activity. I guess it's not necessarily a problem, if the data I get out
of the first two channels are OK, perhaps I can ignore the other ones.
- Daniel
On 31/01/2013 19:04, nocom wrote:
> Hi Daniel,
>
> I am trying to understand my recently received EEG-SMT as well. My
> results are somewhat different than yours. From the six data channels
> numbers 0 and 1 yield data, while 2, 3 and 5 yield 6 and channel 4
> holds one or other high constant (something like 265436) which changes
> each time when you start to sample. I assumed that ch- is a reference
> for ch+. The Olimex is able to output to six channels (look at the
> schema's) but comes with only 2 to keep costs down.
>
> I am somewhat alarmed that our two devices differ that much, maybe one
> of them is somewhat defective?
>
> Arnold
>
> On 31-Jan-13 17:13, Daniel Baker wrote:
>> Hi Paddy,
>>
>> Thanks for your response. If this is the case, then for a two-channel
>> device, four of the outputs should be silent, but they are clearly
>> not. I've written a blog post with some example data, code, and
>> details of exactly what I've done:
>>
>> http://bakerdh.wordpress.com/2013/01/31/a-first-look-at-the-olimex-eeg-smt/
>>
>> I've tried unplugging some of the electrodes to see what effect this
>> has on the output. When I remove electrodes CH2+ and CH2- I get
>> activity only on the first two channels, and it looks a little odd
>> (the second channel never goes above 511 (out of 1023)). When I plug
>> only those ones in and remove CH1+ and CH1- then the first channel
>> goes silent, but the other five are active.
>>
>> I guess if you're right and the first two channels are the
>> differences between the electrodes, then maybe the other four outputs
>> are just interference. Still, it's puzzling that they go silent when
>> CH2± are unplugged.
>>
>> - Daniel
>>
>>
>>
>> On 31/01/2013 15:17, Paddy Duncan wrote:
>>> Hi Daniel,
>>> As I understood it, starting at byte 5, the 2-byte 10-bit numbers are the
>>> data for each channel ie the difference between the 2 channel electrodes.
>>> There is no data representing a single electrode, as the channels are
>>> differential. The six outputs are for the six channels that the protocol
>>> supports.
>>> Hope this helps.
>>> Paddy
>>>
>>> Below is the relevant section of the P2 firmware file:
>>> ////////// Packet Format Version 2 ////////////
>>>
>>> // 17-byte packets are transmitted from the ModularEEG at 256Hz,
>>> // using 1 start bit, 8 data bits, 1 stop bit, no parity, 57600 bits per
>>> second.
>>>
>>> // Minimial transmission speed is 256Hz * sizeof(modeeg_packet) * 10 = 43520
>>> bps.
>>>
>>> struct modeeg_packet
>>> {
>>> uint8_t sync0; // = 0xa5
>>> uint8_t sync1; // = 0x5a
>>> uint8_t version; // = 2
>>> uint8_t count; // packet counter. Increases by 1
>>> each packet.
>>> uint16_t data[6]; // 10-bit sample (= 0 - 1023) in big
>>> endian (Motorola) format.
>>> uint8_t switches; // State of PD5 to PD2, in bits 3 to
>>> 0.
>>> };
>>>
>>> //////////////////////////////////////////////////////////////
>>>
>>> -----Original Message-----
>>> From: Daniel Baker [mailto:[email protected]]
>>> Sent: 30 January 2013 20:26
>>> To:[email protected]
>>> Subject: [Openeeg-list] channel question for programming Olimex EEG-SMT
>>>
>>> Dear all,
>>>
>>> Last week I ordered and received an Olimex EEG-SMT box. I have successfully
>>> written code to read from the device using Matlab, directly over the virtual
>>> serial port interface. The data packets arrive in blocks of 17 bytes, and I
>>> have converted the six outputs (from bytes 5-16) specified in the packet
>>> protocol v2 into ten bit numbers.
>>>
>>> All six of the outputs produce a sensible looking trace, with mains
>>> artefacts at 50Hz as expected. What I don't understand is how these traces
>>> map onto the electrodes. There are four active electrodes and one ground
>>> electrode on the device. I initially thought that the mapping must be:
>>>
>>> Bytes 5&6: Channel 1+
>>> Bytes 7&8: Channel 1-
>>> Bytes 9&10: Channel 2+
>>> Bytes 11&12: Channel 2-
>>> Bytes 13&14: All of channel 1 (i.e. the difference between positive and
>>> negative) Bytes 15&16: All of channel 2
>>>
>>> Presumably all referenced to the ground. However subtracting the first two
>>> traces does not produce the fifth trace (and so on). I'm at a loss to
>>> understand why else a device with four electrodes and two notional channels
>>> would produce six outputs.
>>>
>>> All help much appreciated. I intend to make some code publicly available
>>> once I'm happy with it.
>>>
>>> Many thanks,
>>>
>>> - Daniel Baker
>>> ----------------------------------------------------------------------------
>>> --
>>> Everyone hates slow websites. So do we.
>>> Make your web apps faster with AppDynamics Download AppDynamics Lite for
>>> free today:
>>> http://p.sf.net/sfu/appdyn_d2d_jan
>>> _______________________________________________
>>> Openeeg-list mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/openeeg-list
>>> Go to the above address to change your
>>> subscription options, e.g unsubscribe.
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Everyone hates slow websites. So do we.
>>> Make your web apps faster with AppDynamics
>>> Download AppDynamics Lite for free today:
>>> http://p.sf.net/sfu/appdyn_d2d_jan
>>>
>>>
>>> _______________________________________________
>>> Openeeg-list mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/openeeg-list
>>> Go to the above address to change your
>>> subscription options, e.g unsubscribe.
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Everyone hates slow websites. So do we.
>> Make your web apps faster with AppDynamics
>> Download AppDynamics Lite for free today:
>> http://p.sf.net/sfu/appdyn_d2d_jan
>>
>>
>> _______________________________________________
>> Openeeg-list mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/openeeg-list
>> Go to the above address to change your
>> subscription options, e.g unsubscribe.
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
>
>
> _______________________________________________
> Openeeg-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/openeeg-list
> Go to the above address to change your
> subscription options, e.g unsubscribe.
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan