## FFT, noise artefacts and baseline

### FFT, noise artefacts and baseline

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?

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?

### Re: FFT, noise artefacts and baseline

#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.

#2 - Yes. It's constantly normalised to the input data mean before FFT processing.

#3 - No. None.

### Re: FFT, noise artefacts and baseline

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?

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?

### Re: FFT, noise artefacts and baseline

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.

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.

### Re: FFT, noise artefacts and baseline

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.

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.

### Re: FFT, noise artefacts and baseline

#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.

#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.

### Re: FFT, noise artefacts and baseline

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?

### Re: FFT, noise artefacts and baseline

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

### Re: FFT, noise artefacts and baseline

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

### Re: FFT, noise artefacts and baseline

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.