ウェーブレットのスケールファクタを周波数に変換する方法

 ウェーブレットのスケールファクタを周波数に変換する方法って調べても余り情報が出てこない。数少ないMatlabの情報では
疑似周波数Fa=Hz単位で表したウェーブレットの中心周波数/(スケールa*サンプル周期)
 と言うの位。だけどこの式に諸条件値を放り込んでもそれらしい数値にならん。それよりも、Hz単位で表したウェーブレットの中心周波数だけでそれらしい数値になるのだが。
 例えば100Hzの信号の時にY軸が32当たりで強度が出る。Y軸はスケールファクタaだが、この例では40からデクリメントしていくので、Y軸が32の時のaは8となる。この時のウェーブレットはデータ長で192、これをフーリエ変換した時のピークはスペクトル配列の4番目にあるので、4*5000/192=104.2Hzとなる。

 この方法が正しいのかは判らないが、どのみち疑似周波数はフーリエ変換のように定値幅ではなく定比幅、しかも決まった比ではなく、最後の方は飛躍的に周波数の値が大きくなる。個人的には定値幅ではないと魅力は半減・・・な気がしなくもない。どちらかというと1/Nオクターブバンド分析に近い?という気が。

 とりあえずその手の問題は置いといて、Labview7.1の強度マップはX軸Y軸を配列で与えられない。スケールの条件で初期値や増分を設定出来るが、Y軸は決まった定比幅では無いので駄目そうだ。Scilabなら軸のスケールを配列で指定出来るのだが。

 左上が元波形、その下がウェーブレット、右上が連続ウェーブレット変換、その下が短時間フーリエ変換。スイープ信号はウェーブレット変換の良さが判りやすいからよく使われるが、定常信号にハニング窓をかけた信号でも良さが判る。