Forum Discussion
Altera_Forum
Honored Contributor
17 years agoAltera FFT - output scaling. How to do this correctly?
Hi, I do not get correct scaled results if I do everything the FFT user guide recommends. I have instantiated a 1024 points FFT, with single output and burst architecture. The data width...
Altera_Forum
Honored Contributor
17 years agoFirst, your imaginary value being set to zero is ok. It simply means you are dealing with real input and so expect two lines in the spectrum for each input frequency.
second, you need to think of fixed point only(unless your fft is not). third, you should get two symmetrical bins at nearly your amplitude value. Your figure suggest a multiplication by 2(2 x 14783 =~ 30146). About scaling: (why you say input is 16 bits, output is 31 ?) If altera says divide output by 2^exp i.e. multiply by 2^-exp then: division: use shift towards LSB extending sign bit and discarding those LSBs that drop off as you shift. for mult:shift magnitude bits towards sign bit inserting leading zeros.