Matlab仿真结果如图2所示,其中横坐标为20logl0(σ2/215)。可见,当输入信号平均功率较小时,量化误差和舍入误差随功率增加而下降,但平均功率上升到一定值后,产生的定点溢出误差增加使得SNR急剧下降。
针对较大的OFDM符号功率动态范围,本文采用DAGC技术来调整DFT输入信号功率,使其处在一个较平稳的范围内,以此提高DFT运算的输出SNR,同时减轻本身就具有较大运算量的DFT模块的负担。根据仿真结果,结合式(4),选择DFT输入平均功率为(210)2时最佳。
3 FPGA实现及分析
由于用FPGA实现乘除法会消耗大量资源,一般采用左右移位来代替。因此,为了简化FPGA实现难度,本文仅将输入序列的功率从区间[(2i-1)2,(2i)2]调整到[(29)2,(210)2],其中i为非负整数且i∈[6,15]。
DFT模块选用Altera公司的IPCORE,总体框图如图3所示,其中BUFl,BUF2均可存储1 024点,用于流水处理。该实现方式通过两个二级模块以及中间缓存实现,由于存储功率的寄存器位宽很大,实现时不使用比较器。流水处理1 024点所需要的平均时间la—tency仅为1 029个时钟周期,即经过1 024个时钟周期得到1 024个点后,平均仅需要5个时钟周期得到功率调整因子。本模块综合后的最高频率fmax=220 MHz。以输入序列平均功率为2×(214)2为例,功率调整方式对SNR影响如表1所示,其中第三种方式仅由Matlab仿真得到。可见,采用调整到区间[(29)2,(210)2]时的SNR较高且易于用FPGA实现。
4 结 语
本文主要针对OFDM系统中定点化DFT的溢出误差,分析了DFT输入信号功率对其输出信噪比的影响,并以高斯零均值输入信号为例,采用DAGC与DFT模块级联的方式进行了Matlab仿真和FPGA实现,证明了其可行性。该方法以很小的时延、较少的资源以及较高的精度为优势,有效地增大了定点化DFT正常工作的动态范围,同时为后级恢复原信号提供了可靠保障,完全满足0FDM系统基带解调的要求。