読者です 読者をやめる 読者になる 読者になる

Hope is a Dream. Dream is a Hope.

非公開ふぃふぃ工房ブログ

↓LINE登録はこちら↓

定期的につぶやいてます. 記事に興味を持って頂いたかたや、Line Botを使ってみたいかたは試しに登録どうぞ

友だち追加

初心者のためのウェーブレット変換

Gabor Wavelet(ガボールウェーブレット)の実装

さて、ウェーブレット変換をしてみる。

ウェーブレット変換には色々種類があり良くわからん。

Haar, メキシカンハット, DOG...等

まぁどれも似たり寄ったりなのだが、今回はある解析プログラム(ブラックボックス)の吐き出す結果に似た解析がしたい。

色々試した結果、恐らく`Gabor Wavelet'だろうということに行き着いてきた。

ここでGaborWaveletとは...

 

wavelet

イメージはこんな感じ。

GaborWaveletとは

images

ざっくり書くと。短時間フーリエ変換の窓関数にガウス関数(正規分布)を使うんだ。

 

まずは絵で理解する ->  http://www.yobology.info/text/wavelet/wavelet.htm

次に理論を理解する -> 信号処理 ~第 3 部 非定常信号解析,ケプストラム解析~ 横田 康成

 

さて実装した

実装したコードはこちら

実装したのはいいが、アルゴリズムの挙動が分からないので、調べてみる。それが今回の狙い。

 

σ(シグマ)の影響

SnapCrab_NoName_2015-4-21_16-34-58_No-00

Gabor関数(正規分布)のパラメータに、σが入っている。σを変えるとどうなるのかパラメータを振ってみた。

 

SnapCrab_NoName_2015-4-21_16-47-25_No-00

周波数スケールに従って、非線形で小さくなっているのが分かる。

というか、σによって、正規分布の窓幅は同じだけど、なかみの周波数が変わっている。

(それでいいのか?)

 

次回へ続く

 

実装の参考になるHP

ガボールウェーブレット変換

http://www.softist.com/programming/gabor-wavelet/gabor-wavelet.htm

SnapCrab_NoName_2015-4-21_16-7-38_No-00

C/C++言語でガボールウェーブレット変換により時間周波数解析を行うサンプルプログラム

http://hp.vector.co.jp/authors/VA046927/gabor_wavelet/gabor_wavelet.html

SnapCrab_NoName_2015-4-21_16-8-4_No-00

 

これなら分かる応用数学教室―最小二乗法からウェーブレットまで

これなら分かる応用数学教室―最小二乗法からウェーブレットまで

俺の彼女と幼なじみが修羅場すぎる12 (GA文庫)

俺の彼女と幼なじみが修羅場すぎる12 (GA文庫)