Main Content

大きくサンプリングされている離散ウェーブレット変換

取りうるすべてのスケールについてウェーブレット係数を計算するのはかなりの作業量であり、また非常に大量のデータを生成します。一部のスケールおよび位置でのみ計算を行うようにするのはどうでしょう。

2 のべき乗に基づくスケールおよび位置 — いわゆる "2 進" スケールおよび位置 — を選択すると、解析はずっと効率的になり、しかも同様の精度が得られることが明白にわかります。こうした解析を離散ウェーブレット変換 (DWT) から求めます。DWT の詳細については、Wavelet Toolbox ユーザー ガイドの Algorithms を参照してください。

フィルターを使用してこの方式を実装する効率的な方法は、1988 年に Mallat (参考文献の [Mal89] 参照) によって開発されました。実は、Mallat アルゴリズムは、信号処理コミュニティでは 2 チャネル サブバンド符号化 (Strang および Nguyen [StrN96] による『Wavelets and Filter Banks』の 1 ページ参照) として知られている古典的な方式です。

この非常に実用的なフィルタリング アルゴリズムは、高速ウェーブレット変換 — 信号がそこを通過し、そこからウェーブレット係数がすばやく出力される箱を提供します。これについて、さらに詳しく調べます。

1 段フィルター処理: Approximation および Detail

多くの信号では、低周波数成分は最も重要な部分です。信号にそのアイデンティティをもたらしているものです。一方、高周波数成分は、風味やニュアンスを付与します。人の声について考えます。高周波数成分を取り除くと、声は違って聞こえますが、話している内容はまだ伝わります。しかし、低周波数成分をある程度取り除くと、意味が伝わらなくなります。

ウェーブレット解析では、"Approximation" と "Detail" がよく話題になります。Approximation は、信号の高スケール、低周波数成分です。Detail は、信号の低スケール、高周波数成分です。

フィルター処理のプロセスは、最も基本的なレベルでは、このように見えます。

元の信号 S が 2 つの相補フィルターを通過し、2 つの信号として現れています。

残念ながら、この操作を実際に現実のデジタル信号について行うと、結果は開始時点の 2 倍のデータになります。たとえば、元の信号 S が 1000 のサンプルのデータで構成されているとします。その場合、結果の信号は、それぞれが 1000 サンプルで、合計 2000 となります。

これらの信号 A および信号 D は興味深くはありますが、最初の 1000 から 2000 の値になっています。ウェーブレットを使用して分解を行う、もう少し巧妙な方法があります。計算を注意深く見ると、2 つの長さ 2000 のサンプルそれぞれから、2 つの点のうち 1 つだけを残しても完全な情報が得られる可能性があります。これがダウンサンプリングの考え方です。cA および cD という 2 つのシーケンスを生成します。

ダウンサンプリングを含む右のプロセスは、DWT 係数を生成します。

このプロセスをよりよく理解するために、信号の 1 ステージ離散ウェーブレット変換を実行してみましょう。信号は純粋な正弦波に高周波数ノイズを付加したものになります。

実際の信号を挿入した図を示します。

scD、および cA の生成に必要な MATLAB® コードは、

s
= sin(20.*linspace(0,pi,1000)) + 0.5.*rand(1,1000);
[cA,cD] = dwt(s,'db2');

ここで、db2 は解析に使用するウェーブレットの名前です。

Detail 係数 cD は小さく、主に高周波数ノイズで構成されていますが、Approximation 係数 cA は元の信号よりはるかに少ないノイズしか含んでいません。

[length(cA) length(cD)]

ans =
   501  501

Detail 係数ベクトルおよび Approximation 係数ベクトルの実際の長さが、元の信号の長さの半分より少し長いことがわかると思います。これはフィルタリング プロセスに関係しており、フィルターを使用した信号の畳み込みによって実装されています。信号の畳み込みは信号を "不鮮明" にし、いくつかの追加サンプルが結果に導入されます。

複数レベルの分解

分解のプロセスは、連続した Approximation が順次分解されることで、1 つの信号が多数の低解像度成分に分類されるよう反復されます。これは、"ウェーブレット分解ツリー" と呼ばれます。

信号のウェーブレット分解ツリーを見ると、貴重な情報が得られます。

レベルの数

解析プロセスは反復的であるため、理論的には無限に続くことがあり得ます。実際には、個々の Detail が単一のサンプルまたはピクセルで構成されるまで分解を進めることができます。現実的には、信号の性質に基づいて適切なレベルの数を選択する、またはエントロピー (「Wavelet Toolbox ユーザー ガイド」最適な分解の選択 参照) のような適切な基準に基づくことになります。