影响FFT运算精度的主要配置项

对FFT运算精度影响较大的因素包括
 FFT架构;Radix-4、Radix-2、Pipeline、Radix-2 Lite
 输入数据位宽
 旋转因子位宽
 每个阶段的缩放因子
 FFT点数
1、 FFT架构对FFT运算精度的影响
整体而言,Radix-2精度最高,Pipeline次之,Radix-4较低,但是并非绝对如何,与其他因素也有较大关系。
2、 输入数据位宽对FFT运算精度的影响
以12bit数据位宽、14bit数据位宽、16bit数据位宽测试FFT运算得到的实部虚部数据误差,测试结果如下图所示。
在这里插入图片描述

图2.1 12bit数据位宽条件下测试结果
在这里插入图片描述

图2.2 14bit数据位宽条件下测试结果
影响FFT运算精度的主要配置项_第1张图片

图2.3 16bit数据位宽条件下测试结果
由上图可知,输入数据位宽越高,FFT运算结果精度越高
3、 旋转因子位宽对FFT运算精度的影响
配置为Fixed Point FFT时,旋转因子位宽范围为8-34,旋转因子位宽越高,FFT精度越高。
配置为Float Point FFT时,旋转因子位数可选值为24和25,两种位数条件下FFT运算的精度如下图所示。
影响FFT运算精度的主要配置项_第2张图片

图3.1
由上图可知,25位旋转因子的RMS噪声比24位旋转因子的RAM噪声低约5个dB。
4、 每个阶段缩放因子对FFT运算精度的影响
配置为Fixed Point FFT时,有三种缩放因子配置方式:Scaled(外部动态配置)、Unscaled(无缩放)、Block Floating Point(FFT核根据运算过程数据的值动态调整)。
由于Block Floating Point方式会自动检测过程数据的值,确定是否需要缩放,因此精度优于其他方式。
配置为Floating Point FFT时,默认无缩放,且不支持配置。
5、 FFT点数
每次FFT的点数会影响FFT运算的精度,以64点FFT和8192点FFT为例,两种情况下的测试误差如下图所示。
影响FFT运算精度的主要配置项_第3张图片
影响FFT运算精度的主要配置项_第4张图片

	由图可知,8912点FFT精度整体比64点精度高,由图3.1可知,FFT点数对运算精度有较大影响,不呈现明显的正反相关性。

你可能感兴趣的:(fpga,matlab,fft)