Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Wirkung des Wavelet-Trägers auf verrauschte Daten

In diesem Beispiel zeigen Sie, dass ein Auftreten von Unterbrechungen in verrauschten Daten mit einem Haar-Wavelet dünner dargestellt wird als mit einem Wavelet mit größerem Träger.

Erstellen Sie eine verrauschte Rechteckwelle mit 512 Abtastungen. Plotten Sie die Rechteckwelle.

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.

Rufen Sie die diskrete Wavelet-Transformation mit maximaler Überlappung (Maximal Overlap Discrete Wavelet Transform, MODWT) des Signals mit dem haar-Wavelet ab. Das haar-Wavelet weist einen Träger der Länge 1 auf.

modhaar = modwt(yn,'haar');

Rufen Sie die Multiskalenanalyse aus der haar-MODWT-Matrix ab und plotten Sie die Details der ersten Ebene.

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.

Rufen Sie die MODWT des Signals mit dem db6-Wavelet ab. Das db6-Wavelet weist einen Träger der Länge 11 auf.

moddb6 = modwt(yn,'db6');

Rufen Sie die Multiskalenanalyse aus der db6-MODWT-Matrix ab und plotten Sie die Details der ersten Ebene. Die Unterbrechungen werden mit dem db6-Wavelet weniger dünn dargestellt als mit dem haar-Wavelet.

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.

Vergrößern Sie die Ansicht. Mit dem Haar-Wavelet sind weniger Koeffizienten erforderlich, um die Signaländerung zu identifizieren.

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.

Siehe auch

| |