Seite 1 von 1

Energiedichtespektrum

Verfasst: Dienstag 2. August 2016, 08:43
von ChGr
Hallo zusammen,

ich bin gerade dabei mich mit der Messung von Turbulenz (in Luftströmungen) zu beschäftigen und möchte dabei ein 1D-Hitzdrahtsignal (enthält die Geschwindigkeitsfluktuationen) auswerten. Dabei möchte ich das Energiedichtespektrum des Signals darstellen. Dabei fällt es mir schwer einen Überblick über die versch. Möglichkeiten der Berechnung des Spektrums der Energiedichte (Numpy, Scipy, Matplotlib, ...) zu finden. Jede von den Möglichkeiten scheint das irgendwie anders zu machen. Dies zeigt sich in deutlich anderen y-Achsenabschnitten.

Kann mir da einer von euch weiterhelfen?

Re: Energiedichtespektrum

Verfasst: Dienstag 2. August 2016, 18:08
von Sirius3
@ChGr: mit Matplotlib kann man ja nichts ausrechnen. Wenn Du verschiedene Ergebnisse erhältst, scheinst Du irgendetwas unterschiedliches zu machen. Ohne genau zu wissen, was das ist, läßt sich Dir aber schlecht helfen.

Re: Energiedichtespektrum

Verfasst: Dienstag 2. August 2016, 19:53
von ChGr
Hey Sirius,

Variante 1 ist:

Code: Alles auswählen

def powerspec(x):
    hann = np.hanning(len(x))
    s = np.fft.fft(hann*x)
    return np.real(s*np.conjugate(s))
Variante 2:

Code: Alles auswählen

f, Pxx_den = signal.welch(E, fs=fs, window='hann', nperseg=1024)
Variante 3:

Code: Alles auswählen

f, Pxx_den = matplotlib.mlab.psd(E, NFFT=2**12, Fs=fs)
Variante 4:

Code: Alles auswählen

Pxx_den =np.abs(np.fft.fft(x))**2
Variante 5:

Code: Alles auswählen

f, Pxx_den = signal.periodogram(x, fs)
Laut Theorie sollte eigentl. Variante 1 passen oder?

Re: Energiedichtespektrum

Verfasst: Mittwoch 17. August 2016, 13:52
von ChGr
keiner da der mir da weiter helfen kann? :(