[SciPy-User] Amplitude scaling in fft
Jochen Schroeder
cycomanic at gmail.com
Mon Jan 18 20:19:36 EST 2010
Hi,
your answer doesn't really have a clear answer. Say raw_fft/raw_ifft is an fft
without normalization then:
A = raw_ifft(raw_fft(a, n=2**11), n=2**11)
A = N*a
where N=2**11 not len(a). However numpy does perform a normalization step in
the ifft part, so that
numpy.fft.ifft = raw_fft / N
This way we can use the fft just as a Fourier transform and also fft(\delta) is
constant 1.
Hope that explains things a bit.
Cheers
Jochen
On 01/17/10 23:44, Sharaf Al-Sharif wrote:
> Hi,
> I'm a bit confused regarding how the amplitudes returned by np.fft.fft (or
> np.fft.rfft) relate to the amplitudes of the original signal in time domain.
> If:
> A = np.fft.rfft(a,n=2048)
> but,
> n_pts = len(a) < 2048,
>
> will the physical amplitudes in time domain be np.abs(A)*2/2048 , or np.abs(A)
> *2/n_pts? Or something else?
> Thank you for your help.
>
> Sharaf
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
More information about the SciPy-User
mailing list