脳波信号の時間周波数解析をしたいのですが。ウェーブレット係数を計算するためのGSLウェーブレット関数を見つけました。その係数から実際の周波数帯域(たとえば、8〜12 Hz)を抽出するにはどうすればよいですか?GSLマニュアルには次のように書かれています。
順方向変換の場合、元の配列の要素は
f_i -> w_{j,k}
、パックされた三角形のストレージレイアウトで離散ウェーブレット変換に置き換えられます。ここJ
で、はレベルのインデックスでj = 0 ... J-1
ありK
、は各レベル内の係数のインデックスですk = 0 ... (2^j)-1
。レベルの総数はですJ = \log_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})
私が正しく理解している場合、出力配列には、周波数帯域2 ^ 0 = 1 Hzの振幅が (たとえば)data[]
位置に含まれています。1
data[1]
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
等々 ...
つまり、周波数1 Hz、2 Hz、4 Hz、8 Hz、16 Hzの振幅しかありません...たとえば、5.3 Hzで振動する周波数成分の振幅を取得するにはどうすればよいですか?周波数範囲全体の振幅、たとえば8〜13 Hzの振幅を取得するにはどうすればよいですか?良好な時間-度数分布を取得するための推奨事項はありますか?