Altera_Forum
Honored Contributor
16 years agoMSB not used in FFT Megacore Function
I am currently using the FFT MegaCore and I remarked something strange about the output resolution.
I tested the function in Matlab using the model with different types of signals (sine, noise, sine+noise, square) and I remarked that the MSB of the output is never used (always 0 or 1), and sometimes the 2 MSBs are not used. For instance, I used FFT in streaming architecture with 18 bits resolution, the input signals is a perfect square wave (4096 samples) that I scale to the maximum (i.e. 0/1 → -131'071 / 131071), and the maximum of the output of the FFT is 16'247 for the real part and 18'514 for the imaginary part. That means the two MSB are not used (because it is 18 bits whereas 16 bits would be sufficient). The exponent value is -11, so the limitation doesnot come from this. I waited that the scaling was optimized to exploit all the bits. But maybe it uses all bits internally and this cannot be seen on the output. So, I just would like to know if anybody can confirm that this is normal. Thanks in advance Jérôme