amplitudę wyników fft numpy należy pomnożyć przez okres próbkowania?

Staram się potwierdzić moje zrozumienie FFT Numpy'ego na przykładzie: transformata Fourieraexp(-pi*t^2) powinno byćexp(-pi*f^2) gdy nie stosuje się skalowania dla transformacji bezpośredniej.

Uważam jednak, że aby uzyskać ten wynik, muszę pomnożyć wynik FFT przez współczynnikdt, który jest przedziałem czasu między dwoma punktami próbnymi na mojej funkcji. Nie rozumiem dlaczego. Czy ktoś może pomóc?

Oto przykładowy kod:

# create data
N = 4097
T = 100.0
t = linspace(-T/2,T/2,N)
f = exp(-pi*t**2)

# perform FT and multiply by dt
dt = t[1]-t[0]
ft = fft(f)  * dt      
freq = fftfreq( N, dt )
freq = freq[:N/2+1]

# plot results
plot(freq,abs(ft[:N/2+1]),'o')
plot(freq,exp(-pi*freq**2),'r')
legend(('numpy fft * dt', 'exact solution'),loc='upper right')
xlabel('f')
ylabel('amplitude')
xlim(0,1.4)

questionAnswers(1)

yourAnswerToTheQuestion