numpy.fft.ifftn

fft.ifftn(a, s=None, axes=None, norm=None)[源代码]

计算N维逆离散傅立叶变换。

该函数通过快速傅立叶变换(FFT)计算m维阵列中任意轴上n维离散傅立叶变换的逆。换言之, ifftn(fftn(a)) == a 在数字精度范围内。有关所用定义和约定的说明,请参阅 numpy.fft .

输入,类似于 ifft ,订购方式应与 fftn 也就是说,它应该在低阶角的所有轴上都有零频率项,在所有轴的前半部分有正频率项,在所有轴的中间有奈奎斯特频率项,在所有轴的后半部分有负频率项,以负频率递减的顺序。

参数
aarray_like

输入数组,可以是复杂的。

sINTS序列,可选

输出的形状(每个转换轴的长度) (s[0] 指0轴, s[1] 至轴1等)。这相当于 n 对于 ifft(x, n) . 沿任意轴,如果给定的形状小于输入的形状,则将剪切输入。如果它更大,输入将用零填充。如果 s 未给定,输入沿指定轴的形状 axes 使用。见发行说明 ifft 零填充。

axesINTS序列,可选

计算ifft的轴。如果没有给出,最后一个 len(s) 使用轴,或所有轴,如果 s 也未指定。中的重复索引 axes 意味着在该轴上执行多次反向变换。

norm{“向后”,“正交”,“向前”},可选

1.10.0 新版功能.

标准化模式(参见 numpy.fft ). 默认为“向后”。指示前向/后向变换对的哪个方向被缩放以及使用什么规格化因子。

1.20.0 新版功能: 添加了“向后”、“向前”值。

返回
out复合中子

截断的或零填充的输入,沿所指示的轴转换。 axes 或通过 sa 如上述参数部分所述。

加薪
ValueError

如果 saxes 长度不同。

IndexError

如果一个元素 axes 大于的轴数 a .

参见

numpy.fft

离散傅立叶变换的整体视图,使用定义和约定。

fftn

前锋 n -尺寸fft,其中 ifftn 是相反的。

ifft

一维逆FFT。

ifft2

二维逆FFT。

ifftshift

撤消 fftshift ,将零频率项移到数组的开头。

笔记

numpy.fft 用于定义和约定。

零填充,类似于 ifft ,通过沿指定维度向输入追加零来执行。虽然这是一种常见的方法,但它可能会导致令人惊讶的结果。如果需要其他形式的零填充,则必须在 ifftn 被称为。

实例

>>> a = np.eye(4)
>>> np.fft.ifftn(np.fft.fftn(a, axes=(0,)), axes=(1,))
array([[1.+0.j,  0.+0.j,  0.+0.j,  0.+0.j], # may vary
       [0.+0.j,  1.+0.j,  0.+0.j,  0.+0.j],
       [0.+0.j,  0.+0.j,  1.+0.j,  0.+0.j],
       [0.+0.j,  0.+0.j,  0.+0.j,  1.+0.j]])

创建和绘制带限频率内容的图像:

>>> import matplotlib.pyplot as plt
>>> n = np.zeros((200,200), dtype=complex)
>>> n[60:80, 20:40] = np.exp(1j*np.random.uniform(0, 2*np.pi, (20, 20)))
>>> im = np.fft.ifftn(n).real
>>> plt.imshow(im)
<matplotlib.image.AxesImage object at 0x...>
>>> plt.show()
../../_images/numpy-fft-ifftn-1.png