整个FFT模块在Spartan II的xc2s200pq208-5上共用去逻辑单元
(LUTs)393,占总资源的8%,这样就为OFDM系统其他模块的设计节省了大量资源。
128点FFT需要完成蝶形运算 (128/2)×log2128=448次,每个蝶形运算需要2个时钟周期,蝶形运算需要7个时钟周期的延时,收发外部数据需要128×2=256个时钟 周期,所以整个FFT运算共需要时钟周期448×2+7+256=1159个,在处理速度上达到了预期的目标。 3 结论
本文中设计的FFT模块采用基2时间抽取算法,用verilog HDL对其进行了RTL描述,用MoldSim和Synplify工具进行了仿真和综合,并在Xilinx Spartan II FPGA中进行了验证。
此外,FFT运算结果的精度与输入数据的位数及运算过程中的位数有关。在定点计算中,存储器数据的位数越大,运算精度越高,使用的存储单元和逻辑单元也越多。在OFDM系统的实际应用中,可以根据实际情况折衷选择FFT模块的精度和资源。
本文所设计的FFT模块的输入、输出和旋转因子为8比特数据,采用了1块(按实、虚部分开算是2块)双口RAM和基2单蝶形流水运算的结构,达到了某些OFDM系统对FFT模块的精度和资源的要求,为OFDM系统的ASIC的开发提供了很好的依据。
相关推荐: