基于FPGA的FFT算法设计与实现.doc文档下载40页
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
这种方法具有软件设计的多用性的优点,能够适用于各种需要运算来进行信号处理的应用场合,灵活方便。
但是,通用处理器构成的处理机采用循环编码算法,程序量小,但存在大量的冗余运算需要许多的跳转操作,处理速度较慢,因此难以满足现代数字信号处理高速实时性和大规模的要求。
利用专用的芯片或实时性的要求和芯片设计的灵活性集合起来,实现并行算法与硬件结构的优化配置,提高的处处理器。
在很多应用领域都要求处理器具有高精度高速度容量大和实时处理的性能。
因此,使变得更迅捷更灵活也变得越来越重要。
近年来,现场可编程门列阵以其高性能高灵活性友好的开发环境在线可编程等特点,使得基于的设计可以实时满足数字信号处理的要求,在市场竞争中具有很大的优势。
这也使得采用并行度更大速度更快的芯片来实现成为了速度更快的芯片来实现成为了必然趋势。
因此,自主研发基于芯片的,把的设计可以实时满足数字信号处理的要求,在市场竞争中具有很大的优势。
近年来,现场可编程门列阵以其高性能高灵活性友好的开发环境在线可编程等特点,使得基于部分内容简介语音识别雷达处理遥感遥测数字通信频谱分析等众多领域,在不通的应用场合中,需要不同性能要求的处理器。
在很多应用领域都要求处理器具有高精度高速度容量大和实时处理的性能。
因此,使变得更迅捷更灵活也变得越来越重要。
近年来,现场可编程门列阵以其高性能高灵活性友好的开发环境在线可编程等特点,使得基于的设计可以实时满足数字信号处理的要求,在市场竞争中具有很大的优势。
这也使得采用并行度更大速度更快的芯片来实现成为了必然趋势。
因此,自主研发基于芯片的,把实时性的要求和芯片设计的灵活性集合起来,实现并行算法与硬件结构的优化配置,提高的处理速度,使其满足现代信号处理的高速度高可靠性的要求,成为了现如今我国数字信号处理的个研究点。
鉴于这种趋势,作者将给予的设计与实现作为研究课题进行研究。
算法的发展现状快速傅里叶变换作为离散傅里叶变换的种快速算法,他并不是种新的变换。
由于直接计算时,的计算量和变换区间长度的平方成正比,因此当较大时,计算量也会变得很大,所以在出现之前,直接用算法进行实时处理是很不切实际的。
直到年美国库利和图基提出快速算法,这种情况才得到了相应的解决,自算法突出到现在也已有四十多年的历史,已有了多种算法,其算法理论也已经非常成熟。
从算法理论的发展上看,主要有两个方向组合数算法,针对变换点数等于的整数次幂,如基算法基算法基算法实因子算法分裂基算法及任何组合因子算法,二〇〇八年十二月二十六日星期五利用系数的周期性和对称性,使长序列的分解成更小点数的,从而大大减少了运算的工作量。
不等于的整数次幂的算法,以维诺格兰德为代表类傅里叶变换算法,利用下标映射和数论以及近代数学的只是,去掉级间的旋转因子,从而减少运算量。
处理器的发展现状处理器是算法的硬件实现,针对其硬件实现方案,主要有三种途径利用通用数字信号处理芯片来实现处理器针对般数字信号处理算法的实现,采用通过可编程硬件处理器技术来实现。
这种方法具有软件设计的多用性的优点,能够适用于各种需要运算来进行信号处理的应用场合,灵活方便。
但是,通用处理器构成的处理机采用循环编码算法,程序量小,但存在大量的冗余运算需要许多的跳转操作,处理速度较慢,因此难以满足现代数字信号处理高速实时性和大规模的要求。
利用专用的芯片或用户定制的专用的集成电路来实现针对的特有算法,用专用的硬件组成专用的芯片来实现。
在些特殊功能上表现的相当好,这种实现方式速度快,可靠性高,非常符合实时处理和可靠性要求高的信号处理系统,但专用的芯片不能重新组态,且可编程能力有限。
利用可编程逻辑器件来实现以为代表随着技术的全面普及,以及算法在各个科学领域的广泛应用,使用芯片设计算法正在世界范围内兴起。
芯片具有在线可编程能力硬件结构可重构的特点,适合于算法固定运算量大的数字信号处理。
新近推出的产品都可采用多层布线结构,更低的核心电压,更丰富的输入输出管脚,更大容量的逻辑单元,内置嵌入式资源,内部集成多个数字锁相环,嵌入多个硬件乘法器,所有的这些特点都使得在数字信号处理领域中显示出自己独有的优势。
因此,利用来实现变得更有意义。
实现的优越性由于成本系统功耗和面市时间等各种原因,许多视频通讯和图像系统已无法简单的利用处理器来实现,基于的信号处理器已广泛应用于各种信号处理领域。
所固有的灵活性和性能可以让设计者紧跟新时代新标准的变化,并且能提供可行的方法来满足不断变化的要求。
与相比,实现的主要优越性有利用实现数字信号处理最显著的特点就是高速性能好。
有内置的高速乘法和加法器,尤其适用于乘法和累加等重复性的任务。
二〇〇八年十二月二十六日星期五的储存量大。
目前,高档的中有大量的高速存储器,不需要外接存储器便可以实现的实时处理运算,其速度更快,电路也更简单稳定,集成度和可靠性野大幅提高。
是硬件可编程的,因此也比更加灵活。
往往需要外部的接口和控制芯片配合工作,则不需要,这样使得硬件更简单和小型化。
在对和进行比较时,个及其重要的系统参数是输入输出带宽。
除了些专用引脚外,上几乎所有的引脚均可供用户使用,这使得信号处理方案具有非常高性能的输入输出带宽。
大量的输入输出引脚和多块存储器可让系统在设计中获得优越的并行处理性能。
本文研究的主要内容及主要工作本文主要针对基顺序处理的处理器的实现进行了研究,涉及算法选取处理器结构设计系统仿真实现和系统测试。
本论文共章,各章的具体内容如下计方法。
二〇〇八年十二月二十六日星期五是业界公认的专用仿真工具,它可以对公司的全部产品进行高精度的仿真验证。
是最基本的仿真验证手段,其主要作用是例化待测试的设计通过测试向量进行仿真输出仿真结果。
是个具有结构的模块,其结构包括激励生成和监视待测系统和响应显示器三个部分。
软件具有辅助设计测试激励的功能。
根据设计源文件的模块名称与输入输出端口生成测试激励文件模板,使用模板书写测试激励,省去了许多格式化部分,如文件头测试激励模块名测试激励端口信号待测模块的调用和部分信号的初始化等部分。
在本文所设计的系统的功能验证中,处理器的输入端口高达个,且测试激励多次变化,同时还需要提供时钟信号。
在这种情况下,考虑首先在测试代码中申明个,将所有测试激励作为个二进制文件单独保存,在功能验证运行时,将此文件读入到此中,然后由测试模块提供正确的时序信息,将此的内容提供给待测模块的接口。
这样将测试激励与时序明显分开,便于编写,也便于修改。
仿真测试结果及分析信号在中的处理,。
系统的输入函数为,点数,采样频率为,即采样间隔为,采样的时间长度为。
在中实现处理的程序描述如下该正弦信号通过点的处理结果如图所示,其中,上图表示原信号,中图表示序列通过处理后的实部值,下图表示序列通过处理后的虚二〇〇八年十二月二十六日星期五部值。
图正弦信号点在中实部与虚部结果信号在中的处理在平台下编写波形测试文件,先将输入的原始数据存储在文件数据以补码二进制形式存储中,作为测试激励文件,在波形仿真时调用该文件即可完成输入。
点的计算结果分别以文本文件和模拟波形文件形式输出。
部分描述如下经过仿真运行,计算结果的实部和虚部分别存储到,文本文件中。
图所示图为正弦信号输出结果的总体仿真图。
二〇〇八年十二月二十六日星期五图在中仿真图上述结果的比较图为处理器与计算的理论值的相对误差图。
上图是实部误差,下图是虚部误差。
图仿真输出与理论值间的误差从图中可以看出,实部和虚部数据相对误差大部分控制在左右,有几个数据的相对误差在左右,稍微大些,但总体上符合精度要求。
这表明采用块浮点结构可以达到定的处理精度。
结束语随着数字信号技术的飞速发展,因为它的各种优点而日益收到数字信号系统设计的青睐。
处理器是数字信号处理中最重要的基本单元之,目前世界上的实现方案主要有等。
本文以基于的设计与实现作为选题,采用基时间抽取的算法,对此进行了详细的研究。
在此过程中,掌握了设计的基本流程,学会了仿真工具的使用,熟悉了的编程和设计过程。
在对算法结构以及相关计算数据流动特点的仔细分析的基础上,完成了整个处理器的设计仿真综合与实现,与实现结果相比,运算结果良好。
其中,蝶形运算采用流水线结构,加快了的处理速度溢出控制采用二〇〇八年十二月二十六日星期五块浮点结构,相对提高了的运算精度算法基于正序输入倒序输出的方式,减少旋转因子的读取次数,降低了处理器功耗数据的存储和读取采用乒乓结构,配合蝶形运算的流水线工作方式,保证了数据的流水处理并且乘法器使用内嵌硬件资源实现,提高了芯片资源利用率,优化了系统设计。
本设计在芯片上得到了实现,所研究的处理器取得了定的成果,块浮点处理的相对误差大部分控制在左右,基本符合要求。
但在许多方面仍需要做进步的改进基顺序处理与基流水线处理相比,速度上存在相当大的差距块浮点运算与浮点运算相比,精度还有待提高采用多个蝶形运算单元并行运算,提高系统时钟性能进步优化设计,提高外部时钟频率,的工作速度会有所提高。
致谢时间如梭,转眼毕业在即。
回想在大学求学的四年,心中充满无限感激和留恋之情。
感谢母校为我们提供的良好学习环境,也感谢所有教导过我的老师帮助过我的同学们,因为你们,我才能收获如此充实愉悦的大学生涯。
我由衷地感谢陈健老师与曾会硕士戴玺硕士在我大学科研生涯中给予我的指导和帮助。
特别是本课题的整个研究进程,从选题到研究过程中都得到老师和硕士前辈的悉心指导,帮助我开拓研究思路,精心点拨热忱鼓励。
老师和前辈丝不苟的作风,严谨求实的态度,踏踏实实的精神,将使我受益终生。
在与导师和前辈相处的每天都很快乐,很留恋与你们相处的每天。
对老师和前辈的感
