fft.
irfft
计算 rfft .
rfft
这个函数计算一维的倒数 n -实输入的点离散傅立叶变换 rfft . 换言之, irfft(rfft(a), len(a)) == a 在数字精度范围内。(原因见下文注释 len(a) 这里是必要的。)
irfft(rfft(a), len(a)) == a
len(a)
输入的格式应为 rfft 即实际的零频率项,然后是复的正频率项,以增加频率。由于实输入的离散傅立叶变换是厄米特对称的,因此负频率项被认为是相应正频率项的复共轭。
输入数组。
输出转换轴的长度。为了 n 输出点, n//2+1 输入点是必要的。如果输入的长度大于此值,则会将其裁剪。如果短于此,则用零填充。如果 n 不是给予,而是接受 2*(m-1) 在哪里? m 输入沿指定轴的长度 axis .
n//2+1
2*(m-1)
m
计算逆FFT的轴。如果没有给出,则使用最后一个轴。
1.10.0 新版功能.
标准化模式(参见 numpy.fft ). 默认为“向后”。指示前向/后向变换对的哪个方向被缩放以及使用什么规格化因子。
numpy.fft
1.20.0 新版功能: 添加了“向后”、“向前”值。
截断的或零填充的输入,沿所指示的轴转换 axis 或者最后一个如果 axis 未指定。转换轴的长度为 n ,或者,如果 n 没有给出, 2*(m-1) 在哪里? m 是输入的转换轴的长度。要获得奇数个输出点, n 必须指定。
如果 axis 不是有效的轴 a .
参见
用于定义DFT和使用的约定。
实际输入的一维FFT,其中 irfft 是逆的。
fft
一维FFT。
irfft2
实际输入的二维FFT的倒数。
irfftn
反 n -实际输入的尺寸FFT。
笔记
返回实值 n -点反离散傅立叶变换 a 在哪里 a 包含厄米特对称序列的非负频率项。 n 是结果的长度,而不是输入。
如果您指定 n 这样的话 a 必须为零填充或截断,多余/删除的值将以高频率添加/删除。因此,可以将序列重新取样到 m 通过傅立叶插值得到的点: a_resamp = irfft(rfft(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 ,没有指定负频率,输出数组是纯实数。
ifft