FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6343 Discussions

wrong data through IFFT, FFT

Altera_Forum
Honored Contributor II
1,095 Views

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!
0 Kudos
8 Replies
Altera_Forum
Honored Contributor II
274 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
274 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
274 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
274 Views

 

--- 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?
0 Kudos
Altera_Forum
Honored Contributor II
274 Views

I was unable to upen your attachment. Could you re-link it?

0 Kudos
Altera_Forum
Honored Contributor II
274 Views

Can you see the file now? It is a matlab format file.

0 Kudos
Altera_Forum
Honored Contributor II
274 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
274 Views

maohuhua123: please don't request licenses on the forum

0 Kudos
Reply