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()
.- 参数:
- x类似于数组
要反转的变换数据。
- nint,可选
逆傅里叶变换的长度。如果
n < x.shape[axis]
,则截断 x。如果n > x.shape[axis]
,则对 x 进行零填充。默认值使n = x.shape[axis]
。- axisint,可选
fft 的计算轴;默认为最后一个轴(即
axis=-1
)。- overwrite_xbool,可选
如果为 True,则 x 的内容可能会被销毁;默认为 False。
- 返回:
- ifft浮点数的 ndarray
离散傅里叶反变换。
另请参阅
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