基于 fpga 的 fft 处理器设计

基于 fpga 的 fft 处理器设计

ID:5838210

大小:38.00 KB

页数:5页

时间:2017-12-25

基于 fpga 的 fft 处理器设计_第1页
基于 fpga 的 fft 处理器设计_第2页
基于 fpga 的 fft 处理器设计_第3页
基于 fpga 的 fft 处理器设计_第4页
基于 fpga 的 fft 处理器设计_第5页
资源描述:

《基于 fpga 的 fft 处理器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于FPGA的FFT处理器设计1.引言   随着数字技术的快速发展,数字信号处理已深入到各个领域。在数字信号处理中,许多算法如相关、滤波、谱估计、卷积等都可通过转化为离散傅立叶变换(DFT)实现,从而为离散信号分析从理论上提供了变换工具。但DFT计算量大,实现困难。快速傅立叶(FFT)的提出,大大减少了计算量,从根本上改变了傅立叶变换的地位,成为数字信号处理中的核心技术之一,广泛应用于雷达、观测、跟踪、高速图像处理、保密无线通信和数字通信等领域。    目前,硬件实现FFT算法的方案主要有:通用数字信号处理

2、器(DSP)、FFT专用器件和现场可编程门阵列(FPCA)。DSP具有纯软件实现的灵活性,适用于流程复杂的算法,如通信系统中信道的编译码、QAM映射等算法。DSP完成FFT运算需占用大量DSP的运算时间,使整个系统的数据吞吐率降低,同时也无法发挥DSP软件实现的灵活性。采用FFT专用器件,速度虽能够达到要求,但其外围电路复杂,可扩展性差,成本昂贵。随着FPGA发展,其资源丰富,易于组织流水和并行结构,将FFT实时性要求与FPGA器件设计的灵活性相结合,实现并行算法与硬件结构的优化配置,不仅可以提高处理速度,

3、并且具有灵活性高,开发费用低、开发周期短、升级简单的特点。针对某OFDM系统中FFT运算的实际需要,提出了基于FPGA的设计来实现FFT算法,并以16位长数据,64点FFT为例,在QuartusⅡ软件上通过综合和仿真。   2.FFT原理及算法结构   FFT是离散傅立叶变换(DFT)的快速算法。对于N点离散的有限长时间序列x(n),其傅里叶变换为:     完成N点的DFT需要N2次复数乘法和N(N-1)次复数加法。点数大时,计算量也大,所以难以实现信号的实时处理。FFT的基本思想是利用旋转因子WN的周期

4、性、对称性、特殊性以及剧期N的可互换性,将长度为N点的序列DFT运算逐次分为较短序列的DFT运算,合并相同项,大大减少了计算量。   FFT法分为两大类:一类是针对N=2的整数次幂的算法,如基2算法、基4算法、实因子算法和分裂算法等;另一类足N≠2的整数次幂算法,以winograd为代表的一类算法。硬件实现时,不仅要考虑算法运算量的大小,而且要考虑算法的复杂性和模块化。控制简单、实现规整的算法在硬件系统中要优于仅降低运算量的算法。现有FFT算法的FPGA设计方案基本上都是针对于第一类算法,而第二类算法尽管有

5、其重要的理论价值,但硬件不易实现。由于该设计点数不是太多,综合考虑FFT处理器的面积和成本,所以采用按时间抽取的基2快速傅立叶算法(基2DIT-FFT)。   对于长度为N=2m的序列x(n),其中m是整数,将x(n)按奇偶分成两组,即令:n=2r和n=2r+1,而r=0,1,…,N/2-1,于是:     所以A(k)和B(k)可完整表示X(k)。依次类推,可一直向前追溯到2点的FFT,这样整个N点的FFT算法分解成logN2级运算,每级有N/2个基2碟形运算。图1是N=8的DIT-FFT运算流图。   

6、 3.FFT处理器的结构设计   FFT实现的设计方案有顺序处理、级联处理、并行处理和阵列处理。顺序处理每次运算仅用一个蝶形单元,处理方式简单,运算速度较慢。级联处理、并行处理和阵列处理的速度较快,但占用资源较多。考虑到该设计运算点数较少,因此采用改进的顺序处理方案,在原有顺序处理的基础上对FFT处理过程中数据传输进行控制,使得该结构在继承原有顺序处理电路简单、占用资源较少优点同时又兼有级联处理运算速度较快的优点。采用自顶向下的方法对处理器模块化,其结构框图如图2所示。    4.模块设计与综合仿真   整

7、个FFT处理器是由存储器、蝶形运算单元、旋转因子单元、控制单元和数据控制单元绀成,各个单元通过控制单元产生的控制和使能信号进行工作。   4.1蝶形运算单元   蝶形运算单元是整个FFT处理单元的重要部分,直接影响整个FFT单元性能。基2时间抽取的蝶形信号流程图如图3所示,p和q为数据序号,xm(p)和xm(q)是第m级蝶形运算的输入,xm+1(p)和xm+1(q)是该蝶形运算的输出,W′N为相应的旋转因子。     由上式看出,一个基2蝶形运算要进行1次复乘、2次复加。为了提高运算速度采用并行运算,采用4

8、个实数乘法器、3个实数加法器和3个实数减法器组成。设输入数据:x1=x1_r+jx1_im,x2=x2_r+jx2_im,旋转因子为W′N=c-jd,则输出y1=y1_r+jy1_im和y2=y2_r+jy2_im。实现蝶型运算单元如图4所示。     数据格式选择定点16位二进制补码。设计时必须考虑乘法器速度,将会直接影响整个FFT处理单元的运算速度,该设计的乘法器利用QuartusII开发软件中所提供的宏单元

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。