Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

wavefun

ウェーブレット関数とスケーリング関数

説明

[phi,psi,xval] = wavefun(wname,iter) は、直交ウェーブレット wname または Meyer ウェーブレットに関連付けられた、ウェーブレット関数とスケーリング関数のそれぞれの近似である psiphi を返します。近似はグリッド点 xval で評価されます。正の整数 iter は、計算される反復回数を指定します。

[phi1,psi1,phi2,psi2,xval] = wavefun(wname,iter) は、双直交ウェーブレット wname に関連付けられたウェーブレット関数とスケーリング関数の近似を返します。ウェーブレット関数とスケーリング関数のそれぞれの近似 (psi1phi1) は分解用です。ウェーブレット関数とスケーリング関数のそれぞれの近似 (psi2phi2) は再構成用です。

[psi,xval] = wavefun(wname,iter) は、関連するスケーリング関数をもたないウェーブレット (Morlet、Mexican Hat、ガウス導関数ウェーブレット、または複素数ウェーブレットなど) のウェーブレット近似 psi を返します。

[___] = wavefun(wname,A,B) は、max(A,B) 回の反復を使用して生成されたウェーブレット関数とスケーリング関数の近似をプロットします。出力引数はオプションです。

[___] = wavefun(wname,0)[___] = wavefun(wname,8,0) と等価です。

[___] = wavefun(wname)[___] = wavefun(wname,8) と等価です。

すべて折りたたむ

この例では、指定されたウェーブレットの区分的近似に反復回数がどのように影響するかを示します。

反復回数とウェーブレット名を指定します。

wname = 'sym4';
itr = 10;

1 回の反復後に生成されたウェーブレットの区分的近似をプロットします。

[~,psi,xval] = wavefun(wname,1);
plot(xval,psi,'x-')
grid on
title(['Approximation of ',wname,' Wavelet'])

Figure contains an axes object. The axes object with title Approximation of sym4 Wavelet contains an object of type line.

反復回数を 1 から 4 まで変化させ、近似をプロットします。反復回数が増えるとサンプル点の数も増えることを確認します。

figure
for k=1:4
    [~,psi,xval] = wavefun(wname,k);
    subplot(2,2,k)
    plot(xval,psi,'x-')
    axis tight
    grid on
    title(['Number of Iterations: ',num2str(k)])
end

Figure contains 4 axes objects. Axes object 1 with title Number of Iterations: 1 contains an object of type line. Axes object 2 with title Number of Iterations: 2 contains an object of type line. Axes object 3 with title Number of Iterations: 3 contains an object of type line. Axes object 4 with title Number of Iterations: 4 contains an object of type line.

ここで、反復回数を 1 から itr で指定された回数に変更します。

figure
for k=1:itr
    [~,psi,xval] = wavefun(wname,k);
    plot(xval,psi)
    hold on
end
grid on
title(['Approximations of ',wname,' for 1 to ',num2str(itr),' iterations'])

Figure contains an axes object. The axes object with title Approximations of sym4 for 1 to 10 iterations contains 10 objects of type line.

この例では、双直交ウェーブレットに関連付けられたスケーリング関数とウェーブレット関数の近似をプロットする方法を示します。

双直交ウェーブレットの名前を指定します。

wname = 'bior3.7';

既定の反復回数を使用して、指定された双直交ウェーブレットに関連付けられたスケーリング関数とウェーブレット関数の近似をプロットします。分解と再構成の両方の近似をプロットします。

wavefun(wname,0);

Figure contains 4 axes objects. Axes object 1 with title bior3.7 : phi dec. contains an object of type line. Axes object 2 with title bior3.7 : psi dec. contains an object of type line. Axes object 3 with title bior3.7 : phi rec. contains an object of type line. Axes object 4 with title bior3.7 : psi rec. contains an object of type line.

入力引数

すべて折りたたむ

ウェーブレット。文字ベクトルまたは string スカラーとして指定します。使用可能なウェーブレットについては、waveinfo を参照してください。

ウェーブレット関数とスケーリング関数の近似を生成するために使用される反復回数。正の整数として指定します。iter の値が大きいほど、近似の精度が向上します。

反復。正の整数のペアとして指定します。反復回数は max(A,B) に等しくなります。

出力引数

すべて折りたたむ

スケーリング関数の近似。ベクトルとして返されます。

ウェーブレットの近似。ベクトルとして返されます。wname に応じて、psi は実数値または複素数値のベクトルになります。

双直交ウェーブレット wname に関連付けられた分解スケーリング関数と分解ウェーブレット関数のそれぞれの近似。実数値ベクトルとして返されます。

双直交ウェーブレット wname に関連付けられた再構成スケーリング関数と再構成ウェーブレット関数のそれぞれの近似。実数値ベクトルとして返されます。

ウェーブレット関数とスケーリング関数の近似が評価されるグリッド点。実数値のベクトルとして返されます。

アルゴリズム

フィルターによって定義されたコンパクト サポート ウェーブレットの場合、一般に閉形式の解析式は存在しません。

使用されるアルゴリズムはカスケード アルゴリズムです。単一レベルの逆ウェーブレット変換を繰り返し使用します。

スケーリング関数 ϕ から始めます。

ϕ も ϕ0,0 に等しいため、この関数は直交フレームワークの次の係数によって特徴付けられます。

  • n = 0 の場合のみ <ϕ, ϕ0,n> = 1、それ以外の場合は 0

  • 正の j およびすべての k に対して <ϕ, ψ−j,k> = 0。

この展開は、ウェーブレット分解の構造と見なすことができます。Detail 係数はすべてゼロで、Approximation 係数は 1 に等しいものを除いてすべてゼロです。

次に、再構成アルゴリズムを使用して、次の結果に従って、関数 ϕ を 2 進グリッド上で近似します。

関数が連続かつ j が十分に大きい場合の形式 x = n2−j の任意の 2 進有理数に対して、点ごとの収束と次を求めます。

ここで、C は定数、α はウェーブレットの規則性に応じた正の定数です。

次に、2 進有理数で ϕ の適切な近似を使用すると、2 進区間上の区分的定数 (区分的線形内挿) η を使用できます。これに対しては、指数的に同様の速度で一様収束が発生します。

したがって、J ステップ再構成スキームを使用することで、J が無限大になると ϕ に向かって指数関数的に収束する近似が得られます。

近似は、近似される関数のサポートをカバーする 2 進有理数のグリッドに対して計算されます。

ウェーブレット関数 ψ のスケーリングされたバージョンも (ϕ−1,n))n 上で展開できるため、適切なウェーブレット分解構造で始まる単一レベルの再構成の後に、同じスキームを使用できます。Approximation 係数はすべてゼロで、Detail 係数は 1 に等しいものを除いてすべてゼロです。

双直交ウェーブレットの場合、双対の 2 つの多重解像度スキームのそれぞれに同じ考え方を適用できます。

メモ

このアルゴリズムは、近似される関数が 2 進有理数で不連続の場合、発散する可能性があります。

参照

[1] Daubechies, I. Ten Lectures on Wavelets. CBMS-NSF Regional Conference Series in Applied Mathematics. Philadelphia, PA: Society for Industrial and Applied Mathematics, 1992.

[2] Strang, G., and T. Nguyen. Wavelets and Filter Banks. Wellesley, MA: Wellesley-Cambridge Press, 1996.

バージョン履歴

R2006a より前に導入