- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FFT谱分析测频算法FPGA实现
基于FFT谱分析测频算法FPGA实现 摘 要:在FPGA实验中,主要是用FPGA来实现FFT,使其完成对信号的频谱分析。实验中设计流水线结构FFT,主要是进行蝶形单元的设计;旋转参数生成;FFT系统仿真测试。 关键词:FPGA;QuartusⅡ;FFT处理器 1 实验原理及步骤 1.1 QuartusⅡ开发环境 QuartusⅡ是Altera公司提供的FPGA/CPLD集成开发软件,在QuartusⅡ上可以完成设计输入、HDL综合、布新布局(适配)、仿真和选择以及硬件测试等流程,它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、开始处理和器件编程。QuartusⅡ具备仿真功能,同时支持第三方的仿真工具(如ModelSin)。此外,QuartusⅡ与MATLAB和DSP Builder结合,可用进行基于FPAG的DSP系统开发,是DSP硬件系统实现的工具EDA工具。 FFT算法种类很多,基本上可分为两大类:一类是针对N等于2的整数次幂的算法,如基2算法、基4算法和分裂基算法等;另一类是针对N不等于2的整数次幂的算法,以Winograd为代表,它们有重要的理论价值,但是不适于硬件实现。基2算法结构简单,但运算量大。基4算法相对于基2算法更为复杂,但是计算量减少了。FFT算法按分解方式的不同又可以分为时域抽取算法(decimation in time,DIT)和频域抽取算法(decimation in frequency,DIF)两种。这两种算法在本质上都是一种基于标号分解的算法,在运算量和复杂性等方面完全一样。考虑到本设计FFT运算的点数不是太多,故选用了时域抽取基2算法(DIT)。 1.3 按时间抽取的基-2FFT算法(DIT-基2-FFT)原理 FFT算法由多级蝶形运算构成,具体运算流图也有多种形式。本设计选用了输入倒序、输出顺序的运算流图,图3所示为N=8点时的DIT-FFT运算流图。这种运算流图是同址运算,其优点是:在同一级运算中, 每个蝶形的两个输入数据只对计算本蝶形有用,而且蝶形的输入输出数据节点又同在一条水平线上,这就意味着计算完一个蝶形运算后,所得输出数据可以立即存入元出入数据所占用的存储器。因此,在硬件实现时可以节省存储单元。 1.4 FFT处理器结构设计 FFT算法的FPGA硬件实现在Altera公司的MAX+plusⅡ系统环境下开发完成,选用基于查找表结构内嵌存储器的APEX20系列FPGA器件。图4为FFT处理器的结构图。本设计采用单元结构设计思路,整个处理器由数据接收单元、运算单元、旋转因子存储单元、地址产生单元和中央控制单元5个单元组成,各单元在中央控制单元的控制下协调工作。其中,内部接收单元采用乒乓RAM结构,扩大了数据吞吐量,计算单元采用流水与并行结合的结构,加快了运算速。 1.5 中央控制单元 中央控制单元是整个系统的控制核心,其主要功能是控制数据流向,协调各单元之间的运行。中央控制单元根据系统时钟确定当前蝶型运算所处的级数m和个数n,并把m、n传送给地址产生单元。地址产生单元产生蝶型运算两个输入数据和旋转因子的地址,并把地址传送给运算RAM和旋转因子存储器。在中央控制单元读使能信号控制下两个输入数据和旋转因子被读出。读出的数据进行必要的延迟和定标处理后,送给运算单元。经过蝶型运算后,运算结果按原址写入RAM。 1.6 数据接收单元 数据接收单元主要功能是按帧接收外部数据,并将每帧数据按码位倒置的顺序乒乓存入接收RAM1或接收RAM2。中央控制单元交替的对接收RAM中的数据进行处理,当中央控制单元将接收RAM1中的数据取出,经过蝶型运算,结果存入运算RAM1的同时上一帧数据的FFT运算结果从运算RAM2取出。接收RAM用FPGA的片上双口RAM实现,接收单元控制写端口,中心控制单元控制读端口。 1.7 运算单元 运算单元由蝶型运算器和运算RAM组成。蝶型运算器完成对输入数据的蝶型运算,运算RAM作为FFT的中间数据缓存。蝶型运算器输入数据为A=Ap+Aqj,B=Bp+Bqj,旋转因子WrN=Wp+Wqj,蝶型运算输出如式(3)所示。根据式(3),蝶型运算器可由一个复数乘法和两个复数加(减)法器组成。为了提高运算速度采用并行运算,用四个实数乘法器、三个实数加法器、三个实数减法器组成。蝶型运算器实现框图如图5所示。蝶型运算各个模块利用MAX+plusⅡ开发软件中所提供的宏单元生成。 运算RAM1和运算RAM2作为FFT的中间数据缓存。两块RAM交替作为数据读出和运算结果写入单元,直到第6级蝶型运算完成。 1.8 旋转因子存储单元 旋转因子存储单元,存储FFT运算所需要的旋转因子WrN,WrN=e(-j2?仔/N
您可能关注的文档
最近下载
- 明星大侦探雨中钟楼.pdf VIP
- 2025人教英语三年级上册Unit2Different families单元测试.pdf VIP
- 等级保护三级等保2.0与等保1.0对比.docx VIP
- 《装配式装修标准化模块化设计 》课件——模块二:装配式装修墙面部品体系.ppt VIP
- 《装配式装修标准化模块化设计 》课件——模块一:概论.ppt VIP
- 《装配式装修标准化模块化设计 》课件——模块六:集成厨房部品体系设计装配式装修.ppt VIP
- 《德国与中国学前教育的异同.doc VIP
- 《装配式装修标准化模块化设计 》课件——模块七:装配式装修卫浴部品体系设计.ppt VIP
- 《装配式装修标准化模块化设计 》课件——模块九:装配式装修智能家居体系设计.ppt VIP
- 《装配式装修标准化模块化设计 》课件——模块十:装配式装修收纳家具体系设计.ppt VIP
文档评论(0)