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.

Ask for very large nunber IFFT

Other Parts Discussed in Thread: TMS320C6678

Hello

       I have encountered a problem about very large number FFT. from the TMS320C6678 Lite,I got the VLFFT code.I

tried to realize IFFT with a little change of  the three twiddle coefficients. but  i doesnot work.

     I want to know where is the error and how i can fix it.

  • Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com). Please read all the links below my signature.

    We will get back to you on the above query shortly. Thank you for your patience.

  • There is data scaling to avoid overflow in both FFT and IFFT functions. Please refer to this wiki to implment FFT with no scaling

    http://processors.wiki.ti.com/index.php/FFT_Implementation_With_No_Data_Scaling

    Thers is also an FFT example in the lexamples folder of the library package that demonstrates the use of FFT and IFFT to obtain the original data back. Please refer to that example and let us know if you have any questions or suggestions.

    Refer below thread as well,

    Thank you.

  • Sorry.

           Maybe I cannot describe clearly, I concentrated on very large FFT not the scale.

           would you please give some more help

  • Very large size FFT such as 256K .
  • Hi,

    Usually the twiddle factors FFT coefficients are generated using the function "gen_twiddle_ifft32x32" and the source could be located on the path below:

    ~\ti\dsplib_c66x_3_2_0_1\packages\ti\dsplib\src\DSP_ifft16x32\c66\gen_twiddle_ifft16x32.c

    I understand from your post that you have changed few twiddle factor coefficients and tried to realize IFFT from the modified twiddle factor array coefficients but there are special requirements you need to met inorder to modify the twiddle factor coefficeint arrary since these are desired in order to vectorize the FFT and the width of the twiddle factor array should be double word aligned  loads and fetch. Also, we do require routine to generate modiified twiddle factor array in which the twiddle factors WN/4, WN/2, W3N/4  should be arranged to be contiguous.  The modified twiddle factor array should be of the size "2*N" where as the conventional Cooley Tukey FFT is of size"3N/4".

    Please ensure that your changed twiddle factor coefficients uses the "gen_twiddle_ifft32x32" routine to generate a modified twiddle factor array which should be compatible to the size "2*N"

    The scale factor for twiddle factor coefficients must be 2147483647.5 and thus the input data must be scaled by 2log2(nx) to completely prevent overflow. The size of the FFT, nx, must be a power of 2 or 4 and 16 ≤ nx ≤ 65536

    Kindly ensure on the above requirements to be met and it should be compatible to the twiddle factor array size "2*N"

    For more info. on IFFT routines, please refer sections 4.3 on c64x+ DSP lib. programmer's reference below:

    http://www.ti.com/lit/ug/sprueb8b/sprueb8b.pdf

    Thanks & regards,

    Sivaraj K

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.

    -------------------------------------------------------------------------------------------------------


  • There is the FFT library code for large size FFTs. It is available as part of the MCSDK HPC release on K2H devices. The library is also available from the link below for K2H but you will need the MCSDK software to build the library dependent components.

    http://www.ti.com/tool/FFTLIB