numpy.fft.irfft

fft.irfft(a, n=None, axis=- 1, norm=None)[源代码]

计算 rfft .

这个函数计算一维的倒数 n -实输入的点离散傅立叶变换 rfft . 换言之, irfft(rfft(a), len(a)) == a 在数字精度范围内。(原因见下文注释 len(a) 这里是必要的。)

输入的格式应为 rfft 即实际的零频率项,然后是复的正频率项,以增加频率。由于实输入的离散傅立叶变换是厄米特对称的,因此负频率项被认为是相应正频率项的复共轭。

参数
aarray_like

输入数组。

n可选的

输出转换轴的长度。为了 n 输出点, n//2+1 输入点是必要的。如果输入的长度大于此值,则会将其裁剪。如果短于此,则用零填充。如果 n 不是给予,而是接受 2*(m-1) 在哪里? m 输入沿指定轴的长度 axis .

axis可选的

计算逆FFT的轴。如果没有给出,则使用最后一个轴。

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

1.10.0 新版功能.

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

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

返回
out恩达雷

截断的或零填充的输入,沿所指示的轴转换 axis 或者最后一个如果 axis 未指定。转换轴的长度为 n ,或者,如果 n 没有给出, 2*(m-1) 在哪里? m 是输入的转换轴的长度。要获得奇数个输出点, n 必须指定。

加薪
IndexError

如果 axis 不是有效的轴 a .

参见

numpy.fft

用于定义DFT和使用的约定。

rfft

实际输入的一维FFT,其中 irfft 是逆的。

fft

一维FFT。

irfft2

实际输入的二维FFT的倒数。

irfftn

n -实际输入的尺寸FFT。

笔记

返回实值 n -点反离散傅立叶变换 a 在哪里 a 包含厄米特对称序列的非负频率项。 n 是结果的长度,而不是输入。

如果您指定 n 这样的话 a 必须为零填充或截断,多余/删除的值将以高频率添加/删除。因此,可以将序列重新取样到 m 通过傅立叶插值得到的点: a_resamp = irfft(rfft(a), m) .

厄米输入的正确解释取决于原始数据的长度,如 n . 这是因为每个输入形状可以对应于奇数或偶数长度信号。默认情况下, irfft 假设输出长度为偶数,将最后一个条目置于奈奎斯特频率;与对称对应项混叠。通过厄米对称性,这个值被认为是纯实数。为避免信息丢失,正确输入实际长度 must 被给予。

实例

>>> np.fft.ifft([1, -1j, -1, 1j])
array([0.+0.j,  1.+0.j,  0.+0.j,  0.+0.j]) # may vary
>>> np.fft.irfft([1, -1j, -1])
array([0.,  1.,  0.,  0.])

注意输入中的最后一个术语是如何 ifft 是第二项的复共轭,输出处处有零虚部。打电话时 irfft ,没有指定负频率,输出数组是纯实数。