Signal processing 脑电小波分析
我想对脑电信号进行时频分析。我找到了计算小波系数的GSL小波函数。如何从该系数中提取实际频带(例如8-12 Hz)?GSL手册上说: 对于前向变换,在压缩三角形存储布局中,原始阵列的元素被离散小波变换Signal processing 脑电小波分析,signal-processing,gsl,wavelet,time-frequency,Signal Processing,Gsl,Wavelet,Time Frequency,我想对脑电信号进行时频分析。我找到了计算小波系数的GSL小波函数。如何从该系数中提取实际频带(例如8-12 Hz)?GSL手册上说: 对于前向变换,在压缩三角形存储布局中,原始阵列的元素被离散小波变换f_i->w_{j,k}替换,其中j是级别j=0。。。J-1和K是每个级别内系数的指数,K=0。。。(2^j)-1。级别总数为J=\log\u 2(n) 输出数据具有以下形式,(s{1,0},d{0,0},d{1,0},d{1,1},d{2,0},…,d{j,k},…,d{j-1,2^{j-1}-1
f_i->w_{j,k}
替换,其中j
是级别j=0。。。J-1
和K
是每个级别内系数的指数,K=0。。。(2^j)-1
。级别总数为J=\log\u 2(n)
输出数据具有以下形式,(s{1,0},d{0,0},d{1,0},d{1,1},d{2,0},…,d{j,k},…,d{j-1,2^{j-1}-1})
如果我了解到右侧输出阵列data[]
在位置1
(例如data[1]
)包含频带2^0=1 Hz的振幅,以及
data[2] = 2^1 Hz
data[3] = 2^1 Hz
data[4] = 2^2 Hz
until
data[7] = 2^2 Hz
data[8] = 2^3 Hz
等等
这意味着我只有频率1Hz,2Hz,4Hz,8Hz,16Hz的振幅。。。如何获得例如以5.3 Hz振荡的频率分量的振幅?如何获得整个频率范围的振幅,例如8-13 Hz的振幅?关于如何获得良好的时频分布,有什么建议吗?我不确定您对一般信号处理有多熟悉,所以我会尽量说清楚,但不要为您操心 小波从本质上讲是一种非线性的。每个滤波器将给定信号分成两个不重叠的独立高频子带和低频子带,这样就可以通过逆变换进行重构。当连续应用这些过滤器时,您会得到一个过滤器树,其中一个过滤器的输出会反馈给下一个过滤器。构建此类树的最简单、最直观的方法如下:
- 将信号分解为低频(近似)和高频(细节)分量
- 取低频分量,并对其执行相同的处理
- 继续,直到您处理了所需数量的级别
2^1 Hz
,2^2 Hz
,2^3 Hz
等等)。然而,使用更广泛的滤波器组定义,我们可以按照自己的喜好安排上述树结构,它仍然是一个滤波器组。例如,我们可以同时提供近似和细节分量,将其分解为两个高频和低频信号,如下所示
如果你仔细观察,你会发现高频分量和低频分量的频率都在中间,因此你会得到一个均匀的滤波器组,其频率分离看起来更像这样:
请注意,所有标注栏的大小都相同。通过构建一个具有N个级别的统一滤波器组,最终得到2^(N-1)个频带低音滤波器的响应。您可以微调滤波器组,最终获得所需的频带(8-13 Hz)
一般来说,我不建议你用小波来做这件事。你可以阅读一些关于设计好的带通滤波器的文献,然后简单地构建一个只允许8-13赫兹脑电图信号通过的滤波器。这是我以前做过的,对我来说效果很好。Phonon,非常感谢您详尽的回答和链接的文档!这本书很有趣,虽然我已经知道了大部分内容。不幸的是,我的问题没有得到回答,那就是:我如何调整我的小波分析以得到那些滤波器组,我想这与我输入信号的样本大小或样本计数有关。但正如你所说,小波可能不是最好的工具,所以我将切换到带通滤波。你对此有什么建议吗(只是一些提示)?你的信号的采样频率是多少?