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.

CCS/TMS320C5515: HWAFFT of 8192 points

Part Number: TMS320C5515

Tool/software: Code Composer Studio

Hi everyone,

I'm currently using an evm5515 board with tms320c5515 on it. And I'm using CodeComposer v6.2.

I'm new to DSP programming and I'm interfacing for the first time with hwafft. I need to take a 8192 points fourier transform. I know that is possible with multiple 2-radix FFT stages with 1024pts fft, but I don't know what files the program needs.

I saw the 4096pts example but it's not very useful, because it doesn't work (I found on the forum 3 file: test.c, test.cmd and twid4096.asm but I need more files for the program to run correctly).

If possible, I wanted to know how to assign the twiddle factor table to a pointer and how to create a twiddle factor table for 8192 points, if not already available somewhere else...

A working example with all the files it needs would be very useful. 

Thank you very much!

  • Hi Matteo,

    Unfortunately I can not suggest you a HWAFFT of 8192 points example but you can find how to proceed with large (grater then 1024 points) FFTs in sprabb6b.pdf section 8 at:
    www.ti.com/.../sprabb6b.pdf
    Also I can suggest you source for HWAFFT 4096 points attached in linked below E2E thread:
    e2e.ti.com/.../269367

    Regards,
    Tsvetolin Shulev
  • Hi, thank's for the answer.

    But I already read the sprabb6b document and even the 8k thread didn't answer my questions. I know how to perform a greater-than-1024 fourier transform but I don't know how to define the Twiddle parameter in the function. I know there is twid4096.asm, however the parameter Twiddle isn't linked with it. When I run the function and display Twiddle vector (or in the case of my function twiddle_buf) the program says that it's full of zeros because it can't track down the address where the asm file store the values. I dont' know the assembly code but for what I know the twid4096.asm file store the values in a section of the memory that it call ".twiddle" and then it should link the pointer "twiddle" to that section. But it doesn't find it.

    Maybe it's something very stupid but I am new to this kind of programs.

    Thanks

  • Please, I need an answer to this problem...

    We have tried to copy the values of twid4096.asm into a vector but it doesn't seem like the correct method.

  • Matteo,

    The declaration of "twiddle_buf" variable is missing in the code. A same error is reported at:
    e2e.ti.com/.../659774
    Take a look at suggestion please.

    Regards,
    Tsvetolin Shulev
  • If the suggested solution is not applicable for you the other opportunity is to go back to "sprabb6b.pdf" and write you own FFT implementation of described algorithm.

    Regards,
    Tsvetolin Shulev
  • Yeah, I already saw that thread too, but the example linked at the end is useless...
    It's just a hwafft example that use 1024pts, but the question was about 4096pts fft, that use an extern twiddle vector.

    But don't worry I "resolved the issue" importing a vector with twiddle factors from matlab and using that instead of twid4096.asm

    Have a good day sir