1?c?jd,则利用旋转因子关于y轴以及直线y?x的对称性质,令W1635756W16?d?jc,W16??d?jc,W16??c?jd,其中c?cos??/?8*2?237,
d?sin??/8?*256?98,则有
??x1r?jx1i?*?c?jd???x1r?c?x1i?d??j?x1i?c?x1r?d????x7r?jx7i?*??c?jd????x7r?c?x7i?d??j??x7i?c?x7r?d? (3-2) ???x3r?jx3i?*?d?jc????x3i?c?x3r?d??j?x3r?c?x3i?d??x5r?jx5i*?d?jc??x5i?c?x5r?d?jx5r?c?x5i?d?????????由上式可以看出,等式右侧均为
??x1???x1??x1???x1??????????????x7x7x7????c????d??j????c??x7??d? (3-3) ??x3???x3??x3???x3??????????????x5x5x5???????x5?????????因此与N=8点的IFFT相同,将乘法器时分复用,经过串并变换,将4路串为1路,这样在流程图的蝶形单元中采仅需要5个实数乘法器(实现式(3-3)
26需要4个实数乘法器,W16与W16还需要额外的1个实数乘法器来实现),在流
程图的两个N/2点(4点)的IFFT中还需要2个实数乘法器。这样按照时分复用的方法完成一个16点的IFFT运算总共需要7个实数乘法器即可。
4. IFFT处理器的FPGA加载实验结果
本文在ALTERA Cyclone Ⅱ系列的EP2C70F896C6芯片上实现了16点的IFFT处理器,在8个时钟周期内,仅使用7个实数乘法器即可。另外由式(3-3)可已看出,本设计可以进行进一步的优化,将实部和虚部中所有乘数为c(或者d)的数据,经过串并变换,将8路串为1路,这样又可以减少实数乘法器的使用个数,仅使用5个实数乘法器。
同时为了避免浮点乘法运算将旋转因子扩大256倍后将最终结果输出右移8位,若乘法器的输入为9bit*8 bit,输出的结果为17 bit,为了进一步减少资源消耗,将乘法输出只取高12位,并将最终的结果右移3位输出。
N=8时,
(a)传统算法 (b)改进后算法
图6 N=8时的编译结果中资源占用情况
由图6可以看出,将乘法器输出只取高12位后,LE节省了19%。
图7 IFFT输出结果仿真图
由图7可知,N=8时,IFFT的输出结果与matlab的仿真结果完全相同。 N=16时,
图8 N=16时IFFT输出结果仿真图
由图8将输入与输出结果导出,并与matlab计算结果相比较,可得到下表,
表1 FPGA输出结果与MATLAB计算结果比较 输入A FPGA输出B Matlab计算结果C -3-2i -4+5i -4.0000+5.0000i 2+1i 4-7i 3.7993-4.9242i -1+0i -3+1i -2.1716+1.8995i 0-3i 3+4i 4.1157+4.9361i 1+2i -6-11i -6.0000-11.0000i -3-1i -8+0i -8.0703-0.0269i 3+1i -8-4i -7.5858-4.0000i -2+2i -8-2i -7.9634-1.7014i 0-2i 2-1i 2.0000-1.0000i -2+3i -20+10i -19.4562+9.4095i -1+1i -8-18i -7.8284-17.8995i 2-1i 4+7i 5.1981+7.5492i 3+0i 12-1i 12.0000-1.0000i -1+3i 3-13i 3.7272-12.4584i -3+2i -11-4i -10.4142-4.0000i 1-1i -6-3i -5.3503-2.7838i 由??B?CC22可以计算出16点平均相对误差约0.68%。
由本文算法可进一步推广到32,64,128,256,..…等多点IFFT的实现,根据旋
转因子关于y轴和y=x的对称性,使用两个实数乘法器可分时共享即可完成4个复数旋转因子的计算,因此占用乘法器数量仅为传统算法的1/8左右,可以大大节省资源占用情况,减少整个系统的资金投入。
参考文献
[1] Sansaloni T, Perez-pascual A, Valls J.Area-efficient FPGA-based FFT Processor
[J]. Electronics Leeters, 2003, 39(19): 1369-1370.
[2] 侯志坚,董军军,李杰等.OFDM中的FFT处理器设计及FPGA实现[J].中国
现代教育装备。2010年第21期
[3] A.V.奥本海姆,R.w.谢弗著.离散时间信号处理(Discrete—Time Signal
Processing)[M].黄建国,刘树棠译.第一版.北京:科学出版社,2000,489-494
[4] 杨贵,FPGA在数字信号处理中的应用与研究[D].湖南大学,2004,10-11 [5] 童庆为,陈建春。基于FPGA的FFT算法硬件实现[J].电子科技,2010年第
23卷第11期
[6] 顾艳丽,周洪敏。基于FPGA的新型高速FFT算法研究与实现[J].电子器件,2008年8月,第31卷第4期。
相关推荐: