fft.
fft
计算一维离散傅立叶变换。
这个函数计算一维 n -基于快速傅立叶变换算法的点离散傅立叶变换 [CT] .
输入数组,可以是复杂的。
输出转换轴的长度。如果 n 小于输入的长度时,将剪切输入。如果它更大,输入将用零填充。如果 n 未给定,输入沿指定轴的长度 axis 使用。
计算自由流速度的轴。如果没有给出,则使用最后一个轴。
1.10.0 新版功能.
标准化模式(参见 numpy.fft ). 默认为“向后”。指示前向/后向变换对的哪个方向被缩放以及使用什么规格化因子。
numpy.fft
1.20.0 新版功能: 添加了“向后”、“向前”值。
截断的或零填充的输入,沿所指示的轴转换 axis 或者最后一个如果 axis 未指定。
如果 axis 不是有效的轴 a .
参见
用于定义DFT和使用的约定。
ifft
逆 fft .
fft2
二维快速傅立叶变换。
fftn
这个 n -尺寸fft。
rfftn
这个 n -实际输入的尺寸FFT。
fftfreq
给定FFT参数的频率箱。
笔记
快速傅立叶变换是指利用计算项中的对称性,有效地计算离散傅立叶变换的一种方法。当 n 是2的幂,因此转换对于这些大小是最有效的。
DFT是根据本实施中使用的约定在 numpy.fft 模块。
工具书类
Cooley,James W.和John W.Tukey,1965,“复杂傅立叶级数的机器计算算法”, 数学。计算机。 19:29 7301。
实例
>>> np.fft.fft(np.exp(2j * np.pi * np.arange(8) / 8)) array([-2.33486982e-16+1.14423775e-17j, 8.00000000e+00-1.25557246e-15j, 2.33486982e-16+2.33486982e-16j, 0.00000000e+00+1.22464680e-16j, -1.14423775e-17+2.33486982e-16j, 0.00000000e+00+5.20784380e-16j, 1.14423775e-17+1.14423775e-17j, 0.00000000e+00+1.22464680e-16j])
在本例中,实输入的FFT是Hermitian,即实部对称,虚部反对称,如 numpy.fft 文档:
>>> import matplotlib.pyplot as plt >>> t = np.arange(256) >>> sp = np.fft.fft(np.sin(t)) >>> freq = np.fft.fftfreq(t.shape[-1]) >>> plt.plot(freq, sp.real, freq, sp.imag) [<matplotlib.lines.Line2D object at 0x...>, <matplotlib.lines.Line2D object at 0x...>] >>> plt.show()