文档介绍:基于FPGA的FFT设计与实现
Abstract: In the design of FFT based on FPGA, in order to increase FFT processing speed, this paper brings forward a new method that use shift-register to store twiddle-factors, and validate on Stratix series FPGA of pany. Experimentation result indicates that this method can improve FFT processing speed of FFT observably than the method of store twiddle-factors with ROM generally, and can satisfy FFT real-time processing request better.
Key words: FFT; FPGA; shift-register; twiddle-factors
摘要:在基于FPGA的FFT设计中,为了提高速度,提出了用移位寄存器存储旋转因子的方法,并且在Altera公司的Stratix系列的FPGA上做了验证。实验结果表明,该方法和普遍采用ROM做旋转因子存储器的方法相比,大幅提高了FFF的处理速度,能够更好地满足了FFT实时处理的要求。
关键词:FFT;FPGA;蝶型运算;旋转因子
一、前言:FPGA是大规模可编程逻辑器件的另一大类PLD器件。FFT运算在OFDM系统中起调制和解调的作用。针对OFDM系统中FF T运算的要求,研究了一种易于FPGA实现的FFT处理器的硬件结构。接收单元采用乒乓RAM结构,扩大了数据吞吐量。中间数据缓存单元采用双口RAM,减少了访问RAM的时钟消耗。计算单元采用基2算法,流水线结构,可在4个时钟后连续输出运算结果。各个单元协调一致的并行工作,提高了系统时钟频率,达到了高速处理。采用块浮点机制,动态扩大数据范围,在速度和精度之间得到折衷。模块化设计,易于实现更多点数的FFT运算。OFDM(正交频分复用)是一种多载波数字调制技术,被公认为是一种实现高速双向无线数据通信的良好方法。在OFDM系统中,各子载波上数据的调制和解调是采用FFT(快速傅里叶变换)算法来实现的。因此在OFDM系统中,FFT的实现方案是一个关键因素。其运算精度和速度必须能够达到系统指标。对于一个有512个子载波,子载波带宽20kHz的OFDM系统中,要求在50μs内完成512点的FFT运算。
硬件实现FFT算法的主要方案有:DSP(通用数字信号处理器);FFT专用芯片;FPGA(现场可编程门阵列)。DSP具有纯软件实现的灵活性,适合用于流程复杂的算法,例如在通信系统中的信道编、解码,QAM映射等算法。如果在DSP中完成FFT运算,不仅要占用大量DSP的运算时间,使整个系统的数据吞吐率降低,也无法发挥DSP软件实现的灵活性。因此,前端的FFT运算应由ASIC或FPGA完成。采用专用的FFT处理芯片,虽然速度能达到要求,但其可扩展性差。FPGA具有硬件结构可重构的特点。适合于算法结构固定、运算