fft.
ifft
计算一维逆离散傅立叶变换。
这个函数计算一维的倒数 n -点离散傅立叶变换 fft . 换言之, ifft(fft(a)) == a 在数字精度范围内。有关算法和定义的一般描述,请参见 numpy.fft .
fft
ifft(fft(a)) == a
numpy.fft
输入的顺序应与返回的顺序相同。 fft ,即
a[0] 应包含零频率项,
a[0]
a[1:n//2] 应包含正频率项,
a[1:n//2]
a[n//2 + 1:] 应包含负频率项,从最负频率开始依次递增。
a[n//2 + 1:]
对于偶数个输入点, A[n//2] 表示正奈奎斯特频率和负奈奎斯特频率下的值之和,因为这两个频率是混叠在一起的。见 numpy.fft 有关详细信息。
A[n//2]
输入数组,可以是复杂的。
输出转换轴的长度。如果 n 小于输入的长度时,将剪切输入。如果它更大,输入将用零填充。如果 n 未给定,输入沿指定轴的长度 axis 使用。请参见有关填充问题的注释。
用于计算逆DFT的轴。如果没有给出,则使用最后一个轴。
1.10.0 新版功能.
标准化模式(参见 numpy.fft ). 默认为“向后”。指示前向/后向变换对的哪个方向被缩放以及使用什么规格化因子。
1.20.0 新版功能: 添加了“向后”、“向前”值。
截断的或零填充的输入,沿所指示的轴转换 axis 或者最后一个如果 axis 未指定。
如果 axis 不是有效的轴 a .
参见
介绍,包括定义和一般解释。
一维(正向)FFT,其中 ifft 是逆
ifft2
二维逆FFT。
ifftn
N维逆FFT。
笔记
如果输入参数 n 大于输入的大小,则在末尾加零填充输入。尽管这是常见的方法,但它可能会导致令人惊讶的结果。如果需要不同的填充,则必须在调用 ifft .
实例
>>> np.fft.ifft([0, 4, 0, 0]) array([ 1.+0.j, 0.+1.j, -1.+0.j, 0.-1.j]) # may vary
用随机相位创建和绘制带限信号:
>>> import matplotlib.pyplot as plt >>> t = np.arange(400) >>> n = np.zeros((400,), dtype=complex) >>> n[40:60] = np.exp(1j*np.random.uniform(0, 2*np.pi, (20,))) >>> s = np.fft.ifft(n) >>> plt.plot(t, s.real, 'b-', t, s.imag, 'r--') [<matplotlib.lines.Line2D object at ...>, <matplotlib.lines.Line2D object at ...>] >>> plt.legend(('real', 'imaginary')) <matplotlib.legend.Legend object at ...> >>> plt.show()