针对FFT硬件实现中旋转因子模块占用资源较多的问题,设计高性能单路延时反馈结构的基22快速傅里叶变换.采用CORDIC与MCM混合的方法设计旋转因子模块,实现了无需常规乘法器的FFT架构,不必占用DSP48E资源.对于旋转角度数量较少的W16旋转因子模块,采用基于三输入加法器的MCM方法设计,将加法器数量降到最低.对于旋转角度数量较多的W64、W256和W1024模块,采用CORDIC方法设计.依据旋转角度的数学规律,设计旋转角度实时生成模块,与传统的CORDIC方法相比,不需要占用ROM资源,避免了复杂的寻址逻辑和时序控制.与其他构架相比,设计的16 bit 64点快速傅里叶变换在Xilinx Virtex-7上将单位slice吞吐率提高了35.20%,256点FFT在Virtex-5上提高了30.37%,1024点FFT在Virtex-7上提高了25.38%.
针对传统串行坐标旋转数字计算方法(CORDIC)耗时且占用较多资源的缺点,提出了一种旋转模式下CORDIC算法的新型改进算法,该改进算法可用来代替直接数字频率合成器(DDS)查找表进行正余弦的计算。通过采用贪婪算法实现对CORDIC旋转方向与旋转角度的优化,从而可以达到串行转并行和减少迭代次数、节约资源的目的。该算法可以应用于三角函数的复杂函数的硬件实现中。仿真结果表明,在迭代次数相同的情况下,改进算法较传统算法可以获得更高的精度。最后,在Xilinx FPGA的Spartan-3E芯片上实现了改进的CORDIC结构。与传统CORDIC算法相比,在运算精度为10-5时,可以节省Slices、LUTs(Look Up Tables)资源分别为28%和25%。
暂无评论