Possible exponent values, Possible exponent values -2 – Altera FFT MegaCore Function User Manual

Page 44

Advertising
background image

After every pass through a radix-2 or radix-4 engine in the FFT core, the addition and multiplication

operations cause the data bits width to grow. In other words, the total data bits width from the FFT

operation grows proportionally to the number of passes. The number of passes of the FFT/IFFT computa‐

tion depends on the logarithm of the number of points.
A fixed-point FFT needs a huge multiplier and memory block to accommodate the large bit width growth

to represent the high dynamic range. Though floating-point is powerful in arithmetic operations, its

power comes at the cost of higher design complexity such as a floating-point multiplier and a floating-

point adder. BFP arithmetic combines the advantages of floating-point and fixed-point arithmetic. BFP

arithmetic offers a better signal-to-noise ratio (SNR) and dynamic range than does floating-point and

fixed-point arithmetic with the same number of bits in the hardware implementation.
In a block-floating-point FFT, the radix-2 or radix-4 computation of each pass shares the same hardware,

with the data being read from memory, passed through the core engine, and written back to memory.

Before entering the next pass, each data sample is shifted right (an operation called "scaling") if there is a

carry-out bit from the addition and multiplication operations. The number of bits shifted is based on the

difference in bit growth between the data sample and the maximum data sample detected in the previous

stage. The maximum bit growth is recorded in the exponent register. Each data sample now shares the

same exponent value and data bit width to go to the next core engine. The same core engine can be reused

without incurring the expense of a larger engine to accommodate the bit growth.
The output SNR depends on how many bits of right shift occur and at what stages of the radix core

computation they occur. In other words, the signal-to-noise ratio is data dependent and you need to know

the input signal to compute the SNR.

Possible Exponent Values

Depending on the length of the FFT/IFFT, the number of passes through the radix engine is known and

therefore the range of the exponent is known. The possible values of the exponent are determined by the

following equations:
P = ceil{log

4

N}, where N is the transform length

R = 0 if log

2

N is even, otherwise R = 1

Single output range = (–3P+R, P+R–4)
Quad output range = (–3P+R+1, P+R–7)
These equations translate to the values in

Table 4-1

.

Table 4-1: Exponent Scaling Values for FFT / IFFT

(1)

N

P

Single Output Engine

Quad Output Engine

Max

(2)

Min

(2)

Max

(2)

Min

(2)

64

3

–9

–1

–8

–4

128

4

–11

1

–10

–2

256

4

–12

0

–11

–3

512

5

–14

2

–13

–1

1,024

5

–15

1

–14

–2

4-2

Possible Exponent Values

UG-FFT

2014.12.15

Altera Corporation

Block Floating Point Scaling

Send Feedback

Advertising