scipy.fftpack.
irfft#
- scipy.fftpack.irfft(x, n=None, axis=-1, overwrite_x=False)[source]#
返回实数序列 x 的逆离散傅里叶变换。
x 的内容被解释为
rfft
函数的输出。- 参数:
- xarray_like
要进行逆变换的数据。
- nint, optional
逆傅里叶变换的长度。如果 n < x.shape[axis],x 将被截断。如果 n > x.shape[axis],x 将进行零填充。默认情况下,n = x.shape[axis]。
- axisint, optional
计算 ifft 的轴;默认为最后一个轴(即 axis=-1)。
- overwrite_xbool, optional
如果为 True,x 的内容可以被销毁;默认为 False。
- 返回:
- irfftndarray of floats
逆离散傅里叶变换。
另请参见
备注
返回的实数数组包含
[y(0),y(1),...,y(n-1)]
其中当 n 为偶数时
y(j) = 1/n (sum[k=1..n/2-1] (x[2*k-1]+sqrt(-1)*x[2*k]) * exp(sqrt(-1)*j*k* 2*pi/n) + c.c. + x[0] + (-1)**(j) x[n-1])
而当 n 为奇数时
y(j) = 1/n (sum[k=1..(n-1)/2] (x[2*k-1]+sqrt(-1)*x[2*k]) * exp(sqrt(-1)*j*k* 2*pi/n) + c.c. + x[0])
c.c. 表示前一表达式的复共轭。
有关输入参数的详细信息,请参见
rfft
。要处理具有复杂数据类型的(共轭对称)频域数据,请考虑使用新的函数
scipy.fft.irfft
。示例
>>> from scipy.fftpack import rfft, irfft >>> a = [1.0, 2.0, 3.0, 4.0, 5.0] >>> irfft(a) array([ 2.6 , -3.16405192, 1.24398433, -1.14955713, 1.46962473]) >>> irfft(rfft(a)) array([1., 2., 3., 4., 5.])