專利名稱::基于fpga實現(xiàn)高速fft處理的方法
技術(shù)領(lǐng)域:
:本發(fā)明公開了一種應(yīng)用FPGA芯片實現(xiàn)高速FFT處理的方法,它涉及數(shù)字信號處理領(lǐng)域。
背景技術(shù):
:DFT(DiscreteFourierTransfer)及其快速算法FFT是數(shù)字信號處理領(lǐng)域的核心組成部分,F(xiàn)FT算法多種多樣,按數(shù)據(jù)抽取方式不同又可分為基2、基4等。各算法優(yōu)缺點視不同制約因素而不同。FFT實現(xiàn)方法也多種多樣,可以用軟件實現(xiàn),也可以用硬件實現(xiàn)。用軟件在PC機或工作站上實現(xiàn)則計算速度很慢,一般多結(jié)合具體系統(tǒng)用硬件實現(xiàn),例如用單片機或DSP(DigitalSignalProcess)處理器實現(xiàn),但是速度仍然不能滿足某些應(yīng)用領(lǐng)域的需求,難以與快速的A/D器件匹配。在雷達、電子對抗等應(yīng)用領(lǐng)域追求運算速度,對實時性要求非常高。FPGA是英文FieldProgrammableGateArray的縮寫,即現(xiàn)場可編程門陣列,它是在PAL(ProgrammableArrayLogic)、GAL(GateArrayLogic)、EPLD(EmbeddedProgrammableLogicDevice)等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物,具有更高的集成度、更強的邏輯實現(xiàn)能力和更好的設(shè)計靈活性。FPGA由許多獨立的可編程邏輯模塊組成,用戶可以通過編程將這些模塊連接起來實現(xiàn)不同的設(shè)計,它是作為專用集成電路(ASIC,ApplicationSpecificIntegratedChip)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。近些年來,F(xiàn)PGA技術(shù)發(fā)展迅速。一方面,各種大容量、高性能、低功耗的可編程邏輯器件不斷推出。另一方面,出現(xiàn)了許多FPGA設(shè)計輔助工具,這些工具大大提高了以FPGA為基礎(chǔ)的新型集成電路的設(shè)計效率,使更低成本、更短周期的復雜數(shù)字系統(tǒng)開發(fā)成為可能。數(shù)字信號處理中,設(shè)輸入信號X(η)是長為N的復序列,其DFT(DiscreteFourierTransfer)定義為權(quán)利要求一種基于FPGA實現(xiàn)高速FFT處理的方法,其特征在于離散傅里葉變換X(k)與輸入信號x(n)構(gòu)成了離散傅里葉變換對,都是長為N的復序列,序列長度N是2的整數(shù)冪次方,即N=2M,其中M為正整數(shù),其中k、n分別表示離散傅里葉變換X(k)與輸入信號x(n)的序列;首先將離散傅里葉變換x(n)分解為二組,偶數(shù)項為一組,奇數(shù)項為一組,得到兩個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>Σ</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>Σ</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>Σ</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>≤</mo><mi>k</mi><mo>≤</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全文摘要本發(fā)明公布了一種基于FPGA實現(xiàn)高速FFT處理的方法,所述方法如下離散傅里葉變換X(k)與輸入信號x(n)構(gòu)成了離散傅里葉變換對,都是長為N的復序列,將離散傅里葉變換X(k)與輸入信號x(n)分解為短序列,偶數(shù)項為一組,奇數(shù)項為一組,得到兩個N/2點的子序列。依次類推可得離散傅里葉變換的快速算法FFT,本發(fā)明通過改進FFT算法結(jié)構(gòu),得到一種高速并行FFT,從而使得FFT運算速度較傳統(tǒng)方法有了很大提高。文檔編號G06F17/14GK101937424SQ20101027899公開日2011年1月5日申請日期2010年9月10日優(yōu)先權(quán)日2010年9月10日發(fā)明者王旭東申請人:南京航空航天大學