numpy.fft --- 快速傅里叶变换例程¶
numpy.fft 子模块提供一维快速傅里叶变换例程。输入数组的长度必须是 2 的幂;否则将引发 ValueError。
当 ulab 在构建时不支持复数时,变换的实部和虚部会保存在两个独立的 numpy.ndarray 对象中,函数返回一个二元组 (real, imag)。当 ulab 在构建时启用了 ULAB_SUPPORTS_COMPLEX 和 ULAB_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_COMPLEX和ULAB_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_COMPLEX和ULAB_FFT_IS_NUMPY_COMPATIBLE设置为 1 时,该函数接受单个(可能为复数的)数组并返回一个复数数组。