您好,欢迎访问三七文档
快速傅立叶变换(FFT)的NiosII实现学校:华中科技大学院系:电气与电子工程学院专业:电气工程及其自动化作者:lwpo2008目录快速傅立叶变换(FFT)的计算机实现.................................................1摘要.....................................................................................................21.数字信号处理概论........................................................................31.1数字信号处理的概况..............................................................31.2快速傅里叶变换(FFT)概述...............................................32.快速傅里叶算法............................................................................32.1傅里叶变换..............................................................................32.1.1连续时间非周期信号.....................................................42.1.2连续时间周期信号.........................................................42.1.3离散时间非周期信号.....................................................42.1.4离散时间周期信号.........................................................42.2快速傅里叶变换(FFT).......................................................42.2.1快速傅里叶变换原理.....................................................42.2.2按时间抽取基2FFT算法..............................................53.基于FPGA的NIOSII实现.........................................................73.1NiosII软核配置过程...............................................................73.1.1系统的需求分析.............................................................73.1.2配置步骤.........................................................................83.2QuartusII综合..........................................................................83.3基于NiosIIFFT算法实现...................................................103.3.1位翻转(BITREVERSAL).......................................103.3.2蝶形运算单元...............................................................113.3.3旋转因子.......................................................................123.3.4软件框架实现...............................................................123.4C2H的原理与实现.............................................................134.AD9224的电路搭建....................................................................155.FFT整体实现...............................................................................166.系统测试与MATLB分析...........................................................176.1测试设备................................................................................176.2测试原理与步骤....................................................................186.2.1FFT函数的MATLAB的验证性测试.........................186.2.2系统与标准设备的比较测试......................................197.总结与改进方向..........................................................................218.参考文献.......................................................................................21华中科技大学电气与电子工程学院lwpo20082联系方式:lwp@smail.hust.edu.cn摘要随着数字电子技术的发展,数字信号处理的理论和技术广泛地应用于通讯、语音处理、计算机和多媒体等领域。快速傅里叶变换(FFT)使离散傅里叶变换的时间缩短了几个数量级,在数字信号处理领域被广泛应用。FFT已经成为现代信号处理的重要手段之一。现场可编程阵列(FPGA)是今年来发展迅速的新型可编程逻辑器件。随着它的不断应用和发展,也使电子设计的规模和集成度不断提高。基于FPGA的软核控制器(NIOSII)和FFT的实现具有高性能和高集成度,从而具有广泛的应用前景。本实验在分析了快速傅里叶算法的基础上,提出了一种时域抽取基2时间抽取FFT的FPGA实现。针对现有的FFT实现方案提出将算法转化成硬件(C2H)实现的改进方法,采用硬件实现,结合采用乒乓结构和流水线方式,提高了快速傅里叶变换的速度。除了完成C2H的设计之外,还嵌入ALTERA免费提供的NIOSII软核处理器,实现对采样速度的控制和对分析结果的显示,方便做实验时对信号进行分析。关键词:快速傅里叶变换(FFT)、FPGA、NIOSII、C2H华中科技大学电气与电子工程学院lwpo20083联系方式:lwp@smail.hust.edu.cn1.1.2.1.数字信号处理概论随着电子技术的发展,数字信号处理成为一门高速发展的学科,其实质就是将现实生活当中的模拟信号转换为数字信号并对转换后的信号进行相应的处理。1数字信号处理的概况过去这些算法是通过软件来实现的,缺点就是速度慢,延时大,效率低。后来随着大规模集成电路的发展,出现了DSP专用数字信号处理器,使数字信号处理实现了质的飞跃。这种DSP分两种处理器,一种为通用型,一种是专用型。通用DSP的灵活性好,功能强大,但处理速度比不上专用DSP。由于VLSI技术的高速发展,大规模可编程技术及标准单元ASIC技术成熟,百万门级芯片的设计都使得专用数字处理器的实现越来越有效和使用。与此同时,知识产权核(IP)的出现,使得经过验证的产品得以在可编程器件上实现复用和引用,提高了生产效率。2快速傅里叶变换(FFT)概述1822年法国数学家傅里叶提出的傅里叶分析在众多科学领域有着广泛应用。但是由于算法的复杂而提高了应用的门槛。1965年Cooley和Turkey提出了快速傅里叶变换算法,使得DFT的运算量大大减少,从而使得傅里叶分析真正得到广泛应用。2.快速傅里叶算法1傅里叶变换傅里叶指出,一个任意的周期函数()tx都可以分解为无穷多个不同频率正弦信号的和,这即是傅里叶级数。求解傅里叶系数的过程就是傅里叶变换。这是由法国工程师傅里叶1822年提出的。根据信号的连续性、离散性、周期性、非周期性,傅里叶变换可以分为四种不同的形式。华中科技大学电气与电子工程学院lwpo20082.1.1连续时间非周期信号连续时间周期信号在频域中得到的是连续非周期的频谱密度函数:()tx()Ωjx()()∫Ω−∞−∞=Ωdtetxtjjx;2.1.2连续时间周期信号连续时间周期信号当满足狄里克雷条件时在频域中得到的是离散非周期的傅里叶级数,傅里叶变换的系数为()tx()0Ωkx,是离散非周期函数。变换式为:()()∫Ω−−=ΩdtetxTTTktjk0221x02.1.3离散时间非周期信号离散时间非周期信号也称为序列,变换式为:()()∑∞∞−−=njjenxexωω2.1.4离散时间周期信号离散时间周期信号又称为离散傅里叶变换:()()∑−=−=102NnnkNjenxkxπ2.2.22快速傅里叶变换(FFT)1965年Cooley和Turkey提出了DFT的快速算法,使得DFT的计算方法得到大大地改善,从而改变了之前因见算量过大而未得到应用的状况,DFT才在实际中得到了广泛的应用,同时也促进了数字信号处理学科和应用的飞速发展。.1快速傅里叶变换原理令knNjeknπ2NW−=,则长度为N的有限长序列()nx的DFT为:4联系方式:lwp@smail.hust.edu.cn华中科技大学电气与电子工程学院lwpo2008,k=0,1,2,…,N-1()()∑−==10NnNknWnxkx仔细观察上式W矩阵,其中有个元素,由于W的周期性,其中只有N个独立的值。2N由Cooley和Turkey提出的基2FFT有效地减少了乘法的次数,下面具体讨论算法。5联系方式:lwp@smail.hust.edu.cn2.2.2按时间抽取基2FFT算法按DFT的定义得:∑−===10][]}[{][NnknNWnxnxDFTkx=∑∑−=−=+1n01n0][][NnknNNnknNWnxWnx为奇数为偶数=∑∑−=−=+++120r12N0)12(2]12[]2[NrkrNrkNWrxWrx=∑∑−=−=+1201202221][][NrNrrkNkNrkNWrxWWrx上式中使用了旋转因子具有周期性、对称性及可约性等三个性质。因此knNW][][][][][211201202/22/1kXWkXWrxWWrxkXkNNrNrrkNkNrkN+=+=∑∑−=−=由于和都隐含有周期性,且周期为,所以上式亦可以写成:][1kX][2kX2/N][][]2/[]2/[]2/[2122/1kXWkXNkXWNkXNkXkNNkN−=+++=++结合以上分析,可得N点的][kX][][][21kXWkXkXKN•+=][][]2/[21kXWkXNkXKN•−=+由以上两式可知,将序列按奇偶分解得到两个子序列和,就可以由两个子序列和对应的DFT合成序列xDFT,其
本文标题:FPGA FFT
链接地址:https://www.777doc.com/doc-5509720 .html