论文部分内容阅读
随着模数转换器(ADC)采样速率以及器件工艺水平的逐年提高,大点数或超大点数的离散傅里叶变换(DFT)运算在雷达、通信信号侦察、图像处理、生物医学等各个领域有越来越多的应用。数据业务量的剧增对设备执行FFT的运算速度有了更高的要求,这就使得传统的FFT实现方法不能够满足高速率的要求,所以寻求适合于大点数FFT的实现方法成为了国内外许多学者的研究课题。且近年来FFT算法的FPGA实现正成为新的研究热点,受到了广泛关注。因此本课题将FFT处理器的FPGA实现作为研究重点。本论文首先分析了多种FFT算法以及这几种算法的运算量和实现的复杂度,经对比后选择按时间抽选基4算法作为本课题的目标算法,同时采用二维FFT的大点数算法;接着又介绍了以FFT处理器为核心的信号处理单元,该处理单元由A/D数据采集模块,FFT运算模块,PCI9656数据接收模块组成;最后对设计进行仿真验证和硬件测试。本文所设计的FFT处理器能够计算16K点复数运算,其实部、虚部均为16bits。采用流水线设计了整个FFT处理单元,详细论述了FFT的结构设计,主要对地址发生单元、蝶形运算单元、存储单元等模块的设计进行说明。本文重点论述了用FPGA实现FFT处理器部分,包括算法选取、系统结构设计、各个模块设计、算法验证、FPGA实现和测试整个流程。设计采用基4时间抽取算法,以ALTERA公司提供的QuartusII9.1为软件平台,利用Verilog HDL描述的方式实现了16K点32bits复数定点结构的FFT系统,并以FPGA芯片Stratix-III EP3SL150F1152C4N为硬件平台,进行了详细的测试分析。结果表明,系统实现了较高的运算精度,可稳定运行在60MHz的频率,完成一帧16K定点复数数据的FFT运算共需时约1.1ms。相比通用DSP和通用计算机实现在性能方面具有一定的优势,仿真结果与Matlab结果对比表明其计算结果达到了一定的精度,且运算速度可以满足一般实时信号处理的要求。