且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

为什么FFT产生复数而不是实数?

更新时间:2023-02-27 08:56:56

FFT是根本基础的变化。到其中的FFT改变你的原始信号的基础是一组正弦波代替。为了使这一基础来描述所有它需要能够重新present相位以及振幅的可能的输入;相位重新presented用复数。

The FFT is fundamentally a change of basis. The basis into which the FFT changes your original signal is a set of sine waves instead. In order for that basis to describe all the possible inputs it needs to be able to represent phase as well as amplitude; the phase is represented using complex numbers.

例如,假设你FFT只包含一个正弦波信号。根据阶段,你很可能得到一个完全真实的FFT结果。但是,如果你转移你输入的阶段几度,还能怎么FFT输出再present的输入?

For example, suppose you FFT a signal containing only a single sine wave. Depending on phase you might well get an entirely real FFT result. But if you shift the phase of your input a few degrees, how else can the FFT output represent that input?

编辑:这是一个有所松动的解释,但我只是想激励直觉

edit: This is a somewhat loose explanation, but I'm just trying to motivate the intuition.