脑电信号傅里叶变换及滤波方式总结

2019-04-13 13:18发布

最近由于项目需要,因此接触了脑电信号,脑电信号能够比较准确的反映用户的行为以及思想方式,在得到一段脑电信号后,首先需要将脑电信号中所包含的Delta波,Theta波,Alpha波,Beta波以及Gamma波完整的提取出来。 Delta波:0.5-4Hz; Theta波:4-8Hz; Alpha波:8-13Hz; Beta波:13-32Hz; Gamma波:>32Hz; 由于在脑电信号的采集过程中,会受到周围噪声的干扰以及工频噪声的影响,因此,需要首先对原始信号进行噪声的滤除,通过利用带通滤波器,将0.5Hz - 50Hz频率之间的信号取出。使用巴特沃斯带通滤波器进行信号的滤波。使用巴特沃斯滤波器,需要设置如下参数: 采样频率fc;采样点数N;设置频率序列f;设置通带频率Wn; 涉及以下函数: butter();filtfilt(); 代码如下所示: fc = 2560; %采样频率2048Hz N = 2048; %采样点数1024 n = 0:N-1; f = n*fc/N; %频率序列 Wn = [0.5*2 50*2]/fc;%设置通带为0.5-50Hz [k,l] = butter(2,Wn);%4阶IIR滤波器 result = filtfilt(k,l,User_3_Channel_AF3); tmp = fft(result); User_3_Channel_AF3_IFFT = ifft(tmp); figure, subplot(211),plot(f(1:N/2),abs(tmp(1:N/2)*2/N));title('滤波后频谱结果,频率:0.5-50Hz');axis([0,100,-inf,inf]) subplot(212),plot(User_3_Channel_AF3_IFFT);title('脑波滤波后结果图像'); 原始数据频谱如下所示: 通过以上步骤可以将满足频率需求的信号滤出。结果如下所示: 通过设置不同的通带频率,将指定频率的脑波信号滤出。结果如下所示: 通过以上步骤可以将满足特定频率的脑电信号滤出。