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.

TMS320F28388D: Issue in FFT functions

Part Number: TMS320F28388D


Hi, 


RFFT_f32_setInputPtr(hnd_rfft, Signal_Array);         // array of size 1024 point
RFFT_f32_setOutputPtr(hnd_rfft, FFT_Output);          // output array of 1024 size
RFFT_f32_setMagnitudePtr(hnd_rfft, Magnitude_Output); // Mag output array
RFFT_f32_setStages(hnd_rfft,  FFT_STAGES);            // FFT_STAGES is 10
RFFT_f32_setFFTSize(hnd_rfft, FFT_SIZE);              //FFT_SIZE is 1024
RFFT_f32_setTwiddlesPtr(hnd_rfft, RFFT_f32_twiddleFactors);

RFFT_f32u(hnd_rfft);
RFFT_f32_mag(hnd_rfft);

I am calculating 32 bit FFT of 1024 sized array using above-mentioned code. FFT magnitude values for most of the indexes are correct but for few points it differ compared with FFT calculated on another software. Difference is significant i.e. for few values in am getting +inf i.e. above 32 bit value.  

any suggestion on what is wrong with code? 

thanks

Ninad

  • Hi,

    The code looks correct. Can you try RFFT_f32s_mag() instead? It gives you the scaled output so we can eliminate any overflow related errors. Please share the input and output array so I can try to replicate it on my end.

    -Shantanu