Dies ist wahrscheinlich eine sehr naive Frage, aber hier ist es.Fourier Transformation vs Numpy FFT
Ich möchte Fourier-Transformation einer Funktion f (x) berechnen. Also definiere ich ein numpy Array X und gehe durch die vektorisierte Funktion f. Wenn ich jetzt die FFT dieses Feldes f (X) berechne, ergibt es sich nicht als Fourier-Transformation von f (x), wie wenn ich es auf einem Blatt Papier machen würde. Zum Beispiel, wenn ich FFT von Gaussian berechne, sollte ich ein Gaußsches oder ein Array bekommen, dessen realer Teil einem Gaußschen sehr nahe kommen würde.
Hier ist der Code. Bitte lassen Sie mich wissen, was ich ändern muss, um die übliche Fourier-Transformation zu erhalten.
import matplotlib.pyplot as plt
import numpy as np
N = 128
x = np.linspace(-5, 5, N)
y = np.exp(-x**2)
y_fft = np.fft.fftshift(np.fft.fft(y).real)
plt.plot(x, y_fft)
plt.show()
lassen Sie mich wiederholen. Ich möchte Fourier-Transformation irgendeiner Funktion (z. B. Gaußschen) berechnen. FFT ist ein Weg, die Fourier-Transformation eines Zahlenfeldes zu berechnen, aber dies ist nicht dasselbe wie die einfache Diskretisierung der Formel für die kontinuierliche Fourier-Transformation.
Sie behaupten tatsächlich, dass eine diskrete Fourier-Transformation keine Fourier-Transformation ist? –
Ich behaupte, dass die DFT nicht die FT ist. Die FT bezieht sich üblicherweise auf die kontinuierliche Fourier-Transformation einer Funktion. Ich werde den Beitrag leicht bearbeiten, um Verwirrung zu vermeiden. – gg349