Мне нужно суммировать спектральную информацию сигнала из окон 30 с в спектральные полосы.Дельта (1-4 Гц), Тета (5-8 Гц), Альфа (9-12 Гц) и т. Д. При использовании непрерывного вейвлет-преобразования (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
?Если я знаю, какие коэффициенты соответствуют какой частоте, я могу быстро отобразить это.
Я использую PyWavelets в python, мой код 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 - самый близкийдискретный вейвлет Морле.