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.

TMDSEVM6678: How to calculate fft using DSP_fft16x16 ? What is the argument w[2*nx]Pointer to complex Q.15 FFT coefficients?

Part Number: TMDSEVM6678

I need to do fft of a complex number .... 

I've come across the below guide on DSP_fft16x16 ... one thing I don't understand is that there a w argument on section 4.3 which is described as "w[2*nx]Pointer to complex Q.15 FFT coefficients." (I attached a snapshot) I just need to know what is W doing because in Matlab I just have to pass an array of real/complex numbers and that's it. Please let me know your comments.

Also checked the fft_example.c under examples/fft_ex but couldn't make much sense of what is going on... can you pleas let me know which example is applicable to a TMDSEVM6678 device.

Best Regards, 

(Stay safe in the corona-virus pandemic )

  • Mike,

    fft16x6 is a fixed point FFT implementation that was created on C64x+ DSP architecture. The C66x core is backward compatible core and can run the same fixed point functions and provide higher or similar performance so all the examples in the library apply to C66x devices. The only thing that makes the DSP core C6678 is the linker command file that specifies the memory map and ranges so as long as you make sure the code is running from L2 or MSMC memory then you are fine.

    The w[2*x] twiddle factor compute has been explained in the test case that you can find here:

    dsplib_c66x_3_4_0_2\packages\ti\dsplib\src\DSP_fft16x16\c66\gen_twiddle_fft16x16.c file 

    You can also additionally look at the application notes here for FFT with data scaling :