ウェーブレット変換
- [[ フーリエ変換の不確定性原理 ]]のおかげで、時間と周波数の分解能は両立できない
- ウェーブレットという小さい基本の波を変形させて、その組み合わせで複雑な波を表現する
- ウェーブレットにはHaar, とかなんとかいくつかよく使われる窓関数がある
- [[ priv/RMW ]]では、解析したい信号自身からウェーブレットを作る
- 組み合わせはウェーブレット係数によって表現される
- ウェーブレットにはHaar, とかなんとかいくつかよく使われる窓関数がある
- STFTではそれぞれの分解能はあらゆる時間・周波数で一定だったのに対して、ウェーブレット変換では周波数に応じて異なる分解能の組み合わせを使う
- なんでそんなことするの?
- 経験的に、低周波の信号は長く続き、高周波の信号は短いから
- 一周期が短いということではなくて、高周波の信号は突発的な事象に対応することが多いということ
- 長く続いてくれる信号は、時間にシビアにならずとも拾える
- この経験則に従わない信号には意味がない
- STFT →
- ウェーブレット変換 → - 画像工学の授業では2次元のウェーブレット変換から扱った
- 1次元で考えてから読み直すとわかりやすくなる
- 経験的に、低周波の信号は長く続き、高周波の信号は短いから
- これを図にするとスカログラムになる。
- フーリエ変換と同じく、DWT(離散)とCWT(連続)がある。
- 実装
- PyWavelet が簡単。例も豊富。
参考
- 時間-周波数解析と連続ウェーブレット変換 - MATLAB & Simulink - MathWorks 日本
- MATLABのガイド。図がわかりやすい。日本語が硬いのはしょうがない。
- 逆連続ウェーブレット変換による信号の再構成 - LESS IS MORE
- ウェーブレット変換の基本 - HELLO CYBERNETICS
Backlinks
STFT
異常値の検知など、長い時系列データの全体の傾向ではなく、短い時間でのことを知りたい場合がある そこで使うのがSTFT(短時間フーリエ変換) 時系列データを分割して、別々にFFTに入れただけ FFTに入れると無限長の信号扱いになって境界で不連続になるから、[[時間窓]]を使う 短時間でも低周波成分は入ることに注意 局所的な性格が反映されやすく、遠い時刻のことが反映されなくなるというだけ [[FFT]]と違って時間軸を含めた3つの軸が必要になるから、スペクトルとは別の図を使う。それがスペクトログラム。時間と周波数で平面を作って、成分の強さは色で表現する。 しかし、[[フーリエ変換の不確定性原理]]により、周波数での分解能と時間での分解能を両立することはできない 長い時間窓でみると細かい周波数の差がわかる 短い時間窓で見ると周波数は大まかにしかわからない...