ich habe folgendes Problem: Im Rahmen einer Datenauswertung bekomme ich eine gewisse Menge bins(=Punkte im Frequenzraum). Daraus kann ich durch Rücktransformationen ein ursprünliches Signal (=Zeitserie) bestimmen. Mein Problem ist nun, dass die Rücktransformation des Signales in den Frequenzraum nicht annähernd aussieht wie meine ursprüngliche PSD.
Hier mal der Code für ein paar exemplarische bins. Es gibt zwar im Plot Erhebungen an den richtigen Stellen im Frequnzbereich, allerdings stimmen diese nicht in der Amplitude. Kann mir da jemand weiterhelfen?
Code: Alles auswählen
import scipy
import scipy.fftpack
import pylab
from scipy import pi
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
t = scipy.linspace(0,2*pi,8196)
bins = (2,4,7)
binsV = (2.0,1.9,0.5)
signal = np.zeros(len(t))
for i in range(3):
signal += binsV[i] * np.cos(2*pi*bins[i]*t)
FFT = abs(scipy.fft(signal))
PSD = abs(FFT)**2.0
freqs = scipy.fftpack.fftfreq(t.size, (t[1]-t[0]))
np.fft.fftshift(freqs)
plt.plot(freqs, PSD)
plt.show()