numpy.fft.fft

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

计算一维离散傅立叶变换。

这个函数计算一维 n -基于快速傅立叶变换算法的点离散傅立叶变换 [CT] .

参数
aarray_like

输入数组,可以是复杂的。

n可选的

输出转换轴的长度。如果 n 小于输入的长度时,将剪切输入。如果它更大,输入将用零填充。如果 n 未给定,输入沿指定轴的长度 axis 使用。

axis可选的

计算自由流速度的轴。如果没有给出,则使用最后一个轴。

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

1.10.0 新版功能.

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

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

返回
out复合中子

截断的或零填充的输入,沿所指示的轴转换 axis 或者最后一个如果 axis 未指定。

加薪
IndexError

如果 axis 不是有效的轴 a .

参见

numpy.fft

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

ifft

fft .

fft2

二维快速傅立叶变换。

fftn

这个 n -尺寸fft。

rfftn

这个 n -实际输入的尺寸FFT。

fftfreq

给定FFT参数的频率箱。

笔记

快速傅立叶变换是指利用计算项中的对称性,有效地计算离散傅立叶变换的一种方法。当 n 是2的幂,因此转换对于这些大小是最有效的。

DFT是根据本实施中使用的约定在 numpy.fft 模块。

工具书类

CT

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()
../../_images/numpy-fft-fft-1.png