Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

wrong data through IFFT, FFT

Hi everyone,

I use altera fft ip core 9.0, and let my data go through 1024 ifft - GI - GI_remover - 1024 fft, but i did not get the origin data back(not the scaling problem, the data is totally different). Time sequence is correct, I got sop, eop every 1024 cycles.

Could anyone give me some advice of it?

Thanks!

8 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I would recommend that you check your data representation. Ensure that your input data is in the format expected by the FFT component. If your data's time samples span -N/2-N/2, but your fft is configured for natural order, you will have a problem in your output. Since you are recieving the SOP and EOP from the source interface, the issue is probably just a configuration issue.

    BTW, what type of signal/data are you analyzing? What is the bandwidth of the signal? Give me a little bit more information about your signal and the configuration and I may be able to provide some additional help. I just spent 2 weeks trying to the FFT in my system working and I finally figured out where all(hopefully) of the pitfalls are.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Winder,

    Thanks for your reply.

    My input is just in natural order. And could you tell me how to calculate my data's time samples span? I have real[13:0] and imag[13:0] work under 100MHz.

    Really appreciate your help
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Sure, ill give you an example. If your signal is lets say, sin(2*pi*t) and you define t = -0.512 : .001 : 0.511, you should configure the FFT's input data as (-N/2 to N/2). However, if you are processing your FFT's out "offline" with MatLab or some other tool, you can do a FFTSHIFT operation that will properly center the output. But if not, you should change the FFT to (-N/2 to N/2).

    If that parameter is not set properly, the next component may misinterpret the frequency (or time) values.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Sure, ill give you an example. If your signal is lets say, sin(2*pi*t) and you define t = -0.512 : .001 : 0.511, you should configure the FFT's input data as (-N/2 to N/2). However, if you are processing your FFT's out "offline" with MatLab or some other tool, you can do a FFTSHIFT operation that will properly center the output. But if not, you should change the FFT to (-N/2 to N/2).

    If that parameter is not set properly, the next component may misinterpret the frequency (or time) values.

    --- Quote End ---

    Thanks you again, but I do not quite get you...

    The attached file is my input, two column show I, Q for real and imag. Is there any problem if I use fft ip core to process that?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I want to know how to use FFT ip freely. if you have licence, can you !give me a one , Thank you !