CSV data files contain only bursts of data, not continous streaming
I
have the Mark IV headset with the Cyton 8-channel board connecting via
the Cyton bluetooth. I use the stand-alone GUI application v3.0.1.
Windows 10 on a fairly high-end PC.
I
am trying to get started with recording data. The GUI is set to 250 Hz.
I see csv data files being created in the
"SavedData" folder. However, when inspect them it seems the data is transmitted only in "bursts". A burst
lasts about 4 milliseconds. During that time period I get 3-5 rows each millisecond (as read from the time stamp), so all in all there are about 12-20 rows. Then there is NO data for about 0.47
seconds, followed by a second similar burst, followed by another 0.47 second gap. This pattern repeats. Why isn't it there a continuous streaming? Shouldn't a sample 250 Hz imply that I get precisely 1 row every 4 millisecond? I am not very savvy with electronics so perhaps I am missing something basic here.
Comments
issue on the OpenBCI GUI github page requesting the feature! We could
implement the time sync feature baked into the Cyton in the GUI. We can get the time stamps evenly spaced using a micro implementation found on the OpenBCI_NodeJS_Cyton
And yes, the USB serial port settings are: "Latency timer: 1 ms" (changed from default).
I also tried changing the USB Transfer rate (receive and send): both were set to 4096 bytes. I changed it to 64. That did not help. The gaps are still there.
The reason it took me so long to answer this thread is that I also suddenly started to get railed or distorted signals on all channels at which point I was close to giving up on this product. Today, most channels started to work again and I have no idea why. Perhaps due to adjustment of the physical fit. It seems extremely sensitive in that respect.
https://github.com/OpenBCI/OpenBCI_GUI/issues/129
My understanding is now that the timestamp (in the text file in "SavedData") is set by the PC. Is this timestamp inherently unreliable? If so, how do people do their analysis? Do you just assume 250 Hz and that each new data row means time has progressed 4 ms? (unless you need to synch against a stimuli).