有人能解释一下fft的输出在MATLAB中意味着什么吗?

时间:2010-04-17 14:25:32

标签: matlab fft

>> fft([1 4 66])

ans =

  71.0000           -34.0000 +53.6936i -34.0000 -53.6936i

有人可以根据上述结果解释吗?

2 个答案:

答案 0 :(得分:5)

编辑那令人尴尬。我遗漏了因子2.更新的答案如下......

FFT算法快速计算的离散傅立叶变换假设长度为N的输入数据是周期信号的一个周期。期间为2*pi rad。输出点的频率由2*n*pi/N rad/sec给出,其中n是从0N-1的索引。

对于您的示例,710 rad/sec处的值,通常称为DC-34+53.7i2*pi/3 rad/sec处的值及其共轭是4*pi/3 rad/sec的值。请注意,按周期性2*pi/3 rad/sec = -2*pi/3 rad/sec = 4*pi/3 rad/sec。因此,频谱的后半部分可视为-pi..0pi..2*pi的频率。

如果数据以恒定的采样率表示采样数据,并且您知道采样率,则可以将rad/sec转换为Hz。让采样率为deltaT。它的倒数是采样频率Fs。然后期间为T = N*deltaT sec = 2*pi rad1/T提供频率解析deltaF = Fs/N Hz。因此,输出点的频率为n*Fs/N Hz

答案 1 :(得分:0)

这是complex numbers的向量,表示频域中的信号。