Troubleshooting Brain Waves Monitoring

Working with OpenViBE signal processing scenarios and doing scenario/BCI design
Post Reply
amemov
Posts: 3
Joined: Wed Jan 03, 2024 12:15 am

Troubleshooting Brain Waves Monitoring

Post by amemov »

Hello everyone, I'm trying to create a scenario that would accept as input 19 channels and output 4 LSL signals that would indicate the frequencies of brain waves: alpha, beta, and theta. The 4th LSL signal at the bottom of the picture called 'Engagement' is supposed to output the user's engagement, but it was done by another person before and I have no clue what was used as a metric for evaluation of this parameter -- for now, it doesn't matter, but if you know how to help with that I would greatly appreciate that.

So I followed the example provided by OpenVIBE called 'neurofeedback.xml' and I did transfer everything with the exception of two boxes at the end of scenario: Crop and SimpleDSP. From my understanding, they were not necessary in my case, so I omitted them - my goal is to evaluate the brain waves frequencies live and then evaluate their strength 1-100%.

And when I run my scenario I get the numbers for frequencies that are completely out of the range: for instance, you can see in the screenshot Alpha for channel 12 is 1.9 and is not in the range [8;12].

I'm very confused why I'm not getting the correct results. I would appreciate any help!

Image


Image

Thomas
Posts: 211
Joined: Wed Mar 04, 2020 3:38 pm

Re: Troubleshooting Brain Waves Monitoring

Post by Thomas »

Hi amemov,

Thanks for your message.

Unfortunately I don't know what settings you are using on each boxes of the scenario, but I am wondering, if the frequencies you are logging are not a sampling frequencies (the amount of samples per seconds) that are being received by Unity rather than the signal frequency that would need to be estimated from the data with a FFT.

These resulting sampling frequencies can be different depending on what parameters you are using in each Signal Average boxes.

Hope this helps, and please provide more info if I'm not going in the right direction.

Cheers,
Thomas

amemov
Posts: 3
Joined: Wed Jan 03, 2024 12:15 am

Re: Troubleshooting Brain Waves Monitoring

Post by amemov »

I use Enobio 20, and OpenViBE Acquisition Server shows in the terminal that the sampling rate is 500 Hz.

Alpha and Theta are identical except for the 'Temporal filter'. For Alpha I have 8-14 Hz and for Theta 4-7 Hz.
For example, for Beta, I have the following:

'Temporal Filter'
Image

'Time based epoching'
Image

'Simple DSP'
x*x

'Epoch Average'
Image

Thomas
Posts: 211
Joined: Wed Mar 04, 2020 3:38 pm

Re: Troubleshooting Brain Waves Monitoring

Post by Thomas »

Thanks for the details.

Could you also share your unity code to understand what are the values that you are logging ?

Thank you.
Thomas

kyunghowon
Posts: 10
Joined: Tue Apr 04, 2023 9:14 am

Re: Troubleshooting Brain Waves Monitoring

Post by kyunghowon »

Hello.

What does it mean out of range?
If you mean 1.9 is out of range of [8 12], you might misunderstand frequency band power.
What you obtain from the scenario has a unit of microvolt^2, whereas the range you mentioned ([8 12]) is Hz.

EEG is recorded as a temporal signal (electrical potential) in [ch x time], in your case, [19 x (500 Hz x time)].
However, it can be investigated in the frequency domain, which represents [ch x frequency].

"temporal filter" box filters input signal within the passband (what you call range) and attenuates outside the frequency ranges.
What you get from a part of your scenario (temporal filter->time-based epoching-> simple DSP -> Signal average) is a band power within [8 12] Hz.
That is, [8 12], [16 24] Hz.. are cut-off frequencies for band-pass filtering, not the range of values.

Post Reply