Berechnung eines Leistungsspektrums
Ich möchte mit Python3 ein Leistungsspektrum berechnen. Von einem anderen Thread zu diesem Thema habe ich die Grundzutaten bekommen. Ich denke, es sollte so etwas wie sein:
ps = np.abs(np.fft.fft(x))**2
timeres = t[1]-t[0]
freqs = np.fft.fftfreq(x.size, timeres)
idx = np.argsort(freqs)
plt.plot(freqs[idx], ps[idx])
plt.show()
Hiert
sind die Zeiten undx
ist die Photonenzahl. Ich habe es auch versucht:
W = fftfreq(x.size, timeres=t[1]-t[0])
f_x = rfft(x)
plt.plot(W,f_x)
plt.show()
Aber beide geben mir meistens nur einen Peak um Null (obwohl sie nicht gleich sind). Ich versuche, das Leistungsspektrum daraus zu berechnen:
Welche sollte mir ein Signal um 580Hz geben. Was mache ich hier falsch?