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.

TMS320F28069: 16-bit CFFT sample code for 512 point on F28069

Part Number: TMS320F28069

Dear Experts

We provide below functions on C2000:

1. Fix-point CFFT (IQmath)
2. FPU CFFT (float)
3. VCU0 & VCU2 CFFT (float)

But all above CFFT we provided are both processed by 32-bit data.
My customer found the RAM on F28069 is not enough for their algorithm.
Do we have 16-bit CFFT sample code for 512 point on F28069?

Thanks for your comment.

  • Complex numbers in fixed-point cFFT is represented as 32-bit WORD length data, with 16-bit real part and 16-bit imaginary part in the same value (for fixed math representation). And later data is processed in SIMD manner. So, if customer wants to use less memory he needs to sacrifice with imaginary part, where usually stored phase information. In some applications phase data can be omitted (like showing spectral graph). In others - cannot. cFFT-512 can be successfully done within 4kB RAM memory space. TMS320F28069 has more than enough RAM to do that.
    C2000 is the pinnacle of signal processing. The cFFT-512 on C2000 is optimized like any other system on a market. TI should be proud of it. Customer should study the FFT matter deeper.
  • Hi Jefferey

    I wanted to correct something in your post. 

    The VCU (type 0 and type 2) both implement 16-bit fixed point FFTs i.e. real and imaginary parts of the complex number are both 16-bit (Q15 format). On the F28069 you can use the VCU-type 0 to implement the smallest FFT. 

    Additionally, if your input is not complex i would suggest using the real FFT (rfft) over the complex version to save more space.