FFT, noise artefacts and baseline

Post Reply
eegnewb
Posts: 6
Joined: Tue Feb 13, 2018 4:44 am

FFT, noise artefacts and baseline

Post by eegnewb » Tue Feb 13, 2018 4:55 am

I am a newbie and have a few assorted question about using MUSE with MUSE monitor for my research. Any help is appreciated.

1) First the really stupid one! If FFT is a frequency domain transformation then how is that data being streamed live? I assume you need to have a certain amount of the time series before you can compute the FFT. Is it because of the small epoch size and the overlapping window? What is the the epoch length and percent overlap for the muse monitor graphs?

2) I read somewhere that the FFT data is normalised to account for individual variance such that 0.8 alpha means the individual is performing at 80% of his alpha capacity. Is this correct? Which chunk of data is used for this normalisation?

3) When MUSE monitor calculates FFT from raw data is it first cleaned from artefacts and noise? If so, what cleaning and filters are applied at this preprocessing step?

User avatar
James
Site Admin
Posts: 92
Joined: Wed Jan 02, 2013 9:06 pm

Re: FFT, noise artefacts and baseline

Post by James » Tue Feb 13, 2018 9:25 am

#1 - The FFT window is changeable in settings. Depending on the window you have selected there is a percentage which counts up to 100% while it waits to have enough data to process.
#2 - Yes. It's constantly normalised to the input data mean before FFT processing.
#3 - No. None.

eegnewb
Posts: 6
Joined: Tue Feb 13, 2018 4:44 am

Re: FFT, noise artefacts and baseline

Post by eegnewb » Tue Feb 13, 2018 11:03 am

Thanks James. Lovely app you got there and I am seriously considering using it over direct and lab that muse offers for my research work. Again, I am just getting started so any help is deeply appreciated.

I am trying to understand the 80% of alpha power (#2) a little better. Say the FFT window is 2 s. So the first FFT data or the frequency band powers (in mu v 2) will come after 2 sec. Then you must be employing a sliding window technique to get the next value and the next and so on. What percent overlap do you have in the windows? Coming to my main question... what does 0.8 in alpha, mean say I get this value after 2 sec in the above example? Does it mean that my instantaneous alpha is 0.8 times the average over the previous 2 sec? What about if I see 0.8 alpha value after 2 minutes? Is it 0.8 the mean over the those 2 minutes or is it still the 2 sec window that it considers? Do you know if this is a standard way of reporting such values or one that you have chosen for your app. based on practical considerations?

User avatar
James
Site Admin
Posts: 92
Joined: Wed Jan 02, 2013 9:06 pm

Re: FFT, noise artefacts and baseline

Post by James » Tue Feb 13, 2018 11:31 am

Apologies, I think there might be some confusion.

I do FFT calculations for the FFT view only.

The Alpha, Beta etc absolute brainwave values are calculated by the Interaxon API directly, not manually by myself.
Interaxon's documentation for these are here: http://developer.choosemuse.com/tools/a ... and_Powers

In here it does not mention filtering or the FFT overlap for the absolute values, but it does mention it in the paragraphs above for FFT, stating they use a 256 sliding sample window.

Regarding normalization, I'm not sure how Interaxon do it, but for my FFT, I'm normalizing the raw data before the FFT takes place, so if I've got a bunch of raw values where the mean (average) is 800 uV, the first thing I do would be to subtract 800 from each value, thereby normalizing it to zero before performing the FFT. This does not mean that all the starting FFT result bins should be zero, just that the input has been normalized.

eegnewb
Posts: 6
Joined: Tue Feb 13, 2018 4:44 am

Re: FFT, noise artefacts and baseline

Post by eegnewb » Wed Feb 14, 2018 4:24 am

Quick clarifications sought:

1) By "FFT view" do you mean the discrete view?

2) I am trying to figure out what window size and type (moving window and overlap?) you use to get the "bunch of raw values" the you use for normalisation.

And a comment:

Your normalisation routine is a not the standard way. The usual way to normalise data is subtract mean (which you do) and divide by standard deviation. For example, see https://en.wikipedia.org/wiki/Normaliza ... tatistics). Can you tell me why you use this particular method over the more widely used one?

Many thanks once again.

User avatar
James
Site Admin
Posts: 92
Joined: Wed Jan 02, 2013 9:06 pm

Re: FFT, noise artefacts and baseline

Post by James » Wed Feb 14, 2018 8:27 am

#1 - Yes
#2 - You can change the FFT window in settings. It's a moving window and a new FFT is performed as soon as the previous calculation is complete, as fast as the CPU can handle, this provides a high frame rate for the view. Small window FFT's calculate quickly, large window FFT's take much longer, but both will use a window from the latest available data.

It's how I was told to do it by the professor who initially helped me with the FFT calculations.

eegnewb
Posts: 6
Joined: Tue Feb 13, 2018 4:44 am

Re: FFT, noise artefacts and baseline

Post by eegnewb » Thu Feb 15, 2018 12:52 am

Thanks a lot. I do have one request for you to consider for future versions, if possible. Just like you have the absolute values streaming in from MUSE, can we also get the relative values as an option?

User avatar
James
Site Admin
Posts: 92
Joined: Wed Jan 02, 2013 9:06 pm

Re: FFT, noise artefacts and baseline

Post by James » Thu Feb 15, 2018 3:22 am

You can easily calculate the relative values from the absolutes, so I don't include them to save bandwidth on the transmission.

eegnewb
Posts: 6
Joined: Tue Feb 13, 2018 4:44 am

Re: FFT, noise artefacts and baseline

Post by eegnewb » Thu Feb 15, 2018 5:53 am

Perfect. NO worries. I just thought it could be nice to see the plot on muse monitor itself.

User avatar
James
Site Admin
Posts: 92
Joined: Wed Jan 02, 2013 9:06 pm

Re: FFT, noise artefacts and baseline

Post by James » Thu Feb 15, 2018 8:30 am

The settings page in Muse Monitor is already quite overwhelming with all it's options, I don't think that adding relative values really gives enough benefit to justify all the extra options that would have to accompany their appearance! Maybe I'll add it to the online viewer.

Post Reply