Applying FFT to raw data
-
- Posts: 4
- Joined: Thu Jul 30, 2020 5:59 pm
Applying FFT to raw data
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?
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?
Re: Applying FFT to raw data
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
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
-
- Posts: 4
- Joined: Thu Jul 30, 2020 5:59 pm
Re: Applying FFT to raw data
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
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
-
- Posts: 4
- Joined: Thu Jul 30, 2020 5:59 pm
Re: Applying FFT to raw data
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?
Re: Applying FFT to raw data
Have you tried normalizing the raw data before the fft?
-
- Posts: 4
- Joined: Thu Jul 30, 2020 5:59 pm
Re: Applying FFT to raw data
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
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
just wonder: any progress on the FFT part of the Aux electrode?
Thanks
Henrik
Thanks
Henrik
Re: Applying FFT to raw data
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
-
- Posts: 17
- Joined: Thu Jul 16, 2020 7:51 am
Re: Applying FFT to raw data
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.
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.