Page 1 of 2
Applying FFT to raw data
Posted: Thu Jul 30, 2020 6:18 pm
by buzzardavalanche
Hi All,
I'm new to this, I've been wanting to use the auxiliary cable with the muse headset and see the data of certain bands. Only the four original electrodes on the muse have the bands transmitted over OSC for you, to get band infomation for the auxiliary cable I would need to apply a FFT to the raw data. I've been trying to work this out by applying a FFT to AF8 raw data to get 'Alpha' and comparing it to the 'Alpha' data coming in from OSC for AF8. Occasionaly the lines look similar, but in most cases they are not.
What would I need to do to make my FFT match what was coming out of Muse Monitor?
- Screenshot from 2020-07-30 22-52-51.png (164.96 KiB) Viewed 3952 times
- Screenshot from 2020-07-30 22-52-46.png (160.53 KiB) Viewed 3952 times
Re: Applying FFT to raw data
Posted: Thu Jul 30, 2020 6:39 pm
by James
If you look at the Interaxon docs through the web archive it says they are doing calcs at 10hz using a sliding set of 256 values.
https://web.archive.org/web/20181105231 ... and_Powers
"We use a Hamming window of 256 samples(at 220Hz), then for the next FFT we slide the window 22 samples over(1/10th of a second). This gives a 90% overlap from one window to the next. These values are emitted at 10Hz."
Note these docs were not updated for the Muse 2, so the 220hz data rate they are referring to is the output from the Muse 1. I imagine the SDK code is doing the same thing for the Muse 2, 256hz data. Unfortunately the SDK FFT code is closed source so I can't tell you the exact calcs they are doing. I know they drop blink packets and remove power line noise. I am also interested in working out the specifics of this myself, but haven't had time.
What software is in the screenshot? Looks cool
Re: Applying FFT to raw data
Posted: Fri Jul 31, 2020 5:32 am
by buzzardavalanche
Hi James,
Thank you for responding, I'll see if I can apply that let you know what I get.
What you are seeing is an application called Neuromore, it's like UE4 blueprint for bio/neuro data, you can make your own feedback experiences, it's free for individuals
Re: Applying FFT to raw data
Posted: Mon Aug 03, 2020 4:24 pm
by buzzardavalanche
I butchered another muse python project (muse-lsl) which applied and FFT in it's neurofeedback demo the way that you mentioned. It's gotten much more closer results. The range seems to be different though, any ideas one what I could do to address that?
- Screenshot from 2020-08-03 21-14-54.png (32.33 KiB) Viewed 3927 times
Re: Applying FFT to raw data
Posted: Mon Aug 03, 2020 6:55 pm
by James
Have you tried normalizing the raw data before the fft?
Re: Applying FFT to raw data
Posted: Tue Aug 04, 2020 5:39 am
by buzzardavalanche
Normalizing to unit 1? I'll give that a go, I'll let you know how that works out.
Re: Applying FFT to raw data
Posted: Tue Aug 04, 2020 12:17 pm
by James
Raw egg comes in at ~800 volts, so subtracting the average voltage from the sample set before doing the FFT. You could subtract a static figure to have the raw voltage zero based, but different versions of the Muse have different base voltages. I'm not sure if you need to do this, but it's something I do for my FFT view and I don't recall why. I think someone at Interaxon told me to do it, but it was a few years ago when I wrote my FFT code, so my memory is hazy!
Re: Applying FFT to raw data
Posted: Thu Dec 03, 2020 10:16 am
by Henke
just wonder: any progress on the FFT part of the Aux electrode?
Thanks
Henrik
Re: Applying FFT to raw data
Posted: Mon Jan 11, 2021 2:36 pm
by Sebastiii
James wrote: ↑Thu Jul 30, 2020 6:39 pm
Unfortunately the SDK FFT code is closed source so I can't tell you the exact calcs they are doing. I know they drop blink packets and remove power line noise. I am also interested in working out the specifics of this myself, but haven't had time.
Hello
This is weird, because the new Sleep function didn't work for me until, I remove the electronic device to avoid the 50Hz interference.
So this mean, meditation protocol has FFT that remove power line but not sleep protocol ?
Thanks if you have an idea
Re: Applying FFT to raw data
Posted: Tue Jan 12, 2021 4:19 pm
by paulbrennan
Hi all, I'm also working on a similar project. I'm using Blue Muse, a python script and Neuromore using a 2016 Muse. Like this:
https://github.com/ViacheslavBobrov/LSL_Neuromore
For some reason I had more success setting this up with Blue Muse than with Mind Monitor (no offence to James) but the theory is the same I think.
I'm also wondering how best to validate it. I'm really more interested in ratios than absolute amplitudes. For example, with the electrode at the back of the head, alpha should block (reduce) with eyes open as compared with eyes closed. I think mine usually blocks at about 30% on a proper EEG setup but with this setup I only see about 10% block. So I'm guessing something is probably not right. I haven't yet tried any of the suggestions here (such as comparing the filtered raw output with the Muse frontal bandwidths) so I'll give that a go first.
Just a note that even with Myndlift (the consumer version of this setup) the amplitudes are weird and not really comparable with other equipment in my experience. So I think it's probably more suitable for looking at things like ratios, symmetry, etc.