Haar-Wavelet

Aus testwiki
Zur Navigation springen Zur Suche springen
Haar-Wavelet

Das Haar-Wavelet ist das erste in der Literatur bekannt gewordene Wavelet und wurde 1909 von Alfréd Haar eingeführt.[1] Es ist außerdem das einfachste bekannte Wavelet und kann aus der Kombination zweier Rechteckfunktionen gebildet werden.

Vorteilhaft am Haar-Wavelet ist die einfache Implementierbarkeit der zugehörigen Wavelet-Transformation als schnelle Wavelet-Transformation (FWT). Der Nachteil des Haar-Wavelets ist, dass es unstetig und daher auch nicht differenzierbar ist.

Die Funktionen der Haar-Wavelet-Basis

Skalierungsfunktion

Die Skalierungsfunktion bzw. „Vater-Wavelet“-Funktion der Haar-Wavelet-Basis ist die Indikatorfunktion des Intervalls [0,1).

ϕ(x)=χ[0,1)(x)={10x<10sonst

Sie erfüllt die Funktionalgleichung

ϕ(x)=ϕ(2x)+ϕ(2x1)=2(a0ϕ(2x)+a1ϕ(2x1)) mit a0=a1=12.

Waveletfunktion

Die Waveletfunktion ist die „zusammengeschobene“ Differenz zweier aufeinanderfolgender Skalierungsfunktionen:

ψ(x)=ϕ(2x)ϕ(2x1)=2(b0ϕ(2x)+b1ϕ(2x1))={10x<1/211/2x<10sonst,

wobei (b0,b1)=(12,12).

Die Schreibweise mit Vorfaktor sorgt dafür, dass die Matrix

H=(a0a1b0b1)=12(1111)

eine orthogonale Matrix ist. Dies ist Teil der Bedingungen, die orthogonale Wavelets erfordern.

Multiskalenanalyse

Diese Funktion erzeugt die Multiskalenanalyse der Stufenfunktionen. In dieser wird jeder Funktion fL2() mit „endlicher Energie“ auf jeder Skala J die folgende Projektion zugewiesen:

fPJ(f) mit PJ(f)(x)=n(01f(2J(n+t))dt)ϕ(2Jxn).

Die Differenz zwischen zwei Skalen lässt sich dann durch das „Mutter-Wavelet“ bzw. die eigentliche Waveletfunktion ausdrücken:

PJ+1(f)(x)PJ(f)(x)=n(01f(2J1(2n+t))dt01f(2J1(2n+1+t))dt)ψ(2Jxn).

Mit ϕj,k(x)=2jϕ(2jxk) und ψj,k(x)=2jψ(2jxk) als Funktionen im Hilbertraum L2() gilt

  • alle diese Funktionen haben L2-Norm 1,
  • ϕj,k ist senkrecht zu ϕj,l falls k=l,
  • ψi,k ist senkrecht zu ψj,l falls i=j oder k=l,
  • die ψi,k bilden eine Hilbertbasis von L2().

Schnelle Haar-Wavelet-Transformation

Gegeben sei ein diskretes Signal f, welches durch eine endliche oder quadratsummierbare Folge

f=(,f2,f1,f0,f1,f2,f3,)

dargestellt ist. Ihm ist als kontinuierliches Signal die Treppenfunktion

F(x)=+f1ϕ0,1(x)+f0ϕ0,0(x)+f1ϕ0,1(x)+f2ϕ0,2(x)+

zugeordnet.

Vorwärtstransformation

Aus dem diskreten Signal wird durch paarweises „Senkrechtstellen“ ein vektorwertiges Signal, die sogenannte Polyphasenzerlegung, erzeugt:

fp=(,(f2f1),(f0f1),(f2f3),).

Dieser wird nun gliedweise mit der Haar-Transformationsmatrix H:=12(1111) multipliziert

(sd)=:Hfp=(,(s1d1),(s0d0),(s1d1),),

dabei ist sk=f2k+1+f2k2 und dk=f2k+1f2k2.

Rücktransformation

Wir erhalten ein Mittelwertsignal s und ein Differenzsignal d, aus denen durch einfache Umkehr der vorgenommenen Schritte das Ausgangssignal zurückgewonnen werden kann:

f2k=skdk2 und f2k+1=sk+dk2

Ist die Schwankung von Glied zu Glied im Ausgangssignal durch ein kleines ϵ>0 beschränkt, so ist die Schwankung in s durch 2ϵ beschränkt, also immer noch klein, die Größe der Glieder in d jedoch durch ϵ/2. Ein glattes Signal wird also in ein immer noch glattes Signal halber Abtastfrequenz und in ein kleines Differenzsignal zerlegt. Dies ist der Ausgangspunkt für die Wavelet-Kompression.

Rekursive Filterbank

Wir können den Vorgang wiederholen, indem wir s zum Ausgangssignal erklären und mit obigem Vorgehen zerlegen, wir erhalten eine Folge von Zerlegungen s0:=f,(s1,d1),(s2,d2,d1),,(sT,dT,,d2,d1), sk hat ein 2k-tel der ursprünglichen Abtastfrequenz und eine durch 2k/2ϵ beschränkte Schwankung, dk hat ebenfalls ein 2k-tel der ursprünglichen Abtastfrequenz und durch 2k/2ϵ beschränkte Glieder.

Interpretation

Als diskretes Signal f wird meist eine reelle Folge (fn) über Z mit endlicher Energie betrachtet,

n=|fn|2<.

Unter diesen gibt es einige sehr einfache Folgen δn, Kronecker- oder Dirac-Delta genannt, eine für jedes nZ. Für deren Folgenglieder gilt, dass das jeweils n-te den Wert 1 hat, δnn=1, und alle anderen den Wert 0, δnk=0 falls k=n.

Jetzt können wir jedes Signal trivial als Reihe im Signalraum schreiben

f=n=fnδn

oder als Summe zweier Reihen

f=n=f2nδ2n+n=f2n+1δ2n+1.

In vielen praktisch relevanten Signalklassen, z. B. bei überabgetasteten bandbeschränkten kontinuierlichen Signalen, sind Werte benachbarter Folgenglieder auch benachbart, d. h. im Allgemeinen liegen f2n und f2n+1 dicht beisammen, relativ zu ihrem Absolutbetrag. Dies wird in der obigen Reihen aber überhaupt nicht berücksichtigt. In Mittelwert und Differenz von f2n und f2n+1 käme deren Ähnlichkeit stärker zum Ausdruck, der Mittelwert ist beiden Werten ähnlich und die Differenz klein. Benutzen wir die Identität

ac+bd=12(a+b)(c+d)+12(ab)(cd)

um benachbarte Glieder der ersten Reihe bzw. korrespondierende Glieder in der zweiten Zerlegung zusammenzufassen in (skalierten) Mittelwerten und Differenzen:

f=n=f2n+f2n+12δ2n+δ2n+12+n=f2nf2n+12δ2nδ2n+12

Jetzt führen wir neue Bezeichnungen ein:

  • die neuen Basisfolgen
an:=δ2n+δ2n+12 und bn:=δ2nδ2n+12
  • mit den neuen transformierten Koeffizienten
sn:=f2n+f2n+12 und dn:=f2nf2n+12.

Wir erhalten somit die Zerlegung der Haar-Wavelet-Transformation

f=n=snan+n=dnbn.

und mittels des unendlichen euklidischen Skalarproduktes können wir schreiben

sn=f,an und dn=f,bn.

Die letzten drei Identitäten beschreiben eine „Conjugate Quadrature Filterbank (CQF)“, welche so auch für allgemeinere Basisfolgen an und bn definiert werden kann. Die Basisfolgen an entstehen alle durch Verschiebung um das jeweilige 2n aus a0, die bn durch Verschiebung aus b0. Weiteres dazu im Artikel Daubechies-Wavelets.

Nun enthält die Folge s=(sn) eine geglättete Version des Ausgangssignals bei halber Abtastrate, man kann also auch s nach dieser Vorschrift zerlegen und dieses Vorgehen über eine bestimmte Tiefe rekursiv fortsetzen. Aus einem Ausgangssignal s0=f werden also nacheinander die Tupel

(s1,d1), (s2,d2,d1), (s3,d3,d2,d1), …

Ist f endlich, also fast überall Null, mit Länge N, dann haben die Folgen in der Zerlegung im Wesentlichen, d. h. bis auf additive Konstanten, die Längen

(N2,N2), (N4,N4,N2), (N8,N8,N4,N2), …

so dass die Gesamtzahl wesentlicher Koeffizienten erhalten bleibt. Die Folgen in der Zerlegung eignen sich meist besser zur Weiterverarbeitung wie Kompression oder Suche nach bestimmtem Merkmalen als das rohe Ausgangssignal.

Modifikationen

Die Polyphasenzerlegung des Ausgangssignals kann auch zu einer anderen Blockgröße s als 2 erfolgen, von der entsprechenden Haar-Matrix ist zu fordern, dass sie eine orthogonale Matrix ist und ihre erste Zeile nur aus Einträgen 1/s besteht. Diese Anforderung erfüllen die Matrizen der diskreten Kosinustransformation und die der Walsh-Hadamard-Transformation.

Die Haar-Wavelet-Transformation entspricht einer diskreten Kosinustransformation zur Blockgröße s=2, welche im Bild=Pixelrechteck nacheinander in horizontaler und vertikaler Richtung angewandt wird.

Siehe auch

Literatur

Vorlage:Commonscat

Einzelnachweise