FFT在DSP2812上已经实现了。我只是对于FFT算出的结果不明白。
我用的是128点的实数FFT(RFFT),可是FFT算出的结果是64点的幅值(mag数组定义的大小是N/2+1)。按照FFT的理论,128点经过FFT变换后应该是128点结果啊?
我查了TI的文档,里面有这么两句话:
1Spectral bin 0 to N/2 is sufficient as the remainning bins N/2+1 to N-1are complex conjugates of bins N/2-1 to 1。
2 the DFT of N point real-valued sequence g(n) has properties of complex conjugate symmetry G(K)=G*(N-K). hence it is sufficient if we evaluate G(K) for k=0~N/2 to uniquely represent the DFT of g(n) as the remaining bins are conjugates .
可以看出TI的解释是因为共轭对称的原因。
但是我还是不明白,假设原始信号是Ad_data[i]=(int)311*(sin((float)i*2.0*3.14*50/6400)),共轭对称的话,那么G(1)有峰值,就意味着G(127)也有峰值,进而意味着原始信号中有127倍的基频信号。
这样理解对么?