关键词:
快速傅里叶变换
串行计算
位串行架构
低功耗设计
摘要:
随着现代信息量的爆炸式增加,吞吐率的要求的不断提升,尽管快速傅里叶变换(Fast Fourier Transform,FFT)的相关技术已经相当成熟,但其硬件实现在需要兼顾高吞吐率和低功耗设计的目标下,仍有不小可以探索的空间,尤其在芯片产业的技术封锁的大背景下,FFT的高吞吐率和低功耗实现在无线通信和光网络上的应用场景之中有着亟待提升的要求。在计算结构上具有高度对称性的FFT实现上,在满足性能需求的同时,既需要高并行度、高硬件效、高系统时钟,又迫切需要更小的面积开销、更低的功耗。由此更低复杂度的FFT实现结构设计,有利于同等或者更低资源开销下达到更高的吞吐率,将对推动未来高速数字信号处理有着较为重要的意义。位串行计算是将数据的运算细化到单个比特级的流水线上,规避掉传统并行计算的进位逻辑长链,因此具有低复杂度的特性。利用位串行的计算架构,FFT中的乘加运算可以得到大大简化,可以提高并行度,增加面积效率。在面积要求较为苛刻的情况下,可以利用基于存储的思路构建出部分并行的结构来压缩面积。如果在面积约束不苛刻且需要更高的吞吐率的需求下,则可以找到一种折衷的办法既利用串行流水来缩短进位链,又部分利用组合逻辑,通过部分短链的流水线,得到更高的面积效率。同时针对5G NR标准,设计出能满足点数为N=2a·3b·5c的混合基DFT的低复杂度结构也具有较大研究意义。本文重点研究串行计算对于高并行度FFT的低复杂实现问题,按照部分并行的位串行计算2a点FFT设计,多比特串行计算的2a点FFT设计,以及串行计算的混合基FFT三个方面展开论文:(1)首先对于2a点FFT,本文此部分在算法上利用Cooley-Tukey分解算法,利用分解后全并行结构的高度重复性及对称性,将位串行的比特级流水线和基于存储的数据处理方案相结合,复用主要模块进行折叠处理设计出部分并行的2048点FFT,仅使用一块前级128点FFT和8块后级16点FFT,计算的中间数据通过存储调度连接,得到部分并行的FFT设计。同时,针对位串行计算架构的复数乘法器进行资源简化,以及折叠处理后可变系数乘法的针对性优化,尽可能多的利用串行计算的特点,并对比SDF架构的传统并行计算FFT,分析其面积功耗的优势。(2)第二部分在位串行计算和传统并行计算之间寻找一个折衷方案,同时兼顾两者的优点,构建出多个比特为一个整体的串行计算方案,本文称多比特串行计算。多比特串行的FFT实现结构用于实现在更高吞吐率的工程要求时,相对多个位串行FFT模块并行工作,有着复杂度更低、面积更小的优势,为串行FFT解决高吞吐率和更低面积功耗提供了另一解决思路。(3)第三部分则将串行计算应用在混合基FFT上,利用小点数WFTA(Wino-grad Fourier Transform Algorithm)在乘法复杂度上仅为O(N)的优势,结合串行计算的特点进行研究,得到更优的混合基FFT结构设计。通过与混合基DFT如基3基5的融合,可以让串行计算可以更加灵活多样地应用于实际的数字信号处理的工程需求。