Compensating for Bias due to Rounding for Fixed-Point FFT
Trevor Spiteri · 2023
The fixed-point FFT is used widely, particularly in hardware implementations where floating-point arithmetic is not always feasible. To avoid overflow in such implementations, a popular method is to shift values one bit to the right after every FFT stage. Rounding down for this scaling introduces a bias which degrades the SQNR. To avoid this degradation, sometimes convergent rounding is used. In this paper the computationally cheap rounding down is still used, and we observe that the bias is independent of the input signal, so a method is presented to compute the expected final bias ahead of time. During the FFT computation, one subtraction per value is required instead of the more complex convergent rounding, at the cost of only a small additional memory requirement. Apart from more efficient computation, the SQNR is also improved by 0.3 dB compared to using convergent rounding on all tested inputs.