scipy.fftpack.

ifft#

scipy.fftpack.ifft(x, n=None, axis=-1, overwrite_x=False)[source]#

返回實數或複數序列的離散反傅立葉轉換。

返回的複數陣列包含 y(0), y(1),..., y(n-1),其中

y(j) = (x * exp(2*pi*sqrt(-1)*j*np.arange(n)/n)).mean().

參數:
xarray_like

要反轉的轉換資料。

nint, optional

反傅立葉轉換的長度。如果 n < x.shape[axis],則會截斷 x。如果 n > x.shape[axis],則會對 x 進行零填充。預設結果為 n = x.shape[axis]

axisint, optional

計算 ifft 的軸;預設值為最後一個軸 (即 axis=-1)。

overwrite_xbool, optional

如果為 True,則可以破壞 x 的內容;預設值為 False。

返回:
ifftndarray of floats

反離散傅立葉轉換。

另請參閱

fft

正向 FFT

註解

單精度和雙精度常式皆有實作。半精度輸入將轉換為單精度。非浮點輸入將轉換為雙精度。不支援長雙精度輸入。

n 是 2 的冪時,此函數效率最高;當 n 是質數時,效率最低。

如果 x 的資料類型為實數,則會自動使用「實數 IFFT」演算法,這大約可將計算時間減半。

範例

>>> from scipy.fftpack import fft, ifft
>>> import numpy as np
>>> x = np.arange(5)
>>> np.allclose(ifft(fft(x)), x, atol=1e-15)  # within numerical accuracy.
True