Effacer les filtres
Effacer les filtres

EEG data preprocessing and filtering.

15 vues (au cours des 30 derniers jours)
Pri
Pri le 31 Jan 2024
Hi, I have EEG data that looks like this:
The steps that I followed for preprocessing are:
  1. data = data-mean(data)
  2. bandpassfilt = designfilt('bandpassiir','FilterOrder',10, 'HalfPowerFrequency1',0.2,'HalfPowerFrequency2',50, 'SampleRate',512); dataout = filter(bandpassfilt,data);
  3. bandstopfilt = designfilt('bandstopiir','FilterOrder',10, 'HalfPowerFrequency1',59,'HalfPowerFrequency2',61, 'SampleRate',512); dataout2 = filter(bandstopfilt,dataout);
After filtering the signal looks like this:
I wanted to know if I am following the right steps or should I change anything?
Thank you!

Réponses (2)

绿柳
绿柳 le 31 Jan 2024
I see nothing wrong with the logic.
  3 commentaires
Pri
Pri le 31 Jan 2024
The beginning of the signal looks unstable to me as it is oscillating a lot at high amplitude. Is that a problem? While using the data should I remove some samples from the beginning or use it as it is?
绿柳
绿柳 le 28 Mar 2024
Sorry to see your follow up question too late. Your idea is reasonable, generally in EEG signals in the beginning part of the setup becomes a dummy trial and does not participate in the analysis.

Connectez-vous pour commenter.


Star Strider
Star Strider le 28 Mar 2024
It seems to me that one or both filters are not designed correctly. The filtered result does not appear to be similar to the input, and may only reflect ‘ringing’ in the filter.
If you have not already done so, the correct way to begin is to calculate the fft of the original signal, preferally zero-padding it to increase the frequency resolution using the nextpow2 function. Then design the filters using that information to define the appropriate passbands and stopbands.

Catégories

En savoir plus sur EEG/MEG/ECoG dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by