短时傅里叶变换和小波变换在处理EEG信号中的应用

文中引用了来自以下网址的内容:

http://blog.csdn.net/qrlhl/article/details/72155395 短时傅里叶变换在EEG信号特征提取中的应用(通俗版)

http://blog.csdn.net/swx1477572187/article/details/51303114 傅里叶变换&短时傅里叶变换&小波变换

http://blog.csdn.net/gent__chen/article/details/53455318  基于MATLAB短时傅里叶变换和小波变换的时频分析

根据EEG信号对睡眠进行分期

EEG信号的简单处理是对其进行频域分析,获取不同频段(delta theta alpha sigma beta gamma)的能量或PSD等后获得对睡眠分期具有较好指导作用的参量

在此采用短时傅里叶变换和小波变换,整理了网上关于这两者的资料,整理结果如下:


  • 短时傅里叶变换

      MATLAB函数:(具体可参考上述第一、三篇文章)

[S,F,T,P]=spectrogram(x,window,noverlap,nfft,fs)


其中,S为输入信号x的短时傅里叶变换,F为频率向量,T为时间向量,P为功率谱密度矩阵,x为输入信号,window为时间窗,noverlap为overlap的点数,如果为0就是没有overlap,nfft为DFT的点数,fs为采样频率。其中,F向量的维度和P的行数一致,可以根据F向量来选取特定波段的PSD,还可以将alpha、beta、theta、gamma、deta这几个波段分别分为几个窄波段,提取窄带PSD。


浅显原理:

区别于FFT之处是FFT智能处理平稳过程,而EEG等人体信号为非平稳过程,因此采用STFT

STFT简单讲就是信号加窗函数后再进行FFT,把整个时域过程分解成无数个等长的小过程,每个小过程近似平稳,再傅里叶变换,就知道在哪个时间点上出现了什么频率了。”

在短时傅里叶变换过程中,窗的长度决定频谱图的时间分辨率和频率分辨率,窗长越长,截取的信号越长,信号越长,傅里叶变换后频率分辨率越高,时间分辨率越差;相反,窗长越短,截取的信号就越短,频率分辨率越差,时间分辨率越好,也就是说短时傅里叶变换中,时间分辨率和频率分辨率之间不能兼得,应该根据具体需求进行取舍。

 对于时变的非稳态信号,高频适合小窗口,低频适合大窗口。然而STFT的窗口是固定的,在一次STFT中宽度不会变化,所以STFT还是无法满足非稳态信号变化的频率的需求。


  • 小波变换

MATLAB函数:

COEFS=cwt(S, SCALES, 'wname')

COEFS=cwt(S, SCALES, 'wname', 'plot')

COEFS=cwt(S, SCALES, 'wname', 'PLOTMODE')

COEFS=cwt(S, SCALES, 'wname', 'PLOTMODE', XLIM)

其中,S为信号数据,SCALES为尺度的长度,‘wname’为小波类型


浅显原理:

“STFT是给信号加窗,分段做FFT;而小波直接把傅里叶变换的基给换了——将无限长的三角函数基换成了有限长的会衰减的小波基。这样不仅能够获取频率,还可以定位到时间了”。
不同于傅里叶变换,变量只有频率ω,小波变换有两个变量:尺度a(scale)和平移量 τ(translation)。尺度a控制小波函数的伸缩平移量τ控制小波函数的平移尺度就对应于频率(反比),平移量 τ就对应于时间


你可能感兴趣的:(睡眠分期,matlab)