即使算法的输入是一组离散的实数(整数),我们遇到的所有FFT实现都将导致复杂的值(具有实部和虚部)。
不可能仅以实数表示频域吗?
FFT基本上是基础的改变。FFT改变原始信号的基础是一组正弦波。为了使该基础描述所有可能的输入,它需要能够表示相位和幅度。该阶段用复数表示。
例如,假设您对仅包含一个正弦波的信号进行FFT。根据相位,您可能会获得完全真实的FFT结果。但是,如果将输入的相位偏移几度,则FFT输出还能如何表示该输入?
编辑:这是一个有点宽松的解释,但我只是想激发直觉。