1

我需要将信号的频谱信息从 30 秒窗口汇总到频谱带中。Delta (1-4hz)、Theta (5-8hz)、Alpha (9-12hz) 等。当使用连续小波变换 (cwt) 时,我会得到与特定频率相对应的系数,我可以总结这些系数以获得平均功率每个频段。

离散小波变换 (dwt) 改为返回“近似值”和“细节”。我不明白如何将这些系数映射到我的光谱带。我知道随着级别数的增加,频率分辨率也会增加,所以如果我的采样率为 512,则系数应该如下映射..

Detail lvl 1: 256hz - 512hz
Detail lvl 2: 128hz - 256hz
Detail lvl 3:  64hz - 128hz
Detail lvl 4:  32hz -  64hz
Detail lvl 5:  16hz -  32hz
Detail lvl 6:   8hz -  16hz
Detail lvl 7:   4hz -   8hz
Approx lvl 7:   0hz -   4hz

我可以总结任何这些波段中的近似系数或细节系数,但是如果我需要特定的波段6hz - 20hz怎么办?如果我知道哪些系数对应于什么频率,我可以快速映射它。

我在 python 中使用 PyWavelets,我的 cwt 代码如下

scale = np.arange(1, 150)
f = pwt.scale2frequency(wavelet='more', scale=scale) * 512
coefficients, frees = pewit.cwt(sig, f, 'morl')
delta = np.mean(amp[1:5, :])
theta = np.mean(amp[5:9, :])
...

我认为 Daubechies 小波是最接近 Morlet 的离散小波。

4

0 回答 0