Beispiel: Wavelet-Transformation
Verwenden Sie die Wavelet-Transformationsfunktionen, um Daten zu komprimieren.
1. Definieren Sie ein einzelnes Rechteckwellensignal. Dabei gilt:
2. Werten Sie das Array n aus, und plotten Sie das Signal S:
Im Bereich von 0...255 hat das Signal S eine Amplitude von 1 für alle Werte von n (96...160) und ansonsten eine Amplitude von null.
3. Verwenden Sie die Funktion wave, um die Wavelet-Transformation des Signals S zu berechnen:
4. Berechnen Sie die in dieser Transformation enthaltene Anzahl von Ebenen:
5. Verwenden Sie die Funktionen
submatrix und
floor, um ein Gespür für die relative Wichtigkeit jeder Ebene zu entwickeln:
6. Plotten Sie mehrere Ebenen von Koeffizienten gleichzeitig:
7. Stellen Sie das Signal mit weniger Daten dar, indem Sie zwei Schritte ausführen:
a. Setzen Sie die Koeffizienten höherer Ebene gleich null.
b. Berechnen Sie die inverse Wavelet-Transformation der neuen Koeffizientenvektoren.
Erste Ebene, auf der die Koeffizienten auf null eingestellt werden (L < 7 kann variiert werden).
8. Verwenden Sie die Funktion
iwave, um das ursprüngliche Signal wiederherzustellen:
9. Plotten und vergleichen Sie das ursprüngliche Signal mit dem transformierten Signal:
Auf diese Weise kann die für die Signaldarstellung erforderliche Datenmenge reduziert werden.