基于FPGA的级联结构FFT处理器的优化设计.docVIP

基于FPGA的级联结构FFT处理器的优化设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的级联结构FFT处理器的优化设计   摘 要:为了减少级联结构FFT处理器对缓冲存储器需求量,提出一种基于FPGA用基[CD*2]16和基[CD*2]2、基[CD*2]4、基[CD*2]8组合的混合基算法实现FFT处理器的设计方案。在1 024点FFT处理器的实现过程中,用优化的基[CD*2]4蝶形运算核搭建了级联结构的基[CD*2]16蝶形运算核,并将对同一个地址进行读和写的双端口RAM和乒乓结构的单端口RAM结合使用,从而在不增加逻辑单元使用和保证运算速度的情况下,大大减少了存储单元的使用量。??   关键词:快速傅里叶变换;FPGA;基[CD*2]16算法;混合基算法;级联结构??   中图分类号:TP274      0 引 言??      数字信号处理主要研究采用数字序列或符号序列表示信号,并用数字计算方法对这些序列进行处理,以便把信号变换成符合某种需要的形式。在现代数字信号处理中,最常用的变换方法就是离散傅里叶变换(DFT),然而,它的计算量较大,运算时间长,在某种程度上限制了它的使用范围。快速傅里叶变换(FFT)的提出使DFT的实现变得接近实时,DFT的应用领域也得以迅速拓展。它在图像处理、语音分析、雷达、声纳、地震、通信系统、遥感遥测、地质勘探、航空航天、生物医学等众多领域都获得极其广泛的应用。随着??FPGA??技术的高速发展以及EDA技术的成熟,采用??FPGA??芯片实现FFT已经显示出巨大的潜力。??   目前用FPGA实现的FFT处理器结构大致分为四种:递归结构、级联结构、并行结构和阵列结构????[2[CD*2]6]??。递归结构只利用一个碟形运算单元对数据进行规律的循环计算,使用硬件资源较少,但运算时间较长。级联结构每一级均采用一个独立的碟形运算单元来处理,相对递归结构速度上有所提高,不足之处是增加了延时用的缓冲存储器使用量。并行结构对一级中的蝶形单元并行实现,阵列结构是将每一级的蝶形运算单元全部并行实现,这两种结构有很高的运算速度,但消耗的资源过大,一般不采用。为了提高运算速度,特别是为了适应多批数据处理,一般采用级联结构实现FFT处理器。??      1 FFT整体结构设计??      在FFT算法中,目前大多使用基[CD*2]2和基[CD*2]4算法实现级联结构的FFT处理器,除此之外,也可采用?┗?[CD*2]8??和基[CD*2]16算法来实现。随着基数的增大,对于相同点数的离散数列,处理器所分的级数越少,对缓冲存储器的需求也越小,因此考虑采用基[CD*2]16算法来实现FFT处理器,但基[CD*2]16算法只能实现离散数列点数是16的??p??次幂的FFT????[7]??。从而,引入混合基思想来改进基[CD*2]16算法。??   设??x(n)为N??点有限长序列,其DFT为   设??r??1=16??p,r??2=N/16??p=2,4,8,式(2)先将原非16的p次幂的N点??FFT??分解为16??p点的??FFT??;再分解为N/16??p点的??FFT??。首先对输入信号进行16??p点的??FFT??运算,然后将结果乘以一个旋转因子W????????n??0k??0??????N,最后将计算出的数据进行一次N/16??p?У?FFT运算,得到的结果即为所需要的??N??点FFT运算结果。这样处理,既能减少分解的级数,又能使计算离散数列点数只需是??2的??整数次幂即可。以1 024点为例,只需分解成两级?┗?[CD*2]16??运算模块和一级基[CD*2]4运算模块即可实现,其FFT处理器结构图如图1所示。在此结构图的前端增加/减少?┗?[CD*2]16??运算模块或将最后一级基[CD*2]4运算模块改为基[CD*2]2或基[CD*2]8运算模块,就可以实现其他离散数列的点数只需是2的整数次幂的FFT运算。??      2 蝶形运算核的实现??      2.1 基[CD*2]16蝶形运算核??   如果直接将基[CD*2]16蝶形运算公式转换到硬件中实现基[CD*2]16运算核,其结构将十分复杂的????\[9,10\]??。因此,采用易实现的频域抽选基[CD*2]4算法来实现频域抽选基[CD*2]16蝶形运算核。由基[CD*2]4蝶行运算单元实现的基[CD*2]16蝶行运算单元如图2所示。??   采用并行流水结构实现的基[CD*2]16运算核,一个数据时钟可处理16个数据。而每次蝶形运算在一个数据时钟内只需要计算出一个结果,这将造成资源浪费。因此,采用级联结构实现的基[CD*2]16蝶形运算核,用两个?┗?[CD*2]4??蝶形运算核分别复用4次来实现每一级中的四个蝶行运算,中间用?┮桓霆?串行出入/输

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档