Page 1 of 1

Effizient berechnen eine Teilmenge von Fourier -Koeffizienten

Posted: 10 Jun 2025, 15:16
by Anonymous
Bei einem großen Eingangsarray x sagen wir Länge n = 2 ** 16 , ich möchte die Fourier -Koeffizienten nur für eine kleine Anzahl von Frequenzen, sagen wir ein Intervall der Länge [100: 200] . Gibt es eine Bibliothek, die dies effizient tun kann? Natürlich könnte ich meinen eigenen Fast Fourier -Transformationsalgorithmus implementieren, aber etwas "aus dem Regal" wäre ideal.y = scipy.fft.fft(x)
z = y[100: 200]
< /code>
Auf meinem Computer dauert dies 0,65 Sekunden. Ein effizienterer Weg ist die Verwendung der Definition des DFT und berechnet sie nur für die von Interesse von Interesse < /p>
z = np.zeros(100)
index = 0
for k in range(100, 200):
z[index] = np.sum(x * np.exp(-2j*np.pi*k*np.arange(N)/N))
index += 1
< /code>
Auf meinem Computer dauert dies 0,38 Sekunden. Vermutlich kann dies weit mehr verbessert werden, und ich frage mich, ob dies bereits irgendwo getan wurde, um mir die Mühe zu ersparen.