Skript zur Vorlesung Physik auf dem Computer - Universität Stuttgart
Skript zur Vorlesung Physik auf dem Computer - Universität Stuttgart
Skript zur Vorlesung Physik auf dem Computer - Universität Stuttgart
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3.7 Wavelets<br />
# Haar-Wavelet-Transformation<br />
#############################<br />
from scipy import *<br />
def haar_trafo(data):<br />
"Diskrete Wavelettransformation mit Hilfe des Haar−Wavelets."<br />
# Daten mit kleinstem Integrationsschritt multiplizieren<br />
c = data.copy() / len(data)<br />
# Temporaerer Puffer, um benoetigte Werte nicht zu ueberschreiben<br />
ctmp = zeros(c.shape)<br />
width = len(c)/2<br />
while width >= 1:<br />
for n in range(width):<br />
tmp1 = c[2*n]<br />
tmp2 = c[2*n+1]<br />
# Detail<br />
ctmp[width + n] = tmp1 - tmp2<br />
# Downsampling<br />
ctmp[n] = tmp1 + tmp2<br />
# Puffer <strong>zur</strong>ueckschreiben<br />
c[:2*width] = ctmp[:2*width]<br />
width = width / 2<br />
return c<br />
def inverse_haar_trafo(c):<br />
"Inverse Diskrete Wavelettransformation mit Hilfe des Haar−Wavelets"<br />
# Rueckgabewerte<br />
data = zeros(len(c))<br />
# phi mitnehmen <strong>auf</strong> der niedrigsten Stufe<br />
data[0] = c[0]<br />
width = 1<br />
cstart = 1<br />
while width