Forum Discussion
Altera_Forum
Honored Contributor
19 years agoFFT/IFFT Unity Gain Example
Here is an example that I did a while back when I was playing with the FFT/IFFT core. It was built with DSP Builder 6.1. Also it incorporates the unity gain formula highlighted in the Block floating ...
Altera_Forum
Honored Contributor
18 years agoHi, Shaiful,
The FIFO: The FFT and IFFT configurations that we are using employ block floating point. Essentially, each module produces an exponent. We need to keep track of these exponent and align them, if we want to know how much to shift to achieve the unity gain (see Appendix of the FFT user guide). Since FFT produces results earlier than the IFFT core. We have to store the exponents from the FFT core first. Once the IFFT core starts outputting data, then we can align the exponent properly with those from FFT. This is where the FIFO comes into play. As far as your actual model: I am suspecting your multiply and add module probably has some intrinsic delay (perhaps some default pipeline module). That delay is possibly throwing off your timing (i.e. your other signals: sop, eop, valid, ... etc. are now ahead of your actual data). I would suggest figuring out that intrinsic delay (by running a simulation on that block alone). Once you figure out that delay, go ahead and delay other control signals by the appropriate amount. Hope this helps...