最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

wavedec

1 次元ウェーブレット分解

説明

[c,l] = wavedec(x,n,wname) は、ウェーブレット wname を使用してレベル n における 1 次元信号 x のウェーブレット分解を返します。出力の分解構造は、ウェーブレット分解ベクトル c と各レベルの係数の数を含むブックキーピング ベクトル l で構成されます。このレベル 3 の分解の図で構造が編成されます。

[c,l] = wavedec(x,n,LoD,HiD) は、指定されたローパスおよびハイパスのウェーブレット分解フィルター LoD および HiD を使用してウェーブレット分解を返します。

すべて折りたたむ

1 次元信号を読み込んでプロットします。

load sumsin 
plot(sumsin)
title('Signal')

次数 2 の Daubechies ウェーブレットを使用して、信号の 3 レベル ウェーブレット分解を実行します。分解から粗いスケールの Approximation 係数と Detail 係数を抽出します。

[c,l] = wavedec(sumsin,3,'db2');
approx = appcoef(c,l,'db2');
[cd1,cd2,cd3] = detcoef(c,l,[1 2 3]);

係数をプロットします。

subplot(4,1,1)
plot(approx)
title('Approximation Coefficients')
subplot(4,1,2)
plot(cd3)
title('Level 3 Detail Coefficients')
subplot(4,1,3)
plot(cd2)
title('Level 2 Detail Coefficients')
subplot(4,1,4)
plot(cd1)
title('Level 1 Detail Coefficients')

入力引数

すべて折りたたむ

入力信号。実数値のベクトルとして指定します。

データ型: double

分解レベル。正の整数として指定します。wavedec では最大レベルの制限は適用されません。ウェーブレット係数が境界の影響を受けないようにするには wmaxlev を使用します。用途で境界の影響が問題にならない場合は、一般に nfix(log2(length(x))) 以下に設定します。

データ型: double

解析ウェーブレット。文字ベクトルまたは string スカラーとして指定します。

メモ

wavedec では、タイプ 1 (直交) とタイプ 2 (双直交) のウェーブレットのみがサポートされます。直交ウェーブレットと双直交ウェーブレットの一覧については、wfilters を参照してください。

ウェーブレット分解フィルター。偶数長の実数値ベクトルのペアを指定します。LoD はローパス分解フィルター、HiD はハイパス分解フィルターです。LoDHiD の長さは等しくなければなりません。詳細については、wfilters を参照してください。

出力引数

すべて折りたたむ

ウェーブレット分解ベクトル。実数値のベクトルとして返されます。各レベルの係数の数がブックキーピング ベクトル l に格納されます。

ブックキーピング ベクトル。正の整数のベクトルとして返されます。ブックキーピング ベクトルは、ウェーブレット分解ベクトル c の係数をレベルごとに解析するのに使用されます。

アルゴリズム

長さ N の信号 s が与えられた場合、DWT は最大 log2 N のステップで構成されます。s から始まり、最初のステップで Approximation 係数 cA1 と Detail 係数 cD1 の 2 組の係数が生成されます。Approximation 係数と Detail 係数は、それぞれローパス フィルター LoD とハイパス フィルター HiD による s の畳み込みとその後の 2 進間引き (ダウンサンプリング) によって得られます。

ここで、

  • — フィルター X での畳み込み

  • 2 — ダウンサンプリング (偶数のインデックスが付いた要素を維持)

各フィルターの長さは 2n に等しくなります。N = length(s) の場合、信号 F および G の長さは N + 2n −1、係数 cA1 および cD1 の長さは次のようになります。

floor(N12)+n

次のステップで、Approximation 係数 cA1 が同じスキームを使用して 2 つの部分に分割されます。つまり、s を cA1 に置き換えて、cA2 と cD2 が生成されます。

レベル j で解析された信号 s のウェーブレット分解の構造は、[cAj, cDj, ..., cD1] になります。

この構造には、j = 3 の場合、次のツリーの終端ノードが含まれます。

参照

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

[2] Mallat, S. G. “A Theory for Multiresolution Signal Decomposition: The Wavelet Representation,” IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. 11, Issue 7, July 1989, pp. 674–693.

[3] Meyer, Y. Wavelets and Operators. Translated by D. H. Salinger. Cambridge, UK: Cambridge University Press, 1995.

拡張機能

R2006a より前に導入