Main Content

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

ウェーブレットと消失モーメント

この例では、消失モーメントの数がウェーブレット係数に影響を与える方法を示します。

区間 0x2 で定義された信号を作成します。信号は、区間 0x<1 では一定、区間 1x2 では二次です。信号をプロットします。

n = 1024;
x = linspace(0,2,n);
sig = zeros(1,n);
ind0 = (0<=x)&(x<1);
ind1 = (1<=x)&(x<=2);
sig(ind0) = 1;
sig(ind1) = x(ind1).^2;
plot(sig)
ylim([0 4])
grid on
title('Signal')

Figure contains an axes object. The axes object with title Signal contains an object of type line.

db1 ウェーブレットを使用して、信号の単一レベル ウェーブレット分解を計算します。このウェーブレットには 1 個の消失モーメントがあります。Approximation 係数とウェーブレット係数をプロットします。

[a1,d1] = dwt(sig,'db1');
figure
subplot(2,1,1)
plot(a1)
ylim([0 6])
grid on
title('Approximation Coefficients - db1')
subplot(2,1,2)
plot(d1)
ylim([-6e-3 0])
grid on
title('Wavelet Coefficients - db1')

Figure contains 2 axes objects. Axes object 1 with title Approximation Coefficients - db1 contains an object of type line. Axes object 2 with title Wavelet Coefficients - db1 contains an object of type line.

信号の定数部分に対応するウェーブレット係数はほぼ 0 です。信号の二次部分に対応するウェーブレット係数の振幅は増加しています。db1 ウェーブレットには 1 個の消失モーメントがあるため、ウェーブレットは信号の二次部分に直交しません。

db3 ウェーブレットを使用して、信号の単一レベル ウェーブレット分解を計算します。このウェーブレットには 3 個の消失モーメントがあります。Approximation 係数とウェーブレット係数をプロットします。

[a2,d2] = dwt(sig,'db3');
figure
subplot(2,1,1)
plot(a2)
ylim([0 6])
grid on
title('Approximation Coefficients - db3')
subplot(2,1,2)
plot(d2)
grid on
title('Wavelet Coefficients - db3')

Figure contains 2 axes objects. Axes object 1 with title Approximation Coefficients - db3 contains an object of type line. Axes object 2 with title Wavelet Coefficients - db3 contains an object of type line.

信号の定数部分に対応するウェーブレット係数はほぼ 0 です。中央のスパイクは、信号の定数部分と二次部分が交わる場所に一致します。終端のスパイクは境界の影響です。信号の二次部分に対応するウェーブレット係数の振幅はほぼ 0 です。db3 ウェーブレットには 3 個の消失モーメントがあるため、ウェーブレットは信号の二次部分に直交します。

参考