Dynamic Range Characteristics - 9.1 English - PG109

Fast Fourier Transform LogiCORE IP Product Guide (PG109)

Document ID
PG109
Release Date
2024-11-13
Version
9.1 English

The dynamic range characteristics are shown by performing slot noise tests. First, a frame of complex Gaussian noise data samples is created. An FFT is taken to acquire the spectrum of the data. To create the slot, a range of frequencies in the spectra is set to zero. To create the input slot noise data frame, the inverse FFT is taken, then the data is quantized to use the full input dynamic range. Because of the quantization, if a perfect FFT is done on the frame, the noise floor on the bottom of the slot is non-zero. The input data figures, which basically represent the dynamic range of the input format, display this.

This slot noise input data frame is fed to the FFT core to see how shallow the slot becomes due to the finite precision arithmetic. The depth of the slot shows the dynamic range of the FFT.

The following ten figures show the effect of input data width on the dynamic range. All FFTs have the same bit width for both data and phase factors. Block floating-point arithmetic is used with rounding after the butterfly. The figures show the input data slot and the output data slot for bit widths of 24, 20, 16, 12, and 8.

Figure 1. Input Data: 24 Bits
Figure 2. FFT Core Results: 24 Bits
Figure 3. Input Data: 20 Bits
Figure 4. FFT Core Results: 20 Bits
Figure 5. Input Data: 16 Bits
Figure 6. FFT Core Results: 16 Bits
Figure 7. Input Data: 12 Bits
Figure 8. FFT Core Results: 12 Bits
Figure 9. Input Data: 8 Bits
Figure 10. FFT Core Results: 8 Bits

There are several options available that also affect the dynamic range. Consider the arithmetic type used.

The following three figures display the results of using unscaled, scaled (scaling of 1/1024), and block floating-point. All three FFTs are 1024 point, Radix-4 Burst

I/O transforms with 16-bit input, 16-bit phase factors, and convergent rounding.

Figure 11. Full-Precision Unscaled Arithmetic
Figure 12. Scaled (scaling of 1/N) Arithmetic
Figure 13. Block Floating-Point Arithmetic

After the butterfly computation, the LSBs of the datapath can be truncated or rounded. The effects of these options are shown in the following two figures. Both transforms are 1024 points with 16-bit data and phase factors using block floating-point arithmetic.

Figure 14. Convergent Rounding
Figure 15. Truncation

For illustration purposes, the effect of point size on dynamic range is displayed in the following three figures. The FFTs in these figures use 16-bit input and phase factors along with convergent rounding and block floating-point arithmetic.

Figure 16. 64-point Transform
Figure 17. 2048-point Transform
Figure 18. 8192-point Transform

All of the preceding dynamic range plots show the results for the Radix-4 Burst I/O architecture. The following two figures show two plots for the Radix-2 Burst I/O architecture. Both use 16-bit input and phase factors along with convergent rounding and block floating-point.

Figure 19. 64-point Radix-2 Transform
Figure 20. 1024-point Radix-2 Transform