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

Problem with FFT of 32768 points and more

Honored Contributor II



I have created a FFT with MegaWizard Plug-in Manager of the 13.0 Quartus version, with the following parameters : 


  • Target Device family : Stratix III  

  • Transform Length : 16384, 32768  

  • Data Input Precision : 18 bits  

  • Data Output Precision : 18 bits  

  • FFT Engine Architecture : Single Ouput (number of parallel engines : 2)  

  • I/O Data Flow : Burst  

  • Use of M144K Blocks enabled  

  • Structure 4 Mults/2 adders  



The problem is : the Altera FFT created works well under Matlab with a length of 16384 points (16384.png screen), whereas with a length 32768 points the result of the FFT is zero for both real and imaginary parts excepted for the first point, as you can see in the 32768.png screen. 

https://www.alteraforum.com/forum/attachment.php?attachmentid=7372 https://www.alteraforum.com/forum/attachment.php?attachmentid=7371  


On the pictures, there is the real part, imaginary part and absolute result of the Altera FFT and of the Matlab FFT, and the difference between them. 

The signal used in input of Altera and Matlab FFT is the same, it is a complex exponential with some noise. 


So, would you have any idea of the origin of this problem? Is it a bug in the FFT model? 


Thank you in advance. 


0 Kudos
1 Reply
Honored Contributor II

I have contacted Altera regarding this problem, and there was indeed a bug with the 64 bits FFT Matlab Model for these FFT lengths. 


To resolve it, the file Sfftmodel.mexw64 available in "QUARTUS_DIR\ip\altera\fft\lib" should be replaced by the attached file.
0 Kudos