日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于FPGA的FFT/IFFT處理器的實現(xiàn)
基于FPGA的FFT/IFFT處理器的實現(xiàn)
 更新時間:2008-8-4 4:22:02  點擊數(shù):21
【字體: 字體顏色


     摘  要:提出一種利用并行算法來實現(xiàn)FFT(快速傅里葉變換)及其逆變換IFFF(快速傅里葉逆變換)的設(shè)計方法。該處理器可由用戶動態(tài)配置成64、256、1024點復(fù)數(shù)FFT或其逆變換IFFT。
    關(guān)鍵詞:FPGA,F(xiàn)FT,IFFT

1 引言
    高速實時數(shù)字信號處理對系統(tǒng)性能要求很高,因此,幾乎所有的通用DSP都難以實現(xiàn)這一要求?删幊踢壿嬈骷试S設(shè)計人員利用并行處理技術(shù)實現(xiàn)高速信號處理算法,并且只需單個器件就能實現(xiàn)期望的性能。在數(shù)據(jù)通信這樣的應(yīng)用中,常常需要進行高速、大規(guī)模的FFT及其逆變換IFFT運算。當通用的DSP無法達到速度要求時,唯一的選擇是增加處理器的數(shù)目,或采用定制門陣列產(chǎn)品,F(xiàn)在,隨著微電子技術(shù)的發(fā)展,采用現(xiàn)場可編程門陣列(FPGA)進行數(shù)字信號處理發(fā)展迅速。采用現(xiàn)場可編程器件不僅加速了產(chǎn)品上市時間,還可滿足現(xiàn)在和下一代便攜式設(shè)計所需要的成本、性能、尺寸等方面的要求,并提供系統(tǒng)級支持。本文研究了基于FPGA的FFT及其逆變換IFFT處理器的硬件電路實現(xiàn)方法。在系統(tǒng)時鐘頻率為100MHz時,1024點復(fù)位FFT的計算時間只需要10μs左右。
2 基4 FFT/IFFT算法
    序列x(n),n=0,...,N-1的離散傅里葉變換為:

這說明IFFT可以由FFT求出。因此,F(xiàn)FT和IFFT處理器可以用統(tǒng)一的硬件結(jié)構(gòu)來實現(xiàn)。
    對于FFT,設(shè)序列x(n)的長度為N=4p(p為整數(shù)),則基4頻率抽取蝶菜運算單元方程為:


3 FFT/IFFT的硬件實現(xiàn)
    我們采用Xilinx公司的Virtex-II系列FPGA來實現(xiàn)FFT/IFFT處理器。
3.1 蝶形運算單元結(jié)構(gòu)
    基4頻率抽取FFT計算一共包括了log4(N)級運算,其中,在每一級中包含了N/4個基4蝶形運算,蝶形運算器如圖1所示。
    Virtex-II系列FPGA有內(nèi)嵌18bit
×18bit 補碼乘法器以及大容量用戶可配置RAM,非常適合做大規(guī)模算術(shù)運算。圖1所示的蝶形運算器可以在一個時鐘周期內(nèi)完成一次基4蝶形運算。其中,操作數(shù)A、 B、C、D存放在RAM中,三個18位放置因子W1、W2、W3存放在ROM中。由于運算結(jié)果可能會超過原數(shù)據(jù),所以要進行量化移位[1][2]
3.2 并行運算結(jié)構(gòu)
    通用DSP的蝶算單元通常是從內(nèi)存中順序讀入四個操作數(shù)A、B、C、D,因而計算速度受到了很大限制。而使用FPGA可充分利用并行計算技術(shù)在一個時鐘周期內(nèi)并行讀取四個操作數(shù),以便完成一次基4蝶形運算。我們采用四對RAM×2(分別存放實部和虛部)來存儲蝶算中的操作數(shù)A、B、C、D。如圖2所示,處理器在每個時鐘周期從RAM中讀出數(shù)據(jù)A、B、C、D送入蝶形運算器(圖1)。運算結(jié)果AO、BO、CO、DO在下一個時鐘周期寫回原地址。


    圖2中的四對RAM×2的地址A0,A1,A2,A3分別對應(yīng)公式(3)中的n,n+4p-s-1,n+2×4p-s-1,n+3×4p-s-1。A0,A1,A2,A3可以按下述方法產(chǎn)生:
    設(shè)a,b為兩個遞減計數(shù)器,它們組成一個大的計數(shù)器Counter=a×4p-1+b。如圖3所示。

    ROTATEn(x,m)表示把x(n位二進制)循環(huán)左移m位。則圖2中四個操作數(shù)地址為:

    式(4)中每個地址對應(yīng)一個RAM
×2的入口地址。設(shè)操作數(shù)地址A的四進制表達式為A=(Kp-1...K1K04。定義Mk為A的所有四進制位數(shù)和除以4的余數(shù)

式(5)中,mod為求余運算。
    可以證明地址A0,A1,A2,A3的Mk值互不相同,取值范圍是0,1,2,3。因此我們采取如圖2所示的并行存儲結(jié)構(gòu):所有Mk=0的操作數(shù)都存放在RAMA中,Mk=1的操作數(shù)都存放在RAM B中,Mk=2的操作數(shù)都存放在RAM C中,Mk=3的操作數(shù)都存放在RAM D中。通過以上地址映射,我們可以在一個時鐘周期并行讀取四個操作數(shù)地址,完成蝶形運算。
3.3 放置因子的生成
    為了加快FFT/IFFT運算速度,我們采用查表的方式來得到放置因子W1,W2,W3(圖1),我們采用3對ROM×2(實部和虛部)來存放復(fù)數(shù)W1,W2,W3,三個ROM的入口地址都為c?梢宰C明,把圖3中的計數(shù)器b的低2(p-a-1)位都置為0所得到的值即為c的值。即:

3.4 FFT/IFFT芯片整體結(jié)構(gòu)
    FFT/IFFT芯片整體結(jié)構(gòu)如圖4所示。在式(2)中討論過,我們可以用FFT來計算IFFT,只需要先求出輸入序列的共軛X*(k),然后進行正常的蝶形運算,在輸出時再進行一次求共軛運算。所謂復(fù)位的共軛是對它的虛部取反,實部不變。因此,我們可以把處理器動態(tài)地配置成FFT或其逆變換IFFT。為了充分利用I/O帶寬、連續(xù)地進行FFT/IFFT。為了充分利用I/O帶寬、連續(xù)地進行FFT/IFFT。我們采用了乒乓緩沖存儲結(jié)構(gòu),如圖4所示。由于FFT/IFFT計算采用的是同址計算,每次蝶形運算結(jié)果要寫回原地址中,所以,RAM X和RAM Y有輸入和工作兩種模式。這里,我們把RAM X和RAM Y配置成乒乓結(jié)構(gòu),當RAM X處于工作模式時,RAM Y處于輸入狀態(tài)。當一次64/256/1024點FFT/IFFT完成后,RAM X和RAM Y將自動切換到另一個狀態(tài)。這樣,輸入序列就可以連續(xù)地輸入到FFT/IFFT處理器中進行變換,以達到實時處理的要求。輸出結(jié)果存放在RAM Z中,可以由用戶讀出。
4 測試結(jié)果
    這個電路采用Verilog HDL完成設(shè)計,采用Virtex-II XC2V250實現(xiàn)。使用Vilinx ISE4.2i完成整套流程,圖5是部分仿真波形(modelsim+sdf)。在系統(tǒng)時鐘為100MHz時,完成一次1024點復(fù)數(shù)FFT/IFFT需要12.8μs。相比之下,TI公司的TMS320C67(主頻167MHz)需要120μs,AD公司的ADSP21160(主頻100MHz)需要90μs。可見,基于FPGA的FFT/IFFT處理器由于其硬件上的并行性,速度遠遠快于一般的通用DSP。
5 結(jié)束語
    FPGA具有成千上萬的查找表和觸發(fā)器,因此,F(xiàn)PGA平臺可以利用更低的成本達到此通用DSP更快的速度。采用FPGA技術(shù),還可以獲得高性能,滿足成本要求,并享有快速有效地對新設(shè)計進行優(yōu)化的靈活性。針對這一特性,本文研制了一種基于并行算法的FFT/IFFT處理器,可以廣泛應(yīng)用在高速信號處理系統(tǒng)中。



參考文獻

1 W.R.Knight and R.Kaiser.A Simple Fiexed-Point Error Bound for the Fast Fourier Transform.IEEE Trans.Acoustics,Speech and Signal Proc.,Dec,1979 Vol.27,No.6:615~620
2 L.R.Rabiner and B.Gold.Theoty and Application of Digital Signal Processing.Prentice-Hall Inc.,Englewood Cliffs,New Jersey,USA,1975
3 M C Pease.Organization of Large Scale Fourier Process-ors.Journal of ACM.1969,16(3):474~482
4 Per Holmberg.采用FPGA創(chuàng)建高性能DSP應(yīng)用.電子產(chǎn)品世界,2001(7)

[1] [2] [3]  下一頁
  • 上一篇: 分戶熱計量供熱系統(tǒng)中的分戶溫度模糊控制
  • 下一篇: 減小速率積分陀螺漂移誤差的方法
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1