在使用28335 的RFFT例程时有个疑惑希望得到解答, 通过RFFT_f32_mag(&rfft);函数计算谐波幅值后的输出数组RFFTmagBuff中数组的下标表示的是什么?比如RFFTmagBuff[0]数组第一位代表直流分量?RFFTmagBuff[1]数组第二位代表基波?RFFTmagBuff[2]数组第三位代表二次谐波?不知道是这样理解吗?
比如下图是我RFFTmagBuff输出绘制的波形,请问该如何解读呢?

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.
在使用28335 的RFFT例程时有个疑惑希望得到解答, 通过RFFT_f32_mag(&rfft);函数计算谐波幅值后的输出数组RFFTmagBuff中数组的下标表示的是什么?比如RFFTmagBuff[0]数组第一位代表直流分量?RFFTmagBuff[1]数组第二位代表基波?RFFTmagBuff[2]数组第三位代表二次谐波?不知道是这样理解吗?
比如下图是我RFFTmagBuff输出绘制的波形,请问该如何解读呢?

它们是对应于最终FFT频谱幅度的频率单元。
可以按如下方式计算每个索引之间的相对频率间隔:

其中,Δf是每个bin之间的频率差,fs是采样频率,N是FFT size。因此,如果以44100 Hz的频率采样,FFT size为256,则每个bin将对应于44100/256=172.26。所以i=0对应于0赫兹,i=1对应于172.26赫兹,i=2对应于344.5赫兹,依此类推。
您好,我明白您的意思了,但还是有一点疑问,如果我输入的波形频率为400hz,那此时基波应该是在数组中i=2的位置还是i=3的位置呢?
比如我目前项目中需要对一个3.8KHz的波形进行FFT,我的采样频率是500KHz,FFT size是512,则每个bin对应500000/512=976.5625,但3800/976.625=3.8912,不知道基波频率在数组中什么位置?貌似经过尝试在Demo中,如果输入波形频率无法整除bin之间的频率差则最终计算的RFFTmagBuff数组数据有误,不知道该如何解决这个问题?麻烦您了!
这个帖子先为你结帖了,后续将在你发布的新帖中讨论:e2echina.ti.com/.../tms320f28335-fft