numpy.fft --- 快速傅里叶变换例程

numpy.fft 子模块提供一维快速傅里叶变换例程。输入数组的长度必须是 2 的幂;否则将引发 ValueError

ulab 在构建时不支持复数时,变换的实部和虚部会保存在两个独立的 numpy.ndarray 对象中,函数返回一个二元组 (real, imag)。当 ulab 在构建时启用了 ULAB_SUPPORTS_COMPLEXULAB_FFT_IS_NUMPY_COMPATIBLE 选项时,这些例程将以与 numpy 兼容的方式接受并返回复数数组。

函数

numpy.fft.fft(r: ndarray, c: ndarray | None = None) tuple[ndarray, ndarray]

计算 r 的一维离散傅里叶变换。

参数:
  • r -- 一个长度为 2 的幂的一维数组。保存输入信号的实部。

  • c -- 一个可选的一维数组,其长度与 r 相同,包含输入的虚部。如果省略,则假定虚部为零。

返回:

一个由 numpy.ndarray 对象组成的二元组 (real, imag),保存变换的实部和虚部。

抛出:

ValueError -- 如果输入的长度不是 2 的幂。

ulab 在编译时将 ULAB_SUPPORTS_COMPLEXULAB_FFT_IS_NUMPY_COMPATIBLE 设置为 1 时,该函数转而接受单个(可能为复数的)数组并返回一个复数数组,方式与 numpy.fft.fft 相同。

numpy.fft.ifft(r: ndarray, c: ndarray | None = None) tuple[ndarray, ndarray]

计算一维逆离散傅里叶变换。

参数:
  • r -- 一个长度为 2 的幂的一维数组。保存频谱的实部。

  • c -- 一个可选的一维数组,其长度与 r 相同,包含频谱的虚部。如果省略,则假定虚部为零。

返回:

一个由 numpy.ndarray 对象组成的二元组 (real, imag),保存逆变换的实部和虚部。结果按 N(样本数)归一化,因此 ifft(fft(x)) 会重现原始输入。

抛出:

ValueError -- 如果输入的长度不是 2 的幂。

ulab 在编译时将 ULAB_SUPPORTS_COMPLEXULAB_FFT_IS_NUMPY_COMPATIBLE 设置为 1 时,该函数接受单个(可能为复数的)数组并返回一个复数数组。