Other Parts Discussed in Thread: C2000WARE
Hi
I am using FFT library and results I am getting look fine but I have still some concerns about some points.
Here above the code snippet currently running.
1. I am still not sure the order of functions is accurate.
2. My input is 16bits filtered ADC Data in Q15 format, before feeding FFT with my ADC data, am shifting the dataset to the Q30 format which causing precision loss significantly.
How should I interpret my FFT result to link with my ADC results back as they needs to be converted to the G values.
Should I use _IQ30sqrt function after calling rfft_calc function ?
void FFT_Compute(RFFT_t * this) { RFFT32* rff = this->RFFT; RFFT32_brev(this->Input.ReadyToUseBuff_Q30, &ipcb[0], FFT_SIZE); // Bit reversed this->RFFT->win(rff); // Q31 format (abs(ipcbsrc)/2^16).^2 this->RFFT->calc(rff); // Compute the FFT this->RFFT->split(rff); // Post processing to get the correct spectrum this->RFFT->mag(rff); // Q31 format (abs(ipcbsrc)/2^16).^2 }