how to do digital filter on this EEG data
Show older comments
Hi! I recently recorded an EEG signal at 50K Hz sampling rate. The signal was band passed at 1-500Hz before it was digitalized. Now I wanted to do a digital fitlering to this data, which is a low pass filter to cut off bands with frequency larger than 10Hz. But I found it hard to achieve. My code was like this:
filter_n=20*sample_rate;
cutoff=10; %cutoff frequency
lowpass=fir1(filter_n,cutoff*2/sample_rate,'low');
y_lowpass=filter(lowpass,1,y);
But I found the low-passed signal still had much power in bands larger than 10Hz. Can someone help me out? Thanks!
Accepted Answer
More Answers (1)
Wayne King
on 26 Jul 2012
0 votes
I think Honglei has given you good advice. And I do think you should consider downsampling your data with decimate.m, or resample.m, provided you have enough data.
50 kHz is way oversampled for EEG data. Usually most of the interesting features in the EEG are below 100 Hz.
2 Comments
Haoran Xu
on 26 Jul 2012
Honglei Chen
on 26 Jul 2012
To see the power spectrum, you don't have to do the low pass filtering. Unless the noise in the high frequency band is too strong and makes it difficult for you to identify what you want to see.
Categories
Find more on EEG/MEG/ECoG in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!