Re: channel question for programming Olimex EEG-SMT

Daniel Baker <[email protected]>
Newsgroups gmane.comp.science.openeeg.general
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.