Collecting EOG signal with ArmBrain [updated]

on Friday, June 6, 2014
As I said in my previous post, the next step after collecting ECG signal is EOG signal (eye movement signal to put it simple). It's in the milivolt range. It's good to know the EOG signal form before moving in to EEG signal because EEG signal will include EOG signal artifacts. On the other hands, my friend used EOG signals to control a wheel chair. She collected EOG signals by the Biosemi Active Two EUR 75,000 beast. My professor encouraged me to replace the Biosemi in that application with a low cost EEG/EOG recording device.

Setup
I haven't found a standard for EOG electrode placement as EEG. It's a large signal (1mV p-p from my measurement); it should be easy to collect anyway. I decided to follow the set up from EEG hacker to compare results with Chip's trial.  Hardware and electrodes were the same as the last post. Below is the adapter from DIN 1.5mm touch-proof connector to regular breadboard jumper wire.


Gold cup EEG electrode adapter
Gold cup EEG electrode secured by bandage. The reference electrode is on the right.


Result
I started with the eye blink artifact. I looked forward and blinked every 5s. The signal is very clear, strong and significant. We can use this signal for some simple computer interfaces such as playing a shooting game, sending a confirmation command of for a BCI application.
Eye blink test
Later I ran fft for the signal than I knew the trouble maker. It was the 50 Hz noise spike from the electricity system.

I applied a notch filter on top of the original high pass filter. The result is amazing! It's very sharp signal.



For the next trial, I looked forward for 10s and looked down for 5s. I designed two different intervals so I could easily differentiate two states. I may add another marking channel to ArmBrain board which takes a button input as a marker for a new state.

The result is sufficient for classifying the two states. The mean of forward state signal is higher than 0 baseline and the down state is well below the 0 baseline. I notice that the noise level for this trial is higher than the previous one. It's about 0.5mV p-p compares to 0.3mVp-p of the former data set. Also, I wonder if those spikes in the looking forward portion belongs to eye blink artifact. I may record videos for my trials to match with the result later.

Look Down Test

I retried again with a looking forward and up combination. I still got an acceptable graph. A distinct gap presents between the baseline of two states though the signal is not stable as last trial. The baseline drifted and, noise level increased.
Look up test

I call this a successful measuring session. I got satisfactory results. I have never known about EOG before. I want to thanks Chip from EEGhacker for his detail documentation. 

Next step: - try different setups to track eyeball movement like the sample below from BIOPAC.
- measuring EOG by EEG electrode location
- build a blink detection system for some fun applications



BIOPACK XY tracking



4 comments:

Chip said...

Great work! I especially appreciate the use of different time intervals (5 sec vs 10 sec) for up vs down. That's a great way to avoid confusion in the interpretation of your data.

On the bigger issue of the driving baseline, I saw it in my data, as well. It is a challenging problem to handle gracefully. Usually, one uses a high-pass filter on the data to cut out the low-frequency drift. But, when choosing the HP cutoff, it needs to be low enough to not cut out the DC change induced by the eye motion itself. Depending upon how fast the baseline drifts, it may not be possible to find a HP cutoff frequency that removes the drifting baseline without also damaging the legitimate signal from the eye.

You're doing very well, though, so I'm sure you'll find something that works well for you!

Chip

taro said...

Thanks for your comment Chip.

Yes, It's difficult to choose a HP filter to minimize the fluctuate baseline without affecting the DC signal from the eye. An adaptive filter may better fit this application rather than a fixed parameter filter. I will I'll let you know if I find out a good approach for this problem.

Tính Thiện said...

Hi Taro,

I'm working in the field of sleep monitoring and I am looking for a cooperation.

You seem to be the right person I should talk to.

Could we talk via email? thinhnguyen@frasen.kr

Best,
Thinh

taro said...

Hi Thinh,
Please check your email.

Post a Comment