【应用笔记】快速傅里叶变换及反变换成组浮点缩放(FFT/IFFT Block Floating Point Scaling)
Altera的FFT MegaCore功能模块内部使用成组浮点(block-floating-point,BFP)运算来执行计算。BFP结构是一个介于定点和完全浮点结构之间的一种折中方案。
The Altera® FFT MegaCore® function uses block-floating-point (BFP)
arithmetic internally to perform calculations. BFP architecture is a
trade-off between fixed-point and full floating-point architecture.
Unlike an FFT block that uses floating point arithmetic, a
block-floating-point FFT block does not provide an input for exponents.
Internally, a complex value integer pair is represented with a single scale
factor that is typically shared among other complex value integer pairs.
After each stage of the FFT, the largest output value is detected and the
intermediate result is scaled to improve the precision. The exponent
records the number of left or right shifts used to perform the scaling. As
a result, the output magnitude relative to the input level is:
output*2
-exponent
For example, if exponent = –3, the input samples are shifted right by
three bits, and hence the magnitude of the output is output*2
3.
an404.pdf