Main Content

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

ノイズの多いデータに対するウェーブレット サポートの影響

この例では、ノイズの多いデータに含まれる不連続点が、サポートの大きいウェーブレットを使用する場合よりも Haar ウェーブレットを使用した方がよりまばらに表現される事例を示します。

512 個のサンプルを使用して、ノイズ含む矩形波を作成します。矩形波をプロットします。

n = 512;
t = 0:0.001:(n*0.001)-0.001;
yn = square(2*pi*10*t)+0.02*randn(size(t));
plot(yn)
grid on
title('Noisy Signal')

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

haar ウェーブレットを使用して、信号の最大重複離散ウェーブレット変換 (MODWT) を求めます。haar ウェーブレットには、1 に等しい長さのサポートがあります。

modhaar = modwt(yn,'haar');

haar MODWT 行列から多重解像度解析を求め、第 1 レベルの Detail をプロットします。

mrahaar = modwtmra(modhaar,'haar');
stem(mrahaar(1,:),'Marker','none','ShowBaseLine','off');
grid on
title('First-Level MRA Details Using Haar Wavelet')

Figure contains an axes object. The axes object with title First-Level MRA Details Using Haar Wavelet contains an object of type stem.

db6 ウェーブレットを使用して、信号の MODWT を求めます。db6 ウェーブレットには、11 に等しい長さのサポートがあります。

moddb6 = modwt(yn,'db6');

db6 MODWT 行列から多重解像度解析を求め、第 1 レベルの Detail をプロットします。不連続点は、haar ウェーブレットよりも db6 ウェーブレットを使用する場合の方が、より小さくまばらに表現されます。

mradb6 = modwtmra(moddb6,'db6');
stem(mradb6(1,:),'Marker','none','ShowBaseLine','off');
grid on
title('First-Level MRA Details Using db6 Wavelet')

Figure contains an axes object. The axes object with title First-Level MRA Details Using db6 Wavelet contains an object of type stem.

ズームインします。Haar ウェーブレットを使用すると、信号内の変化を特定するのに必要な係数が減少します。

ind = 40:110;
subplot(311)
plot(ind,yn(ind))
title('Close Up')
subplot(312)
stem(ind,mrahaar(1,ind),'Marker','none','ShowBaseLine','off','LineWidth',2)
title('Using Haar')
subplot(313)
stem(ind,mradb6(1,ind),'Marker','none','ShowBaseLine','off','LineWidth',2)
title('Using db6')

Figure contains 3 axes objects. Axes object 1 with title Close Up contains an object of type line. Axes object 2 with title Using Haar contains an object of type stem. Axes object 3 with title Using db6 contains an object of type stem.

参考

| |