Seite 1 von 1

Power sepctral Density mit numpy

Verfasst: Donnerstag 19. Mai 2016, 18:12
von gierschi@python
Hallo,

ich habe als Rohdaten ein 2D Feld mit einer turbulenten Windgeschwindigkeitskomponente u(y,x) und möchte hierfür das Leistungsdichtespektrum berechnen und darstellen (Gitterweite jeweils 2.5 m und Ausdehnung in x und y Richtung 640m). Zur Überprüfung, ob alles geklappt hat, berechne ich anschließend das Integral des Spektrums, welches nach meinem Kenntnisstand die Varianz der Größe u(x,y) ergeben müsste. Mein bisheriger Ansatz mit numpy sieht wie folgt aus:

Code: Alles auswählen

psd     = (np.abs(np.fft.fft2(u[:,:])))**2 
psd2   =  np.mean(psdfff,axis=0)                    #Mittelung der PSD's entlang y

freqs = np.fft.fftfreq(257,2.5)                      #Bestimmung der zugehörigen frequenzen (Einheit cycles/m) 
idx   = np.argsort(freqs)

plt.loglog(freqs[idx],psd2[idx])                 # plotten. Die Form des spetrums entspricht gut theoretischen Überlegungen (Kolmogorov Spektrum)

variance = scipy.integrate.simps(psd2[idx],x=freqs[idx])        #Varianz über Integration des Spektrums

u_var  = np.var(u[:,:])            #Varianz über np.var
In meinem Fall unterscheiden sich die Varianzen beträchtlich. Jemand eine Idee??

Vielen Dank im Voraus

Re: Power sepctral Density mit numpy

Verfasst: Montag 23. Mai 2016, 08:11
von gierschi@python
Hat es was mit der skalierung zu tun?

vgl. http://stackoverflow.com/questions/2359 ... o-scale-it ??