バンドパス フィルターとしての連続ウェーブレット変換
フィルター処理手法としての CWT
連続ウェーブレット変換 (CWT) は信号の内積 を解析ウェーブレットの平行移動されたバージョンと膨張したバージョン で計算します。CWT の定義は次のとおりです。
CWT を逆フーリエ変換として書き換え、信号の周波数に基づいたフィルター処理として CWT を解釈することもできます。
ここで と は信号とウェーブレットのフーリエ変換です。
前の方程式から、時間でウェーブレットを引き伸ばすと、周波数領域で対応するサポートが縮小することがわかります。周波数サポートの縮小に加えて、ウェーブレットの中心周波数が低周波数の方向にシフトします。次の図は、架空のウェーブレットと 1、2、4 のスケール (膨張) 係数に対するこの影響を示しています。
これは、CWT を入力信号のバンドパス フィルター処理として表しています。低いスケールの CWT 係数は高周波数の入力信号におけるエネルギーを表し、高いスケールの CWT 係数は低周波数の入力信号におけるエネルギーを表します。ただし、フーリエ バンドパス フィルター処理とは違い、CWT のバンドパス フィルターの幅はスケールに対して反比例します。CWT "フィルター" の幅はスケールの増加に伴い減少します。これは、時間における信号のサポートが広くなると、周波数におけるそのサポートが狭くなるという、信号の時間と周波数のサポート間にある "不確かな" 関係に基づいています。逆の関係も成立します。
ウェーブレット変換では、スケールまたは膨張操作はエネルギーを維持するために定義されます。周波数サポートを縮小しながらエネルギーを節約するには、ピーク エネルギー レベルが増加する必要があります。Wavelet Toolbox™ での cwt
の実装では L1 正規化を使用します。"品質係数" またはフィルターの "Q 係数" は、帯域幅に対するピーク エネルギーの比率です。ウェーブレットの周波数サポートを縮小または引き伸ばすと、そのピーク エネルギーが比例して増減するため、ウェーブレットは定 Q フィルターと呼ばれることがよくあります。
DFT ベースの連続ウェーブレット変換
前の節の方程式は CWT をフーリエ変換の積に対する逆フーリエ変換として定義しました。
逆フーリエ変換の "時間" 変数は平行移動パラメーター b です。
これは、逆フーリエ変換を使用して CWT を計算できることを示しています。離散フーリエ変換とその逆変換の計算に効率的なアルゴリズムがあるため、可能な場合は fft
と ifft
を使用すると、多くの場合、大幅な節約を達成できます。
フーリエ領域での CWT の図を得るには、ウェーブレット変換の定義から始めます。
次を定義すると
ウェーブレット変換を次のように書き換えることができます。
これにより、CWT を畳み込みとして明示的に表現します。
CWT の離散化バージョンを実装するには、入力シーケンスが長さ N のベクトル x[n] であると仮定します。前の畳み込みの離散バージョンは次のとおりです。
CWT を求めるには、シフト パラメーター b の値ごとに畳み込みを計算し、スケール a ごとにこのプロセスを繰り返さなければならないようです。
ただし、この 2 つのシーケンスが循環して拡張される (長さ N に周期化される) 場合、循環畳み込みを離散フーリエ変換の積として表現できます。CWT は次の積の逆フーリエ変換です。
ここで、Δt はサンプリング間隔 (周期) です。
CWT を逆フーリエ変換として表現すると、計算効率の高い fft
アルゴリズムと ifft
アルゴリズムを使用して、畳み込みを計算するコストを削減できます。
関数 cwt
は CWT を実装します。