Dynamic Range Characteristics - 9.1 English

PG109 Fast Fourier Transform LogiCORE IP Product Guide

Document ID
PG109
Release Date
2022-05-04
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.

This Figure through This Figure 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 3-15: Input Data: 24 Bits

X-Ref Target - Figure 3-15

inset_300033.jpg
Figure 3-16: FFT Core Results: 24 Bits

X-Ref Target - Figure 3-16

inset_400035.jpg
Figure 3-17: Input Data: 20 Bits

X-Ref Target - Figure 3-17

inset_5.jpg
Figure 3-18: FFT Core Results: 20 Bits

X-Ref Target - Figure 3-18

inset_6.jpg
Figure 3-19: Input Data: 16 Bits

X-Ref Target - Figure 3-19

inset_7.jpg
Figure 3-20: FFT Core Results: 16 Bits

X-Ref Target - Figure 3-20

inset_8.jpg
Figure 3-21: Input Data: 12 Bits

X-Ref Target - Figure 3-21

inset_9.jpg

Figure 3-22: FFT Core Results: 12 Bits

X-Ref Target - Figure 3-22

inset_10.jpg
Figure 3-23: Input Data: 8 Bits

X-Ref Target - Figure 3-23

inset_11.jpg
Figure 3-24: FFT Core Results: 8 Bits

X-Ref Target - Figure 3-24

inset_12.jpg

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

This Figure , This Figure , and This Figure 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 3-25: Full-Precision Unscaled Arithmetic

X-Ref Target - Figure 3-25

inset_13.jpg
Figure 3-26: Scaled (scaling of 1/N) Arithmetic

X-Ref Target - Figure 3-26

inset_14.jpg
Figure 3-27: Block Floating-Point Arithmetic

X-Ref Target - Figure 3-27

inset_15.jpg

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

Figure 3-28: Convergent Rounding

X-Ref Target - Figure 3-28

inset_16.jpg
Figure 3-29: Truncation

X-Ref Target - Figure 3-29

inset_17.jpg

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

Figure 3-30: 64-point Transform

X-Ref Target - Figure 3-30

inset_18.jpg
Figure 3-31: 2048-point Transform

X-Ref Target - Figure 3-31

inset_19.jpg
Figure 3-32: 8192-point Transform

X-Ref Target - Figure 3-32

inset_20.jpg

All of the preceding dynamic range plots show the results for the Radix-4 Burst I/O architecture. This Figure and This Figure 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 3-33: 64-point Radix-2 Transform

X-Ref Target - Figure 3-33

inset_21.jpg
Figure 3-34: 1024-point Radix-2 Transform

X-Ref Target - Figure 3-34

inset_22.jpg