ImageVerifierCode 换一换
格式:PDF , 页数:13 ,大小:701.48KB ,
资源ID:1031569      下载积分:30 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zhuanlichaxun.net/d-1031569.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA实现高速FFT处理的方法.pdf)为本站会员(xia****o6)主动上传,专利查询网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知专利查询网(发送邮件至2870692013@qq.com或直接QQ联系客服),我们立即给予删除!

基于FPGA实现高速FFT处理的方法.pdf

1、10申请公布号CN101937424A43申请公布日20110105CN101937424ACN101937424A21申请号201010278997922申请日20100910G06F17/1420060171申请人南京航空航天大学地址210016江苏省南京市御道街29号72发明人王旭东74专利代理机构南京经纬专利商标代理有限公司32200代理人许方54发明名称基于FPGA实现高速FFT处理的方法57摘要本发明公布了一种基于FPGA实现高速FFT处理的方法,所述方法如下离散傅里叶变换XK与输入信号XN构成了离散傅里叶变换对,都是长为N的复序列,将离散傅里叶变换XK与输入信号XN分解为短序列,

2、偶数项为一组,奇数项为一组,得到两个N/2点的子序列。依次类推可得离散傅里叶变换的快速算法FFT,本发明通过改进FFT算法结构,得到一种高速并行FFT,从而使得FFT运算速度较传统方法有了很大提高。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书6页附图5页CN101937425A1/1页21一种基于FPGA实现高速FFT处理的方法,其特征在于离散傅里叶变换XK与输入信号XN构成了离散傅里叶变换对,都是长为N的复序列,序列长度N是2的整数幂次方,即N2M,其中M为正整数,其中K、N分别表示离散傅里叶变换XK与输入信号XN的序列;首先将离散傅里叶变换XN分解为二

3、组,偶数项为一组,奇数项为一组,得到两个N/2点的子序列,即X1RX2R,X2RX2R1,0RN/211利用式2可以写成其中X1K和X2K分别为X1R和X2R的DFT。权利要求书CN101937424ACN101937425A1/6页3基于FPGA实现高速FFT处理的方法技术领域0001本发明公开了一种应用FPGA芯片实现高速FFT处理的方法,它涉及数字信号处理领域。背景技术0002DFTDISCRETEFOURIERTRANSFER及其快速算法FFT是数字信号处理领域的核心组成部分,FFT算法多种多样,按数据抽取方式不同又可分为基2、基4等。各算法优缺点视不同制约因素而不同。FFT实现方法也

4、多种多样,可以用软件实现,也可以用硬件实现。用软件在PC机或工作站上实现则计算速度很慢,一般多结合具体系统用硬件实现,例如用单片机或DSPDIGITALSIGNALPROCESS处理器实现,但是速度仍然不能满足某些应用领域的需求,难以与快速的A/D器件匹配。在雷达、电子对抗等应用领域追求运算速度,对实时性要求非常高。FPGA是英文FIELDPROGRAMMABLEGATEARRAY的缩写,即现场可编程门阵列,它是在PALPROGRAMMABLEARRAYLOGIC、GALGATEARRAYLOGIC、EPLDEMBEDDEDPROGRAMMABLELOGICDEVICE等可编程器件的基础上进一

5、步发展的产物,具有更高的集成度、更强的逻辑实现能力和更好的设计灵活性。FPGA由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计,它是作为专用集成电路ASIC,APPLICATIONSPECIFICINTEGRATEDCHIP领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。近些年来,FPGA技术发展迅速。一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出。另一方面,出现了许多FPGA设计辅助工具,这些工具大大提高了以FPGA为基础的新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。00

6、03数字信号处理中,设输入信号XN是长为N的复序列,其DFTDISCRETEFOURIERTRANSFER定义为00040005其IDFTINVERSEDISCRETEFOURIERTRANSFER定义为00060007其中,式1称为离散傅里叶正变换,式2称为离散傅里叶反变换,XN与XK构成了离散傅里叶变换对。0008根据上述公式,计算一个XK,需要N次复数乘法和N1次复数加法,而计算全部XK0KN1,共需要N2次复数乘法和NN1次复数加法,直接计算全部XK共需要4N2次实数乘法和2N2N1次实数加法。可见工作量与N2成正比,N越大,运算量将显著增加。0009参考文献00101COOLEYJW

7、,TUKEYANALGORITHMFORTHEMACHINECALCULATIONOFCOMPLEX说明书CN101937424ACN101937425A2/6页4FOURIERSERIESJMATHCOMPUTE,1965,VOL19,NO4,P29730100112任淑艳应用VHDL语言的FFT算法实现J,哈尔滨理工大学学报,VOL8,NO6,200312,P242600123刘朝晖,韩月秋用FPGA实现FFT的研究J北京理工大学学报J,VOL19,NO2,19994,P23423800134王旭东,刘渝全并行结构FFT及其FPGA实现J南京航空航天大学学报,VOL38NO1FEB2006

8、,P9610000145LOSINGCHENG,ALIMIRI,TETHINYEAPEFFICIENTFPGAIMPLEMENTATIONOFFFTBASEDMULTIPLIERSC,PROCIEEECCECE/CCGEI,SASKATOON,MAY2005,PP1300130300156AYANBANERJEE,ANINDYASUNDARDHAR,SWAPNABANERJEEFPGAREALIZATIONOFACORDICBASEDFFTPROCESSORFORBIOMEDICALSIGNALPROCESSINGJ,MICROPROCESSORANDMICROSYSTEMS2001,251,

9、PP13114200167PEREZPASCUAL,A,SANSALONI,T,ANDVALLS,JONLINERADIX2BUTTERFLIESONFPGACPROCWSESINTERNATIONALCONFERENCEONSPEECH,SIGNALANDIMAGEPROCESSING,2002,PP2201220500178PEREZPASCUAL,A,SANSALONI,T,ANDVALLS,JFPGABASEDRADIX4BUTTERFLIESFORHIPERLAN2CPROCIEEEINTERNATIONALSYMPOSIUMONCIRCUITSANDSYSTEMSISCAS2002

10、,2002,PPIII277III28000189ZSZADKOWSKI16POINTDISCRETEFOURIERTRANSFORMBASEDONTHERADIX2FFTALGORITHMIMPLEMENTEDINTOCYCLONEFPGAASTHEUHERCTRIGGERFORHORIZONTALAIRSHOWERSC,PROCOFTHE29THICRC,PUNE,2005001910WENCHANGYEH,CHEINWEIJENHIGHSPEEDANDLOWPOWERSPLITRADIXFFTJIEEETANSSIGNALPROCESSING,2003,VOL51,NO3,P864874

11、002011YUTAIMA,LARSWANHAMMARAHARDWAREEFFICIENTCONTROLOFMEMORYADDRESSINGFORHIGHPERFORMANCEFFTPROCESSORSJIEEETANSSIGNALPROCESSING,2000,VOL48,NO3,P917920发明内容0021技术问题本发明目的是为减少运算量,提高运算速度,针对背景技术存在的缺陷提供一种基于FPGA实现高速FFT处理的方法。0022技术方案本发明为实现上述目的,采用如下技术方案0023本发明基于FPGA实现高速FFT处理的方法,其特征在于离散傅里叶变换XK与输入信号XN构成了离散傅里叶变换对

12、,都是长为N的复序列,序列长度N是2的整数幂次方,即N2M,其中M为正整数,表示幂次数,其中K、N分别表示离散傅里叶变换XK与输入信号XN的序列;0024首先将离散傅里叶变换XN分解为二组,偶数项为一组,奇数项为一组,得到两个N/2点的子序列,即0025X1RX2R,X2RX2R1,0RN/213说明书CN101937424ACN101937425A3/6页500260027利用式4可以写成00280029其中X1K和X2K分别为X1R和X2R的DFT。0030有益效果0031ALTERA公司采用传统结构的FFT算法其32点FFTIP核的运算时间大于10US。用DSP做的32点FFT时间也要1

13、0US以上。本发明利用FPGA器件丰富的逻辑、RAMREADACCESSMEMORY、ROMREADONLYMEMORY和DSP等资源,采用一种新结构FFT算法,使得FFT运算速度较传统方法有了很大提高。随着芯片集成度的不断提高,这种高速FFT处理方法其优越性将越来越明显。而且该方法易扩展。附图说明0032图1蝶形运算图;0033图2按时间抽取将一个8点DFT分解为4个2点DFT;0034图3基2时间抽取全并行FFT算法结构图;0035图4一步交换后FFT结构图;0036图5高速并行FFT处理结构;0037图6高速FFT的FPGA实现框图;0038图7仿真时序图;0039图8FPGA运算结果;

14、0040图9理论输出结果。具体实施方式0041本发明采用一种基2新型结构FFT算法,应用ALTERA公司先进FPGA器件STRATIX系列EP1S25F7805来做硬件仿真。STRATIX器件是一款采用高性能结构体系的FPGA器件。它结合了强大内核性能,大存储带宽,数字信号处理DSP功能,高速I/O性能和模块化设计与一体的FPGA。其内嵌的DSP模块具有很高的乘法运算速度,在用VHDL编程时可以用MEGAWIZARD方法指定用器件内部DSP模块生成乘法器,用这种乘法器来做蝶形,用多个蝶形来构成FFT运算级,通过流水操作可实现FFT运算并行化。本发明还将采用ALTERA公司QUARTUSII软件

15、做逻辑设计和时序分析,并利用QUARTUSII软件强大的硬件仿真和逻辑分析功能,对VHDL硬件描述语言进行设计编译、综合、布局、布线,最后下载到FPGA芯片中生成了专用FFT处理芯片。0042计算DFT过程中需要完成的运算的系数里,存在相当多的对称性。通过研究这种对称性,可以简化计算过程中的运算,从而减少计算DFT所需的时间。0043利用的周期性、对称性、可约性三大特性,可将XN或XK序列按一定规律分解成短序列进行运算,这样可以避免大量的重复运算,提高计算DFT的运算速度。算法形说明书CN101937424ACN101937425A4/6页6式可以分为两大类,即按时间抽取FFT算法和按频率抽取

16、FFT算法。0044本专利采用基2时间抽取FFT算法。设序列长度N是2的整数幂次方,即N2M,其中M为正整数,表示幂次数。0045首先将序列XN分解为二组,偶数项为一组,奇数项为一组,得到两个N/2点的子序列,即0046X1RX2R,X2RX2R1,0RN/21300470048其中X1K和X2K分别为X1R和X2R的DFT。利用式4可以写成00490050用图形化的方式表示如图1所示。每个蝶形运算需要一次复数相乘和两次复数加法运算。采用这种表示方法,上述分解运算的过程流图如图2所示。通过分解后,每个N/2点DFT需要N2/4次复数相乘,两个N/2点DFT共需N2/2次复数相乘,组合运算共需N

17、/2个蝶形运算,需N/2次复数相乘,因此共需N2/2N/2N2/2次复数相乘,与直接运算相比节省近一半的运算量。0051由于N/22M1依然为整数,可将该序列一直分解下去,直到最后是2点的DFT为止。对于一个8点的FFT,根据上述算法可以得到一个完整的N8的基2FFT的运算流图,如图3所示。0052根据上述FFT算法原理及图3,可以归纳出基2FFT算法的一些规律和特点00531、整个FFT流图全由蝶形运算组成,因此蝶形运算是FFT运算的核心,该算法的具体实现,就是如何按一定顺序依次计算完成全部蝶形运算。每个蝶形运算需要一次复数的相乘和两次复数的相加。对于一个N2M的序列,可以逐步分解到最后全为

18、2点的DFT运算。全部N点的FFT运算共有个蝶形运算,共需复数乘法次,复数加法AFNMNLOG2N次,与直接计算相比运算量显著减少。00542、流图中各蝶形的输入输出量是互相不相重的,任何一个蝶形的两个输入量经蝶形运算后,便失去了价值,不需要保存,因此可以实现同址运算,即经过一级运算后的结果可以存放在原来贮存输入数据同一地址的单元中。因此,只需要N个复数的存储单元,既可存放输入的原始数据,又可存放中间结果,而且还可以存放最后的运算结果。这种原位运算方式节省了大量的存储单元,是FFT算法的一大优点,从而有效降低了设备成本。00553、对于同址运算结构,运算完毕后输出结果XK仍按自然顺序存放。而输

19、入序列XN,由于逐次按偶、奇时间顺序抽取的分解结果,重新排列了序列数据的存放顺序,因此它是按码位颠倒的顺序排放的。所谓码位颠倒,就是将二进制的最高有效位到最低有效位的位序颠倒放置而得的二进制数。例如,N8时,N1的二进制码位001,码位颠倒后为100,即相应的二进制数为4。实际运算中,不直接将XN按照倒位序输出,通常先将其按照自然顺序输入存储单元,并根据FFT算法,然后进行变址运算变换得到倒位序的排列,如表1。说明书CN101937424ACN101937425A5/6页700564、蝶形运算所需系数各级有所不同。每级自上而下观察,均是以开始,按等比级数依次递增,周期重复。例如,第M级运算,系

20、数为10,1,2M11,共2M1个系数,指数1逐次增1,周期重复2MM次。计算时所需系数可以事前计算好后存在一个数表中,这样运算速度快,但需要开销内存。亦可以在需要时依次递推计算,这样可节省内存,但要增加一定的运算工作量。0057表1码位排序N800580059图3所示这种全并行结构特点,如果采用同步时序电路,则可以实现每个时钟节拍输出一组FFT计算结果,从而充分发挥了并行加流水结构的快速处理特点,使得FFT运算速度得到极大提高。0060【高速FFT处理算法】0061由前面的介绍知,传统基2、8点FFT算法如图3所示。箭头上数字代表旋转因子中的K。输入按码位颠倒的顺序排放,输出是自然顺序。这种

21、结构的特点是每个蝶形输出数据仍然放在原来输入数据存储单元内,这样只需要2N个存储单元FFT中数据是复数形式,每点需要两个单元存储,N是FFT运算点数。其缺点是不同级同一位置蝶形输入数据寻址不固定,难以实现循环控制。用FPGA编程时难以并行实现,数据处理速度慢。当FFT点数增加时更是如此。0062通过观察传统结构FFT算法可以发现,如果将第一级中间两个蝶形交换,则可以得到如图4所示结构。对此结构进一步变换,将第二级输出不送回原处而是将其存储起来并按顺序存放,则第三级中间两个蝶形跟着调换,并把输入按顺序排列,则可构成如图5所示高速并行FFT处理结构。在蝶形变换同时,其旋转因子亦跟随变换。0063这

22、种结构输入是顺序的,而输出是位码倒序的,每级旋转因子都被存放在FPGA片内ROM里,其中旋转因子的寻址是关键。由以上FFT结构图变换过程可推导每级旋转因子寻址规律,对于N点的FFTN2K,K为级数,旋转因子有共N/2个,将它们按位码倒序形式排成一个含有N/2个元素的数组计为0064则第I级I0,1,2,K1的旋转因子排列顺序是将W0,W1,W2,W2I重复2KI1次得到的。此结构特点是每级输入、输出数据顺序不变,因此每级几何结构固定,易于用FPGA实现并行FFT硬件结构,从而明显加快FFT运算速度。0065【FPGA硬件实现】0066FPGA器件的特点是可用硬件描述语言对其进行灵活编程。利用F

23、PGA厂商提供的说明书CN101937424ACN101937425A6/6页8软件可仿真硬件的功能,使硬件设计如同软件设计一样灵活方便。缩短了系统研发周期。利用JTAGJOINTTESTACTIONGROUP接口可对其进行ISPINSYSTEMPROGRAMMABLE,在系统编程提高了系统的灵活性。随着芯片集成度的提高,单片FPGA内不仅拥有大量的逻辑单元而且还能集成RAM、ROM、I/O及DSP块等,从而使SOCSYSTEMONACHIP,片上系统成为现实。本发明采用的是ALTERA公司的STRATIX系列芯片EP1S25F7805,用QUARTUSII软件做硬件仿真和逻辑分析,并将输出结

24、果与MATLAB理论运算结果进行了比较。系统结构框图如图6所示。本系统的结构特点是00671为提高数据精度,系统全部用16位宽。用DATAARRAY,WRITEARRAY和FLYARRAY三个数组实现了内核的并行处理,可在10个时钟周期内算完32点复FFT。时钟周期为25纳秒,因此32点FFT只需250纳秒。00682实现了数据的流水输入输出。在计算第I组数据同时,第I1组数据FFT结果正在串行输出,第I1组数据则正在串行输入。因为内核计算是并行的、速度快,输入带宽大。本系统数据输入速率可达200MHZ。为验证设计的正确性,下面对其进行仿真,输入信号如下0069XNSIN2NPI/47SIN2

25、NPI/163WNN0,1,23160070仿真数据由两个正弦波信号叠加噪声构成,信噪比为3DB,正弦信号频率分别为0213FS与0061FS,FS1为归一化采样频率,WN是均值为0方差为1的高斯噪声。系统仿真波形如图7所示。0071将FPGA输出的FFT运算结果和用MATLAB计算的FFT理论结果进行比较,如图8、9所示。仿真信号采用的是实信号,其频谱具有对称性,图中只画了32点仿真结果的一半即前16点输出结果。说明书CN101937424ACN101937425A1/5页9图1图2说明书附图CN101937424ACN101937425A2/5页10图3图4说明书附图CN101937424ACN101937425A3/5页11图5图6说明书附图CN101937424ACN101937425A4/5页12图7图8说明书附图CN101937424ACN101937425A5/5页13图9说明书附图CN101937424A

copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1