Hacking Human Consciousness in Search of Peak Performance
"Sometimes, there’s a moment that you’re waking, and you become aware of the real world around you, but you’re still dreaming. You may think you can fly, but you better not try."
- People Can Fly
I have tried the ‘overclocking’ in 1.2.8 and it seems to change the display rate more than the sampling rate. The original data is sampled at 512/sec and shows lots of fast activity. Much slower sampling rates will cause aliasing and severe signal distortion that will go unnoticed in frequency band, attention, and meditation displays. What is actually being done in ‘overclocking’? is the sampling rate changed or decimated? Thanks for all your hard work!
The overclocking is a bit of a hack. I have had it on my list for the longest time to implement the threading properly in Lucid Scribe. The overclocking is the amount of time, in milliseconds, between when each measurement is taken. So, if it is set to 1000, it will only sample once a second. The default, 100, makes it sample 10 times a second. But because of the threading, it may be off by a few milliseconds each tick.
NeuroSky does some internal calculations on the frequency bands and the eSense mediation and attention channels. And only updates them about once a second: developer.neurosky.com/docs/…esense_tm_meters. So if we sample them any faster in Lucid Scribe, there will be aliasing.
The raw EEG data is updated a little faster – 128 times a second (every 7.8 ms). So Lucid Scribe would have to be overclocked at 10, or ideally 5 to catch every value from the hardware. But the CPU might not be able to keep up because of the way that I originally implemented the threading of the graphing and saving to LSD files.
The best spot to add any mission-critical code would be here: github.com/lucidcode/LucidScribe-ThinkGear-EEG…#L92. That event is triggered from and running on a thread separate to Lucid Scribe’s display and logging.
I almost have the Android version of the ThinkGear EEG plugin ready for the Play Store. In it, you can only tap into either the raw EEG data, or the eSense meditation and attention channels, or the brainwave frequency bands.
I have tried the ‘overclocking’ in 1.2.8 and it seems to change the display rate more than the sampling rate. The original data is sampled at 512/sec and shows lots of fast activity. Much slower sampling rates will cause aliasing and severe signal distortion that will go unnoticed in frequency band, attention, and meditation displays. What is actually being done in ‘overclocking’? is the sampling rate changed or decimated? Thanks for all your hard work!
Sure!
The overclocking is a bit of a hack. I have had it on my list for the longest time to implement the threading properly in Lucid Scribe. The overclocking is the amount of time, in milliseconds, between when each measurement is taken. So, if it is set to 1000, it will only sample once a second. The default, 100, makes it sample 10 times a second. But because of the threading, it may be off by a few milliseconds each tick.
NeuroSky does some internal calculations on the frequency bands and the eSense mediation and attention channels. And only updates them about once a second:
developer.neurosky.com/docs/…esense_tm_meters. So if we sample them any faster in Lucid Scribe, there will be aliasing.
The raw EEG data is updated a little faster – 128 times a second (every 7.8 ms). So Lucid Scribe would have to be overclocked at 10, or ideally 5 to catch every value from the hardware. But the CPU might not be able to keep up because of the way that I originally implemented the threading of the graphing and saving to LSD files.
The best spot to add any mission-critical code would be here:
github.com/lucidcode/LucidScribe-ThinkGear-EEG…#L92. That event is triggered from and running on a thread separate to Lucid Scribe’s display and logging.
I almost have the Android version of the ThinkGear EEG plugin ready for the Play Store. In it, you can only tap into either the raw EEG data, or the eSense meditation and attention channels, or the brainwave frequency bands.