A zero volt signal is sampled as 512.
As 1023 is the maximum, the six most significant bits are never used and so are always zero.
High Byte Low Byte
000000XX XXXXXXXX
MSB
Where X= 1/0
The EEG digital board samples at a rate of 256 samples per second so a frame of samples is transmitted every 1/256 seconds.
As there are 17 bytes in each frame packet this means that 256x17 = 4352 bytes are transmitted every second.
"The 16 bit sample values are stored as unsigned integers with a range from 0 to 1023."
ReplyDeleteCould you clarify what exactly you were referring to as the "16 bit sample values"?
My understanding is: we have 8 bits in 1 byte and 17 bytes in one frame packet (do we agree on this?)
Bayo:
ReplyDeleteEach Channel sends 2 x 8 bit bytes which should be combined to give a 16bit binary number.
In our case we want CH1 & 2 :
Bytes 5-6 and 7-8.
The last 6 digits of this 16 bit number will always be zero though, so the possible values are from 0 to 1023.
Got it. Thanks!
ReplyDeleteI have downloaded Signal lab which is a tool box for visual studio, it makes signal processing and graph plotting really simple. However I have had some problems trying to map EEG data to it, also cannot get to the source code with the free licence.
ReplyDeletehttp://www.mitov.com/html/download_signallab.html
This might also be useful for someone,
ReplyDeleteA VIRTUAL SERIAL PORT EMULATOR, I am thinking of using this so I can port data between Matlab and Vb for signal processing...
http://www.eterlogic.com/Downloads.html