东南大学硕士学位论文快速傅立叶变换(FFT)的FPGA实现姓名:陆旦前申请学位级别:硕士专业:软件工程指导教师:李智群;陈建平20070508
东南人学硕I。学位论文摘要随着数字电子技术的发展,数字信号处理的理论和技术广泛的应用于通讯、语音处理、计算机和多媒体等领域。快速傅立叶变换(FFT)使离散傅立叶变换的运算时间缩短了几个数量级,在数字信号处理领域被广泛应用。FFT已经成为现代信号处理的重要手段之一。现场可编程门阵列(FPGA)是近年来迅速发展起来的新型可编程器件。随着它的不断应用和发展,也使电子设计的规模和集成度不断提高。同时基于FPGA实现FFT的设计方法和思想被提出。本次设计的目的是快速傅立叶变换(FFT)的FPGA实现。此文在分析了快速傅立叶算法的基础上,提出了一种频率抽取基4FFT的FPGA设计方案,针对现有FFT的FPGA实现过程中蝶形运算需要频繁乘以多个旋转因子提出了改进方法,减少了旋转因子的乘法次数和存储空间,加快了蝶形运算的速度,设计的地址映射方法,无需运算即可得到所需数据的存放地址,并结合采用乒乓结构和流水线方式,来提高快速傅立叶变换(FFT)FPGA实现的速度。描述了在一片FPGA芯片内完成了整FFT处理器的电路设计,经过模块时序仿真和数据的验证及测试,达到工作在50MHz时钟频率的设计要求。最后对后续设计做了描述,并对用FPGA实现FFT做了展望。关键词:快速傅立叶变换;FPGA:旋转因子;流水线
奎塑叁堂堡!:兰垡丝塞AbstractTheoryandTechnologyofDigitalSignalProcessingarewidelyusedinmanyfields,suchascommunication,voiceprocessing,computerandmultimediawiththeadvancementofDigitalTechnology.PerformingtimeofFastFourierTransform(FFDisshorterafewstagesthanDFT’s,anditiswidelyusedintheDSPfield,FFTalreadyplayedanimportantroleinmodernDSP.FieldProgrammableGateArray(FPGA),anewtypeofprogrammabledevice,hasbeenmadeagoodprogressinrecentyears.Withthecontinuousapplicationanddevelopment,thescaleandintegrationofelectronicdesignarebeingenlarged.ThenthemethodandideasofH可implementationbaseOilFPGAareputforward.ThepurposeofthisdesignisFPGAimplementationofFFTalgorithm.ThepaperintroducesaFPGAdesignschemeoftheRadix-4DIFFFTalgorithmbaseonFFTAlgorithm.IntheFPGAimplementationofFFTs,thecomputationofbutterfliescontainsmanytwiddlefactormultiplications.Animprovementmethodispresentedtoreducethemultiplicationnumberandmemoryspaceoftwiddlefactors,whichhencespeeds叩thebutterflycomputation.ThedesignofaddressmappingCangetpositionofdatawithoutcalculation.Incombinationofusingthestructureofping—pangRAMandthepipelining,thesD∞doftheFFT’sFPGAimplementationCanbeincreased.ThenrealizecircuitoftheFFTprocessorononechip.Themodulehasbeensimulatedbytimingandverifiedbydatatojudgethecorrectnessofthedesign.andtheFFT’sworkfrequencyachieves50MHz.ThefuturedesignandexpectationoftheFPGAimplementationofFFTaredescribedatlast.Keywords:FFLFPGA;Twiddlefactor;Pipelining¨
东南大学学位论文独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。研究生签名:东南大学学位论文使用授权声明东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分内容。论文的公布(包括刊登)授权东南大学研究生院办理。研究生签名:孚击鲕导师签名:
第一章绪论1.1数字信号处理概论第一章绪论数字信号处理是从20世纪60年代以来,随着信息科学和计算机学科的高速发展而迅速发展起来的--19新兴学科,它是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的,实质就是将模拟信号或我们现实生活中的一些信号转化为数字信号并对转换后的数字信号进行相应的处理【I】.1.1.1数字信号处理的优点相对于传统的模拟信号处理,数字信号处理具有几项突出:l数字信号在处理过程中更加稳定模拟信号参数往往容易受电阻、电容、运算放大器或是温度变化的影响,而数字信号参数几乎不会,所以数字系统要比模拟系统稳定得多。这保证了应用系统的稳定性以及较长的使用寿命。2数字信号处理系统的可预见性当一个数字信号处理系统设计完成后,我们可以通过仿真或是其它手段直接看到结果,而且这与最终应用中出现的情况是一样的,同时,所有拷贝的数字信号处理系统间是没有性能差别的。3特殊功能数字信号处理可以完成许多模拟信号处理所达不到的功能,如线性相位响应,还有一些模拟信号不能处理的问题如无损压缩、纠错编码等。4适应性和可编程能力数字信号处理具有极强的适应能力,可以在多种领域内应用。同时,数字信号处理的设计也相对简单,并且可以根据不同的应用迅速对设计进行改进或重新设计。5成本低廉数字信号处理器多通过超大规模集成电路实现,相对使用大量的模拟器件完成同一任务来讲,数字信号处理器的成本是很低的。
东南人学硕{:学位论文1.1.2数字信号处理的发展概况DSP算法在许多领域应用极其广泛,如无线电通信、图象处理、语音识别、光谱分析、噪声分析以及雷达系统中的信号分析等。这些领域都是当代信息高速公路建设的重要学科。过去,人们通常用软件来实现这些算法,其缺点是处理速度慢、延时大、效率低。70年代以来,随着电子计算机、大规模集成电路、超大规模集成电路以及微处理器技术的迅猛发展,数字信号处理得到了飞速的发展,可编程数字信号处理器为快速信号处理提供可能,它的重要性日益在各个领域的应用中表现出来,实时、快速己经成为电子与信号处理行业的一大发展趋势。DSP从功能上可分为专用型和通用型两大类,专用DSP一般采用定点的数据格式,结构简单,运算速度快。和专用DSP相比,通用DSP的灵活性好,功能强,缺点是处理速度比不上专用DSP。由于VLSI技术的高速发展,数字设计技术和方法的进一步成熟,为新一代高速实时的专门用途的数字信号处理芯片提供了很好的条件。大规模可编程技术以及标准单元ASIC技术的成熟及其快速的推出,百万门级芯片的设计、SOC设计的完善,都使得专用数字处理器的实现越来越有效和实用。同时,m核的出现使硬件设计可以在模块或部件级基础上进行复用和引用,提高了设计生产效率和避免了差错等的发生。1.2快速傅立叶变换概述傅立叶分析从1822年法国数学家傅立叶提出之后渐渐在众多的科学领域有着广泛的应用,随着数字计算机的出现离散傅立叶变换(DFT)作为计算与分析工具,在各个学科领域(如通信、控制,信号处理、图像处理、生物信息学、计算物理、应用数学等)中有着广泛的应用,在各种数字信号处理中更是起着核心作用11】。但是从分析DFT运算可知道,DFT有着大量的计算过程,而其中又包含有许多的重复运算,这使得计算机在进行DFT时需要一定的运算时『自J,这显然不能满足各种高速处理的需求。1965年Cooley和Turkey提出了离散傅立叶变换快速变换(FFD,使DFT的运算量大大减少,成为数字信号处理发展史上的一个转折点【11。使得傅立叶变换能用在实时工程领域,所以研究FFT的实现也是工程应用的需要。
第一帝绪论1.2.1快速傅立叶变换的实现传统快速傅立叶变换的实现方法主要有两种,一种是使用单片机或DSP,通过软件编程来实现。虽然有很大的灵活性,但受DSP本身性能及程序指令顺序执行的限制,难以实现高速、大规模的FFT运算。另一种是应用专用FFT芯片或用户定制的大规模集成电路实现。专用FFT芯片或用户定制的大规模集成电路可以实现很高的运算速度,非常适合高速信号处理系统的应用,但通过全定制的ASIC实现开发周期长,而且存在有一定的风险。FPGA的出现使人们在FFT的实现方面又多了~种选择。FPGA同时具有软件编程的灵活性和ASIC电路的快速性等优点,随着集成电路技术进步和制造工艺水平的提高,FPGA结构和功能满足实现FFT的要求,适合高速数字信号处理。国际上的高速FFrr实现方案分为DSP,FPGA和ASICIP等,运算速度在几十和数百us量级。1.2.2快速傅立叶变换(FFT)的FPGA实现的现状随着多年的研究,FFr算法己趋于成熟,有组合数FFT算法和以维诺格兰(Winograd)为代表的一类傅立叶变换算法,实现的算法原理也是基于这些算法。现场可编程门阵歹iJ(FPGA)是八十年代中期出现的新型高密度可编程逻辑器件,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。随着超大规模集成电路(VLSI)工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,FPGA/CPLD芯片的规模也越来越大,其单片逻辑门数目已经达到上百万门,它所能实现的功能也越来越强。现在市场上占主要份额的是Altera公司和Xilinx公司,Altera公司的产品有MAX、FLEX、ACEX和APEX4大系列,门数依次增加;Xilinx公司的产品有:Spartan、Xc4000、Virtex3大系列,它们都有RAM资源。用FPGA实现FFT处理器具有硬件系统简单、功耗低的优点,同时具有开发时间较短、成本较低的优势。目前国内外一般都基于以上两个公司的FPGA产品实现FFT。在实现算法上主要是用针对N等于2的整数次幂的算法,如基2算法、基4算法、混合基算法和分裂基算法等,另一类是N不等于2的整数次幂的算法(以Winograd为代表的一类算法),虽然WFTA所需要的乘法次数比Cooley.Tukey算法有了明显的减少,但理论上比较复杂,不能进行同址运算,所需要的存储单元和传递次数也比Cooley.Tukey算法有了明显的增加,同时数据点数N也受到较大限制,因而WFTA硬件实现也比较困难。其中大部分的研究是针对FPGA的结构特点,充分使用其RAM
查堕查兰堡!:兰竺丝苎和灵活的逻辑资源实现并行处理和阵列处理来提高运算速度从而减少计算时间;也有部分为提高计算精度和速度,提出自定义浮点格式FFT处理器的FPGA硬件实现方案;最近也有对FFT算法中部分计算的研究改进,使之更适合FPGA结构,提高运算速度。1.3本论文的选题意义和研究内容研究快速傅立叶变换(FFT)的FPGA实现既可以减少国外对FFT实现上采用固核或硬核的技术封锁的限制,又可灵活的为各种工程应用提供满足要求的FFT处理,也为更高效率的FFT芯片的设计和实现打下基础。主要研究内容:l描述了FFT算法思想。2概念上介绍FPGA的原理、芯片结构和性能特点,结合算法理论确定FPGA器件作为实现FFT算法物理基础;概述了开发工具QuartusII软件及使用的硬件描述语言Verilog,并根据FPGA的开发流程,结合本次设计的要求提出了总体开发设计步骤。3分析研究已有的实现设计思想,比较了FFT处理器的各种实现结构,提出FFT处理器的总体设计结构,采用流水线结构、双端口读/写RAM方式、地址快速生成、旋转因子快速生成等思想。4结合设计思想使用QuartusII软件和Verilog语言对各模块进行设计实现,仿真。5进行整体设计的调试验证。6对本次设计的总结及FFT实现技术的展望。4