This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

2812的FFT算法结果不明白,请教大家

我用的是2812开发板,用的FFT是TI提供的sprc081里的库文件,程序能运行成功。用的是实数FFT,也就是RFFT。我不明白的是RFFT的结果。比如说原始数据是N=128点,经过RFFT后幅值是N/2+1=65个。可是按照FFT的理论,128个点对应的应该是128个复数结果啊。看了TI的fft_mdl.pdf,里面的解释是实数FFT的结果是共轭对称的,所以64个点是足够的。可是不对啊,比如原始数据是sin(2π*50/6400*n),经过RFFT后的频谱图中X(1)处有幅值,这是正确的,如图: 。然后按照TI说的结果是共轭对称的,那么在X(N-1)=X(127)处也是应该有幅值的啊(这个其实也是矛盾的,因为原始信号中显然是没有127*50HZ的分量的)。可是为什么结果是N/2+1个点,只显示65个点呢?这65个点怎么代表原始的128个的点呢?后面的点为什么不显示呢?

  • 这是TI的文档,从上图可以看出原始信号是10HZ的sin(θ+45) 通过FFT后在1点和127点处都是是有幅值的。但是在程序中mag数组的大小是N/2+1,并不是N。还是不明白为什么128点的原始数据对应的FFT结果是65个点。