• Keine Ergebnisse gefunden

Rückgabewert

Psi hat denselben Typ (Skalar oder Vektor) wie Freqund enthält die Aus-wertungen des Waveletspektrums an dieser, beziehungsweise diesen.

Sc enthält die inWT enthaltenen Skalen als Vektor. Die genaue Anzahl und Verteilung ergibt sich aus dem Rückgabewert der weiter unten beschriebe-nen Funktion determineScalesPerOctave, die die pro Oktave notwendige ganzzahlige Anzahl der Skalen bestimmt. Details finden sich dort.

Fr enthält die zuSk gehörigen Frequenzen als Vektor, die aus der zentralen Frequenz des Wavelets,dt und der zugehörigen Skala errechnet werden.

B.2.1.2 scaledInverseWaveletTransformSpect

Diese Funktion führt (als fastScaled... über die schnelle Rekonstruktion aus Bemerkung 6) von einer Transformierten wieder zurück zu einem korrekt skalierten Signal. Auch sie ist dahingehend optimiert, dass bei einem erneu-ten Aufruf mit anderer Transformierter gleicher Dimension, aber ansonserneu-ten identischen Parametern, alle bereits vorausberechneten Tabellen für die Wa-veletspektra wieder verwendet werden, so dass sich auch hier ein deutlicher Geschwindigkeitsvorteil ergibt.

Aufruf

t = (fast)scaledInverseWaveletTransformSpect ( WT, Sc, Spect, Arg )

Übergebene Parameter

WT enthält die zurückzurechnende Transformierte als Matrix.

Sc enthält die inWTenthaltenen Skalen als Vektor, so wie sie von wavelet-TransformSpect zurückgegeben werden.

Spect enthält den Namen des zu verwendenden Waveletspektrums aus Ta-belle B.2 als String.

Arg enthält wieder das Argument zum verwendeten Wavelet.

Rückgabewert

t enthält das Ergebnis der umgekehrten Transformation als Vektor kom-plexer Zahlen, so dass noch eine Bildung des Realteils erfolgen muss, um zu einem reellen Signal zurück zu gelangen.

B.2.2 Hilfstransformationen

B.2.2.1 integerUpsampling

Diese Funktion führt ein FFT-basiertes Upsampling eines Signals um einen gegebenen Faktor, wie in Abbildung 3.5 dargestellt, durch. Spalten- oder Zei-lenvektoreigenschaft werden dabei erhalten, Reellwertigkeit wird erzwungen.

Aufruf

T = integerUpsampling ( t, u )

Übergebene Parameter

t enthält das umzurechnende Signal als Vektor.

u enthält den ganzzahligen Upsampling-Faktor.

Rückgabewert

T enthält das umgerechnete Signal als Vektor.

B.2.2.2 upsRep

Diese Funktion führt für ein übergebenes Signal ein Upsampling und eine Periodisierung wie in Abschnitt 3.4.3.1 durch, so dass die obere und unte-re Gunte-renzfunte-requenz der Transformation dem Wavelet entspunte-rechend angepasst werden können. Die außerdem übergebene Abtastfrequenz wird ebenfalls ent-sprechend umgerechnet.

Aufruf

[ T, new_sf ] = upsRep ( t, sf, ups, rep )

Übergebene Parameter

t enthält das umzurechnende Signal mitl Abtastpunkten.

sf enthält die Abtastfrequenz des Originalsignals als Skalar.

ups enthält den ganzzahligen Upsampling-Faktor. Ein Faktor von 1 be-wirkt, dass kein Upsampling stattfindet.

rep enthält den ganzzahligen Periodisierungs-Faktor. Ein Faktor von 1 be-wirkt, dass keine Periodisierung stattfindet.

Rückgabewerte

T enthält das umgerechnete Signal als Vektor der Länge ups·rep.

new_sf enthält die neue Abtastfrequenz als Skalar B.2.2.3 deRepTransform

Die Wavelettransformation eines periodisierten Signals ist ebenfalls peri-odisch und daher reicht es, eine einzige Periode darzustellen oder für Fil-terzwecke zu bearbeiten. deRepTransform leistet genau diese Extraktion.

Aufruf

single_WT = deRepTransform ( WT, rep )

Übergebene Parameter

WT enthält die zu deperiodisierende Wavelettransformation als Matrix.

rep enthält den ganzzahligen Periodisierungsfaktor.

Rückgabewert

single_WT enthält die extrahierte Periode als Matrix.

B.2.2.4 reRepTransform

Um Schwierigkeiten in den tiefen Frequenzen bei der Rücktransformation zu vermeiden, muss eine deperiodisierte Wavelettransformation wieder reperi-odisiert werden.

Aufruf

rep_WT = reRepTransform ( single_WT, rep )

Übergebene Parameter

single_WT enthält die zu reperiodisierende einzelne Periode der Wavelettrans-formation als Matrix.

rep enthält den ganzzahligen Periodisierungs-Faktor als Skalar.

Rückgabewert

rep_WT enthält die reperiodisierte Wavelettransformation als Matrix.

B.2.3 Hilfsfunktionen

B.2.3.1 computeUpsRepDispValues

Soll eine Wavelettransformierte bestimmte obere und untere Grenzfrequenzen sicher enthalten, so muss dies ggf. durch Upsampling und Periodisierung sichergestellt werden. Diese Funktion berechnet die passenden Parameter.

Aufruf

[ ups, rep, new_sf ] = computeUpsRepDispValues ( spect, args, sf, l, bot, top )

Übergebene Parameter

spect enthält das zu benutzende Waveletspektrum als String.

args enthält die Argumente für das Wavelet.

sf enthält die Abtastfrequenz des Signals.

l enthält die Anzahl der Abtastpunkte – also die Länge des Signalvektors – als Skalar.

bot enthält die gewünschte untere Grenzfrequenz als Skalar.

top enthält die gewünschte obere Grenzfrequenz als Skalar.

Rückgabewerte

ups enthält den errechneten Upsampling-Faktor als Skalar.

rep enthält den errechneten Periodisierungs-Faktor als Skalar.

new_sf enthält die neue Abtastfrequenz.

B.2.3.2 computeUpsRepReconstructValues

Soll auch die Rücktransformierte bestimmte Frequenzen sicher enthalten, so muss sichergestellt sein, dass die die Heisenberg-Boxen aller relevanten Punk-te ganz in der WavelettransformierPunk-ten enthalPunk-ten sind. Dies kann zu höheren Werten für Upsampling und Periodisierung führen, als sie mit computeUps-RepDispValues errechnet werden!

Aufruf, übergebene Parameter und Rückgabewerte Siehe B.2.3.1.

B.2.3.3 L1norm

Diese Funktion berechnet die L1-Norm des übergebenen Waveletspektrums zu einer ebenfalls übergebenen Skala.

Aufruf

L = L1norm ( spect, args , scale )

Übergebene Parameter

spect enthält das zu benutzende Waveletspektrum als String.

args enthält die Argumente für das Wavelet.

scale Enthält die Skala zu der die Norm berechnet werden soll als Skalar.

Rückgabewert

L enthält die errechnete Norm.

B.2.3.4 L2norm

Diese Funktion berechnet die L2-Norm des übergebenen Waveletspektrums zu einer ebenfalls übergebenen Skala und zwar über alle Frequenzen. Für ein richtig implementiertes Wavelet sollte dieser Wert über alle Skalen konstant sein!

Aufruf, übergebene Parameter und Rückgabewert Siehe B.2.3.3.

B.2.3.5 L2hnorm

Diese Funktion berechnet die L2-Norm des übergebenen Waveletspektrums zu einer ebenfalls übergebenen Skala und zwar nur für positive Frequenzen.

Für ein richtig implementiertes Wavelet sollte dieser Wert über alle Skalen konstant sein! Darüberhinaus sollten sich für analytische Wavelets die Rück-gabewerte vonL2normund L2hnormüberhaupt nicht, für reelle Wavelets um einen Faktor

2 unterscheiden.

Aufruf, übergebene Parameter und Rückgabewert Siehe B.2.3.3.

B.2.4 Interne Hilfsfunktionen

Diese Funktionen werden innerhalb der Software benutzt, um die Tabellen mit den abgetasteten Waveletspektra vorauszuberechnen. Sie sollten nie „von Hand” aufgerufen werden müssen.

B.2.4.1 determineScalesPerOctave

Diese Funktion bestimmt, wie dicht die Skalen für die Wavelettransformation liegen sollten und zwar mit dem Ziel, eine möglichst gute Rekonstruktion zu erreichen. Da die Quadratur mit der Trapezregel durchgeführt wird, liegt die-ser Bestimmung ein Gütekriterium für die Approximation der Wavelettrans-formierten in Skalenrichtung mit quadratischen Polynomen zugrunde.

Aufruf

S = determineScalesPerOctave ( spect, args, l )

Übergebene Parameter

spect enthält das zu benutzende Waveletspektrum als String.

args enthält die Argumente für das Wavelet.

l enthält die Anzahl der Abtastpunkte – also die Länge des Signalvektors – als Skalar.

Rückgabewert

S enthält die Zahl der Skalen, diepro Oktave berechnet wird.

B.2.4.2 scalesFrequenciesAndSpectra

Diese Funktion berechnet die Spektralmatrix, die für die Wavelettransfor-mation letztendlich benutzt wird. Außerdem liefert sie in einem Vektor die benutzten Skalen und die zu ihnen gehörigen zentralen Frequenzen zurück.

Aufruf

[ S, F, Psi ] = scalesFrequenciesAndSpectra ( spect, args, dt, l )

Übergebene Parameter

spect enthält das zu benutzende Waveletspektrum als String.

args enthält die Argumente für das Wavelet.

dt enthält das Abtastintervall (üblicherweise in Sekunden) als Skalar.

l enthält die Anzahl der Abtastpunkte – also die Länge des Signalvektors – als Skalar.

Rückgabewerte

S enthält die zu PSI gehörigen Skalen als Vektor.

F enthält die zu S gehörigen zentralen Frequenzen als Vektor.

PSI enthält die zu verwendenden Spektra als Matrix.

B.2.4.3 trapezoidalQuadRandomNodes

Diese Funktion führt für zwei Matrizen gleicher Dimension, je eine für Stütz-stellen und Funktionswerte, eine spaltenweise numerische Quadratur mit der Trapezregel durch.

Aufruf

Q = trapezoidalQuadRandomNodes ( x, y ) Übergebene Parameter

x enthält Spaltenvektoren von Stützstellen.

y enthält Spaltenvektoren von Funktionswerten.

Rückgabewert

Q enthält die Ergebnisse der spaltenweisen Quadratur als Zeilenvektor.