基于fpga实现高速fft处理的方法

文档序号:6474955阅读:228来源:国知局

专利名称::基于fpga实现高速fft处理的方法
技术领域
:本发明公开了一种应用FPGA芯片实现高速FFT处理的方法,它涉及数字信号处理领域。
背景技术
:DFT(DiscreteFourierTransfer)及其快速算法FFT是数字信号处理领域的核心组成部分,FFT算法多种多样,按数据抽取方式不同又可分为基2、基4等。各算法优缺点视不同制约因素而不同。FFT实现方法也多种多样,可以用软件实现,也可以用硬件实现。用软件在PC机或工作站上实现则计算速度很慢,一般多结合具体系统用硬件实现,例如用单片机或DSP(DigitalSignalProcess)处理器实现,但是速度仍然不能满足某些应用领域的需求,难以与快速的A/D器件匹配。在雷达、电子对抗等应用领域追求运算速度,对实时性要求非常高。FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL(ProgrammableArrayLogic)、GAL(GateArrayLogic)、EPLD(EmbeddedProgrammableLogicDevice)等可编程器件的基础上进一步发展的产物,具有更高的集成度、更强的逻辑实现能力和更好的设计灵活性。FPGA由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接起来实现不同的设计,它是作为专用集成电路(ASIC,ApplicationSpecificIntegratedChip)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。近些年来,FPGA技术发展迅速。一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出。另一方面,出现了许多FPGA设计辅助工具,这些工具大大提高了以FPGA为基础的新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。数字信号处理中,设输入信号X(η)是长为N的复序列,其DFT(DiscreteFourierTransfer)定义为权利要求一种基于FPGA实现高速FFT处理的方法,其特征在于离散傅里叶变换X(k)与输入信号x(n)构成了离散傅里叶变换对,都是长为N的复序列,序列长度N是2的整数幂次方,即N=2M,其中M为正整数,其中k、n分别表示离散傅里叶变换X(k)与输入信号x(n)的序列;首先将离散傅里叶变换x(n)分解为二组,偶数项为一组,奇数项为一组,得到两个N/2点的子序列,即x1(r)=x(2r),x2(r)=x(2r+1),(0≤r≤N/21)(1)<mrow><mi>X</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>DFT</mi><mo>[</mo><mi>x</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>]</mo><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>x</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><msubsup><mi>W</mi><mi>N</mi><mi>kn</mi></msubsup><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>r</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>/</mo><mn>2</mn><mo>-</mo><mn>1</mn></mrow></munderover><mi>x</mi><mrow><mo>(</mo><mn>2</mn><mi>r</mi><mo>)</mo></mrow><msubsup><mi>W</mi><mi>N</mi><mrow><mn>2</mn><mi>kr</mi></mrow></msubsup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>r</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>/</mo><mn>2</mn><mo>-</mo><mn>1</mn></mrow></munderover><mi>x</mi><mrow><mo>(</mo><mn>2</mn><mi>r</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msubsup><mi>W</mi><mi>N</mi><mrow><mi>k</mi><mrow><mo>(</mo><mn>2</mn><mi>r</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>利用式(2)可以写成<mrow><mfencedopen='{'close=''><mtable><mtr><mtd><mi>X</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>X</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msubsup><mi>W</mi><mi>N</mi><mi>k</mi></msubsup><msub><mi>X</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>X</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>N</mi><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>X</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mi>W</mi><mi>N</mi><mi>k</mi></msubsup><msub><mi>X</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mrow><mo>(</mo><mn>0</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>N</mi><mo>/</mo><mn>2</mn><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>其中X1(k)和X2(k)分别为x1(r)和x2(r)的DFT。FSA00000266303000012.tif全文摘要本发明公布了一种基于FPGA实现高速FFT处理的方法,所述方法如下离散傅里叶变换X(k)与输入信号x(n)构成了离散傅里叶变换对,都是长为N的复序列,将离散傅里叶变换X(k)与输入信号x(n)分解为短序列,偶数项为一组,奇数项为一组,得到两个N/2点的子序列。依次类推可得离散傅里叶变换的快速算法FFT,本发明通过改进FFT算法结构,得到一种高速并行FFT,从而使得FFT运算速度较传统方法有了很大提高。文档编号G06F17/14GK101937424SQ20101027899公开日2011年1月5日申请日期2010年9月10日优先权日2010年9月10日发明者王旭东申请人:南京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1