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?
Energiedichtespektrum
@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.
Hey Sirius,
Variante 1 ist:
Variante 2:
Variante 3:
Variante 4:
Variante 5:
Laut Theorie sollte eigentl. Variante 1 passen oder?
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))
Code: Alles auswählen
f, Pxx_den = signal.welch(E, fs=fs, window='hann', nperseg=1024)
Code: Alles auswählen
f, Pxx_den = matplotlib.mlab.psd(E, NFFT=2**12, Fs=fs)
Code: Alles auswählen
Pxx_den =np.abs(np.fft.fft(x))**2
Code: Alles auswählen
f, Pxx_den = signal.periodogram(x, fs)