本文简要介绍 python 语言中 scipy.fftpack.fft
的用法。
用法:
scipy.fftpack.fft(x, n=None, axis=-1, overwrite_x=False)#
返回实数或复数序列的离散傅里叶变换。
返回的复数数组包含
y(0), y(1),..., y(n-1)
,其中y(j) = (x * exp(-2*pi*sqrt(-1)*j*np.arange(n)/n)).sum()
.- x: array_like
数组到傅里叶变换。
- n: 整数,可选
傅里叶变换的长度。如果
n < x.shape[axis]
,x被截断。如果n > x.shape[axis]
,x是零填充的。默认结果是n = x.shape[axis]
.- axis: 整数,可选
计算 fft 的轴;默认值在最后一个轴上(即
axis=-1
)。- overwrite_x: 布尔型,可选
如果为 True,则 x 的内容可以被销毁;默认为假。
- z: 复杂的ndarray
与元素:
[y(0),y(1),..,y(n/2),y(1-n/2),...,y(-1)] if n is even [y(0),y(1),..,y((n-1)/2),y(-(n-1)/2),...,y(-1)] if n is odd
其中:
y(j) = sum[k=0..n-1] x[k] * exp(-sqrt(-1)*j*k* 2*pi/n), j = 0..n-1
参数 ::
返回 ::
注意:
结果的打包为 “standard”:如果
A = fft(a, n)
,则A[0]
包含 zero-frequency 项,A[1:n/2]
包含正频率项,A[n/2:]
包含负频率项,顺序为:负频率逐渐减少。因此,对于 8 点变换,结果的频率为 [0, 1, 2, 3, -4, -3, -2, -1]。要重新排列 fft 输出以使 zero-frequency 组件居中,如 [-4, -3, -2, -1, 0, 1, 2, 3],请使用fftshift
。实现了单精度和双精度例程。半精度输入将转换为单精度。非浮点输入将被转换为双精度。不支持Long-double 精度输入。
当 n 是 2 的幂时,此函数效率最高,而当 n 为素数时,此函数效率最低。
请注意,如果
x
是实值,则A[j] == A[n-j].conjugate()
。如果x
是实值并且n
是偶数,则A[n/2]
是实数。如果数据类型为x如果是真实的,则会自动使用“real FFT”算法,这大约使计算时间减少一半。要进一步提高效率,请使用scipy.fftpack.rfft,它执行相同的计算,但只输出对称频谱的一半。如果数据既真实又对称,则scipy.fftpack.dct通过从一半信号生成一半频谱,可以再次使效率加倍。
例子:
>>> import numpy as np >>> from scipy.fftpack import fft, ifft >>> x = np.arange(5) >>> np.allclose(fft(ifft(x)), x, atol=1e-15) # within numerical accuracy. True
相关用法
- Python SciPy fftpack.fft2用法及代码示例
- Python SciPy fftpack.fftfreq用法及代码示例
- Python SciPy fftpack.fftn用法及代码示例
- Python SciPy fftpack.fftshift用法及代码示例
- Python SciPy fftpack.ihilbert用法及代码示例
- Python SciPy fftpack.ss_diff用法及代码示例
- Python SciPy fftpack.dstn用法及代码示例
- Python SciPy fftpack.idstn用法及代码示例
- Python SciPy fftpack.ifftshift用法及代码示例
- Python SciPy fftpack.itilbert用法及代码示例
- Python SciPy fftpack.dct用法及代码示例
- Python SciPy fftpack.idct用法及代码示例
- Python SciPy fftpack.hilbert用法及代码示例
- Python SciPy fftpack.irfft用法及代码示例
- Python SciPy fftpack.tilbert用法及代码示例
- Python SciPy fftpack.diff用法及代码示例
- Python SciPy fftpack.sc_diff用法及代码示例
- Python SciPy fftpack.shift用法及代码示例
- Python SciPy fftpack.cs_diff用法及代码示例
- Python SciPy fftpack.dctn用法及代码示例
- Python SciPy fftpack.idctn用法及代码示例
- Python SciPy fftpack.cc_diff用法及代码示例
- Python SciPy fftpack.next_fast_len用法及代码示例
- Python SciPy fftpack.rfft用法及代码示例
- Python SciPy fftpack.ifft用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.fftpack.fft。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。