# EEG signal processing with wavelet or fft?

I have confusion about signal processing related with EEG signal. I have done some of my research and that made me more confused about processing and filtering the signal.

Let me jump into the problem -

1. I have found that people are using FFT for EEG signal processing which I don't understand. Why would you do that? FFT is mainly made for stationary waves and we know that EEG signals are non-stationary waves hence FFT is not so useful for EEG signal processing. Well that can be solved with the SFFT but then again, this can't be done with real-time signal EEG. (I might be wrong, please help)

2. Wavelet transform is another way to process EEG signals because, first, it preserves time and freq whereas FFT looses time resolution. Also, wavelet can be applied on non-stationary signals. (I might be wrong here too, so please go ahead help me with this too)

3. As in the figure below - Neurosky shows real-time EEG power bands fluctuations, which I believe is FFT on raw signal and some kind of mathematical operation (maybe frequency averaging) applied on a range of frequencies gives those bands (alpha,beta,gamma,delta,theta), Am I right? if yes, then how can you apply FFT on real time signal? if no, then what is the best way to get those bands?

1. I have muse, emotiv, neurosky and openbci hardware which I borrowed from my community friends, I have been playing around with those hardware so I would do something with the raw signal so I started learning about these things but as deep as I go in that rabbit hole, more I get confuse. I was gonna apply ML eventually but I seriously got stuck on my first step.
• I have studied Wavelets, but unfortunately never succeeded in using them in "reality". Really not my fault :) I agree with your tacit conclusion that Wavelets are the best option. But they allow/require customization and so are harder to implement. The root wavelet affects the information that will result. If you have the resources for ML, go ahead and try them; but use them for hints, not decisions. The cases I have seen are opaque (and sometimes key in on the wrong things) and so can't be trusted. Aug 26, 2020 at 12:48
• The thing about Wavelets is that they can be lossless; i.e. trusted. And any filtering can be clearly documented for the end-user to learn. ML is presently a "Sorcerer's Apprentice". Aug 26, 2020 at 12:52
• @rrogers thanks man for the reply. I thought this question wouldn't noticed. I got it what you are saying...can you please try to comment something on my third point? I feel dumb. Aug 26, 2020 at 14:06
• Without reference, I am afraid I can't help. Did you get the picture through science.gov/topicpages/d/data+reduction or data.gov ? They would have the analysis (perhaps behind a paywall for delivery) Working in the blind I would reread "Time-Frequency Analysis" by Cohen. Which I happen to have and covers a wide range of analysis types. There are a lot of tools out there; of greater or lesser utility (IMHO). Aug 27, 2020 at 19:51
• @rrogers Hey thanks man. I don't know if you know it or not, but there is a an commercial EEG sensor called Neurosky. They provide this kind of analysis but its algorithm wasn't open for public. Here is a video - youtube.com/watch?v=hGzZ43SetNY. You might wanna check out. So what I was asking is basically, do they get the EEG bands by the method described in point 3. Aug 27, 2020 at 23:23

Here are links to the coding. I am doing something else, so I have not dug into the code to see how the algorithms work. If you need help analyzing the code set up a private "room" here and we can discuss it there. I am sure that it requires more chit-chat than the hall monitors like here :) a simple Processing application
ARDUINO BRAIN LIBRARY
Thanks for the lead! I had an application for treating certain dementia problems using something like this but haven't followed up.

• sure let's have a private room conversation. Aug 31, 2020 at 14:59
• See if you can reach the chat: "EEG signal Processing -- Github program" It's open now but if I start to get spam I will close it off; except for you of course :) I probably won't be posting till tomorrow. Sep 1, 2020 at 21:48
• do you have a link? Sep 1, 2020 at 21:50
• chat.stackexchange.com/rooms/112536/eeg-signal-processing-github-program -- I have to eat now. Sep 1, 2020 at 22:01
• are you available anytime this week? I would like to discuss something with you in our private chat. Whenever you are free... no rush. Oct 6, 2021 at 14:21